A customer journey dashboard maps email, SMS, push notifications, and custom channels as a woman walks through a modern office.
Microsoft has added message expirations to real-time journeys in Dynamics 365 Customer Insights – Journeys. They stop a time-sensitive email, text or push message from going out after it has stopped being useful. Think of the discount code that arrives the day after the sale ends, or the "see you tomorrow!" reminder that lands after the event.

A customer journey dashboard maps email, SMS, push notifications, and custom channels as a woman walks through a modern office. What changed​

If a journey includes time-sensitive content such as event reminders, limited-time offers, or expiring coupons, you can set an expiration on a message tile to prevent outdated messages from being sent. When a message expires, customers who reach it after the expiration time don't receive it. They continue through the rest of the journey without interruption.

Microsoft's documentation says three things happen when a participant reaches an expired message:

  • The message is skipped for customers who reach it after the expiration time.
  • Customers continue to the next step in the journey.
  • The skipped message is tracked in analytics as "Message expired."

Microsoft's stated benefit is that messages stay accurate and relevant without frequent updates or republishing of your journeys.

Availability and rollout​

The Microsoft release plan lists the feature as enabled automatically for admins, makers, marketers or analysts, with public preview on April 20, 2026 and general availability on June 12, 2026. The roadmap item (ID 577805) lists web as the platform and the Worldwide standard multi-tenant cloud.

The dates are not consistent across sources. A Message Center post, MC1296204, announced the feature and said it would reach general availability on May 30, 2026. The release plan says June 12. The release plan page is also archived. Microsoft says the information on that page may not reflect the latest product plans, features, or guidance. Treat the exact GA date as uncertain. For behavior, rely on the current Learn documentation, which was last updated on October 13, 2026.

Supported channels and limits​

Message expirations are supported for email, SMS, push notifications and custom channels in real-time journeys. The documentation describes this as a real-time journey feature. Don't assume it works on older outbound-marketing style journeys.

Some rules to know before you configure it:

  • Expiration always uses the journey's time zone. Check that setting first, especially if your audience spans regions.
  • You must set expiration conditions to a time in the future.
  • The control applies at the moment a participant reaches the tile. The documentation doesn't say it recalls a message already sent, ends the journey, or removes the participant.

The two ways to expire a message​

Microsoft documents two methods.

Option 1: a fixed date and time. The message expires at that exact moment in the journey's time zone. It suits campaign end dates and fixed deadlines.

Option 2: relative to a time supplied by the trigger. You choose whether the message expires before the trigger time (with an offset), at that time, or after it (with an offset). Microsoft cites reminders before an event, messages valid only during an event window, and follow-ups that should stop after a set period. Its example of a trigger-supplied time is a birthday.

The roadmap also mentions a "no expiry" option. The current setup documentation describes only the two methods above, so "no expiry" most likely just means leaving expiration unset.

How to set it up​

  1. Open your real-time journey.
  2. Select a message tile: email, SMS, push or custom.
  3. In the message properties pane, go to the Message expiry section.
  4. Choose a specific date and time, or a time specified by a trigger. For a trigger, also pick before, at or after, plus an offset where one applies.

Microsoft adds one caveat for live journeys. If a live journey uses the trigger-based option and the trigger date is more than one year in the past, such as a birthday, the system automatically adjusts the date to the current year when it evaluates the expiration. That keeps annual dates working as intended. Old trigger dates are not simply treated as long expired.

A worked example​

The release plan uses a fictional company, Contoso, that runs webinars. It puts expirations on reminder messages so that late registrants don't get the full reminder series. A partner write-up from Inogic shows a similar real-world pattern. With an event on June 19, the reminder email is set to expire on June 18, so attendees only get it before the event starts. Someone who registers on the day of the event doesn't get the email, because it is no longer relevant.

Microsoft's own Contoso discount example is worded oddly. It says discounts for people registering four months before the event are set to expire four months before the webinar date. Read literally, that cutoff is odd for an early-bird offer. The general mechanism is clear anyway: tie each message to the deadline it actually represents.

Practical advice​

These are my recommendations based on the documented behavior. Microsoft does not require them.

  • Match the expiry to the real deadline. If the copy mentions a date, the expiration should match it.
  • Test early and late entrants. Run people through at different times and confirm the expired tiles are skipped.
  • Remember the journey keeps going. The documentation says people continue to the next step. It doesn't say expiration suppresses later messages. If a follow-up depends on an earlier message having been sent, you may need branching or exit logic as well.
  • Watch the "Message expired" status in analytics. A large count could mean the rule works as designed. It could also mean the expiry is too aggressive, or that the journey's time zone is wrong.
  • Don't treat it as a content fix. Expiration stops sending. It doesn't update stale copy.

Why it matters​

Before this feature, the usual fix for stale messages was to edit and republish journeys, or to build workarounds. Per-message expiry turns a manual chore into a setting. It's a modest feature, but it prevents a familiar kind of marketing embarrassment. Anyone running event, promotion or seasonal journeys in Customer Insights – Journeys should review their time-sensitive tiles.

Microsoft's documentation doesn't give a maximum or minimum offset, a default time zone, or a full list of trigger attributes you can select. Check those in your own environment before relying on them.

 

References

  1. Dynamics 365 Customer Insights - Journeys: Elevate customer experiences - Set message expirations to keep communication relevant Microsoft 365 Roadmap 2026-10-22T23:45:44.763564Z
  2. Keep Your Event Communications Relevant with Message Expiration in Dynamics 365 Customer Insights-Journeys - Microsoft Dynamics 365 CRM Tips and Tricks inogic.com
  3. Set message expirations to keep communication relevant learn.microsoft.com