Sync cancel_at_period_end from Stripe to automate retention workflows
Intercom doesn't automatically import the cancel_at_period_end
parameter from Stripe, which means you can't trigger cancellation surveys or ask users why they canceled immediately when they make the decision. Churn is happening, but you don't know why until it's too late.
List of attributes that Intercom imports from Stripe
As of February 2025, this is further confirmed by Intercom in this KB article.
Well, according to Intercom (or Stripe, idk), you have to wait until the subscription expires so it changes its status — or build your own frontend solution to detect cancellations (e.g., changing the URL after a successful cancellation). This is absurd.
Just think about it again: Stripe's native integration with Intercom imports several subscription parameters (even the card brand, mind you), but it doesn't include the cancel_at_period_end
field, which is essential for customer support.
Additionally, paused subscriptions are still considered "Active" in Stripe, making it impossible to rely on the "Stripe subscription status" parameter for timely cancellation emails.
I took matters into my own hands and built an app that solves this by syncing the cancel_at_period_end
parameter directly from Stripe and sending it to Intercom as a Custom Data Attribute (CDA).
This allows support teams to filter the audience and trigger cancellation surveys & engagement emails instantly, the moment a user decides to cancel their subscription.
The app is built using:
That's it! If something doesn't exist, just go ahead and build it, I guess.