There are a few different times that your email auto messages will be matched and sent to your users. We'll look at each in turn:
- When you first put your message live: As soon as you set your message live we will immediately check for matching users and queue messages to be sent.
- Once each hour: In the case that your user hasn't logged in, we check once each hour to see if there are any messages that now match that user. If the message is in a campaign, this check is once every two hours. Time based messages frequently are sent under this condition.
- Only during times that you set. You can set a delivery window for your emails to be sent.
- When the messenger loads or a call to Intercom('update’) is complete.
We will trigger message matching for a GET https://api.intercom.io/conversations call with a user_id parameter and type=user parameter, though this is limited to once every 15 minutes per user. This means that if you use the REST API to send either data updates or event calls and want to trigger an immediate email message, you can make this call after your update or event call to trigger messages to be checked for that user.
Do auto messages ever get sent more than once to the same user?
In most cases auto messages will only be sent to any given user once. However, auto messages can sometimes send more than once to the same user if they belong to more than one company. This happens if you use company data in the message which causes the message to send to the same user one time for each company he or she belongs to.
Is it possible to recall an email once it's been sent?
No, it's not possible to delete or recall an email once it has been sent. You can delete manual in-app messages to prevent them from sending to any users that have not yet received them. You can pause an auto message to stop it from being sent to any additional users by email or in-app.