Send messages on a recurring schedule

Send messages to your customers at regular intervals, like once a month, on their birthday, or the week before an important moment.

Beth-Ann Sher avatar
Written by Beth-Ann Sher
Updated over a week ago

It’s easy to message your customers every time an event that you track occurs, but what if you want to send messages at a set interval, without an event as trigger?

Schedule based messaging lets you do just that. There are three ways to send scheduled messages to your customers:

  • Date attribute based — Send your customers a message based on a date that is specific to them, like every time their account is up for renewal.

  • Calendar based — Send a message to customers on a certain date every month (or week, or year), like a weekly summary of their progress every Friday.

  • Relative time based — Send a message based on when the customer last received the same message. For example, every 14 days.

Here’s how to send messages based on these different schedule types 👇

Date attribute

In the Rules tab, under “Triggers” select “+ Add event or date rule” and choose a user or company attribute that’s a date type, like “Subscription expires at” for example:

Then choose if the message should send before the date, on the date, or after the date:

And how many days before or after:

☝️ In this example, we’re sending a reminder about the user’s subscription expiring, so we’ve selected “7 days before the subscription expires”.

Now, under “Frequency and scheduling” select “Send every time the person matches the rules”:

This ensures that each time the user matches the filters (7 days before their subscription ends) they’ll receive the message, even if their subscription end date is updated:

Tip: You can also set this up to send just the first time a user matches the filters, or set a limit to the number of times it should send. 👌


For calendar based scheduling, you don’t need to select any date attributes to trigger the message, but you can still define any rules that a person must meet to receive the message. Then, under “Frequency and Scheduling”, choose ‘Send based on a fixed schedule if the person matches the rules”:

This is where you define the frequency at which the message should be sent. Choose from weekly, monthly or yearly:

And on which day, for example, every Friday, the last day of every month, or halfway through each year:


  • If you choose monthly, and select a day that doesn’t exist in all months (like the 31st) the message will be sent on the nearest matching date. For example, the 28th of February.

  • A person must match the audience rules on the date specified to receive the message.

Relative time

Relative scheduling lets you set how often a user should receive a message, relative to the last time they received it.

Under Rules, add any relevant page or audience rules as normal, then under “Frequency and Scheduling”, choose ‘Send every time the person matches the rules’:

Select how often they should receive it by defining a limit of “once per X days/weeks”, like "once every 6 weeks":

Note: For rule based messages (not event based) the maximum frequency is once per day. Learn more about sending messages more frequently by basing them on events.

Finally, select the limit at which the message should stop sending to your customers:


Scheduling different message types

It's not possible to schedule Banner messages — only Chats, Posts, Emails and Custom Bots.

Including unsubscribed users in your audience

There may be times when you need to contact users with an important message or "transactional" notification, even if they've previously unsubscribed from your marketing emails.

If you've added an event or date trigger in the Rules section and are sending a message "every time they match the rules”. Or if you've selected a fixed audience, you can include unsubscribed users.

Switch this on in the rules tab under "Audience":

You'll then be asked to confirm your decision, and reminded that sending marketing messages to customers who have unsubscribed can have a serious impact on your deliverability and potential legal implications.

Once confirmed, unsubscribed users who match your filters and have been seen in the last 90 days will also receive the message.

🏢 Scheduling with Company attributes

If you use a company level attribute, for a date attribute based schedule, users may receive multiple copies of a message if they’re a member of multiple companies.

  • If a user is tracked by the Intercom Messenger with an active company_id, only that specific company will be checked for a match.

  • If they’re not tracked with an active company_id, and the message contains company attributes, any of their companies could match the rules for the message, and they will receive a copy for each one.

  • If they’re not tracked with an active company_id, and the message doesn’t contain company attributes, each of their companies will be checked for a match. If any of their companies match the user will receive a single copy of the message.

🌍 Timezones

Messages are sent on the specified date in the user’s time zone. If the user’s time zone is unknown, Messages are sent based on your workspace’s time zone.


Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts

Did this answer your question?