Skip to main content
Revenue Recovery connects your existing Stripe account to AI Calling. From then on, whenever one of your customers cancels a subscription, Atllas calls them within about a minute to understand why — and, if you’ve set up a win-back offer, to try to save the subscription on the spot. If the customer accepts, the discount is applied directly to their subscription in your own Stripe account.
Revenue Recovery works with a Stripe account you already administer. It doesn’t create a new Stripe account for you — it connects to the one you use today.

How It Works

  1. You connect your Stripe account from the Integrations page
  2. Atllas creates a campaign for you, using your existing call settings (script tone, voice, and so on)
  3. When a customer cancels their subscription (and their access hasn’t ended yet), Atllas calls them within about a minute
  4. If they accept your win-back offer, Atllas un-cancels the subscription and applies the discount in Stripe — visible in your Stripe dashboard right away
  5. If they decline, or don’t pick up, the cancellation proceeds as normal and nothing changes in Stripe
  6. Every call, and the revenue it recovers, is tracked in Analytics

Connecting Stripe

  1. Go to AI Calling → Integrations
  2. Find the Stripe card and click Connect with Stripe
  3. Sign in to Stripe if prompted, and authorize the connection
Once connected, the card shows your Stripe account, the share of your customers who have a phone number on file, and your recovery fee.

What the card shows

FieldDescription
AccountThe connected Stripe account
Phone coverageThe share of your customers who have a phone number on file — only these customers can be called
Recovery feeThe fee taken on revenue Atllas recovers for you, set by your Atllas plan

Connected, with warnings

If Stripe reports something about your account that could affect Revenue Recovery — for example, charges are disabled, or your account is in test mode — the card shows Connected, with warnings along with a description of each issue. The connection still works; review the warnings in your Stripe dashboard and resolve them if they affect your ability to collect payment.

Disconnecting

Click Disconnect on the Stripe card at any time. Atllas immediately stops detecting cancellations and placing recovery calls for that account. Your campaign, past call results, and anything already applied in Stripe are not affected.

Requirements

  • A Stripe account you administer, with subscription billing already set up
  • Customers need a phone number on file in Stripe — customers without one aren’t called
  • Only voluntary cancellations trigger a call. Subscriptions that lapse because a payment failed are not included, since a call can’t fix a billing problem
  • At most one call per cancellation
Customers whose subscription cancels immediately (rather than at the end of the billing period), or whose trial lapses straight into cancellation, are called too — see Win-back for fully-ended subscriptions below, which works a little differently since there’s no active subscription left to simply un-cancel.

Setting the Win-back Offer

The win-back offer is what the AI is allowed to offer a cancelling customer to keep their subscription.
  1. Open the campaign Atllas created when you connected Stripe
  2. Go to Settings
  3. Find Win-back offer and enter a percentage from 0–90
This is a flat discount off the customer’s subscription. Setting it to 0 turns the call into a feedback-only conversation — the AI still calls to find out why the customer is leaving, but has nothing to offer and won’t try to change their mind.
The win-back offer only appears in Settings for the campaign created by your Stripe connection.

The Call, From Your Customer’s Side

The AI calls using your campaign’s existing script tone and voice, so the call sounds consistent with the rest of your calling — it just opens by acknowledging the cancellation and, if a win-back offer is configured, may offer the discount if the conversation calls for it.
  • If the customer accepts the offer — Atllas un-cancels their subscription and applies the discount coupon directly to their account in Stripe. The discount applies once, to their next invoice. Nothing further is required from you; it’s visible in your Stripe dashboard as soon as the call ends.
  • If the customer declines, or doesn’t answer — the cancellation proceeds as originally scheduled. Nothing changes in Stripe.
In the rare case a customer accepts but the save can’t be completed automatically — for example, if the subscription had already fully ended before the call finished — it’s flagged for you to complete manually. See Needs attention in Analytics. Every recovery call also counts as a normal AI Calling call and uses one calling credit, the same as any other campaign call.

Automatic Retries

Off by default. If a recovery call goes unanswered, Atllas can automatically try again a limited number of times before giving up, instead of treating the first missed call as the end of the story. First-attempt pickup rates are typically well under half, so a second (or third) attempt meaningfully improves how many cancelling customers are actually reached.
Turning on retries is currently configured by the Atllas team as part of white-glove onboarding — there’s no self-serve setting for this yet. Mention it if you’d like retries enabled for your Revenue Recovery campaign.
When enabled:
  • Atllas re-dials a customer who didn’t pick up, up to a configured maximum number of attempts (including the first call)
  • Each retry still respects your campaign’s configured calling hours — retries never call outside the same window your regular calls do
  • Before ever re-dialing, Atllas re-checks the subscription in Stripe. If it’s since been resubscribed, un-cancelled by you or the customer, or the billing period has already ended, the retry is skipped and the enrollment is parked instead — Atllas never calls about a cancellation that’s no longer current
  • If the customer is reached and the call ends in any outcome — saved, declined, or (for fully-ended subscriptions) a resubscribe link sent — no further retries happen. Only a genuinely unanswered call schedules another attempt
  • Once the maximum number of attempts is used up without an answer, the cancellation proceeds as normal, exactly like the no-retry behavior described above

Win-back for fully-ended subscriptions

Some cancellations happen immediately rather than at the end of the billing period — for example, a customer cancels right away instead of waiting out their term, or a trial lapses straight into cancellation. By the time Atllas calls, there’s no active subscription left to simply un-cancel, so the call works a little differently:
  1. Atllas calls the customer within about a minute of the cancellation, the same as any other recovery call
  2. If they’re open to coming back, the AI offers your win-back discount and explains that a link is on the way by text
  3. Right after the call, Atllas texts a resubscribe link — a secure checkout page with your discount already applied
  4. The customer taps the link, confirms payment, and their subscription starts again immediately
  5. The link is valid for 24 hours and Atllas sends at most one text per cancellation
The resubscribe link uses your existing price and payment setup in Stripe — it’s not a new product or a different plan, just a fresh checkout for the same subscription with the discount applied.
Once the customer completes the checkout, it shows up in Stripe like any other new subscription, and the amount they paid is tracked in Analytics as Collected $ — kept separate from the Retained revenue / month figure used for un-cancel saves, since one is a one-time amount and the other is recurring.

Trials vs. Paid Cancellations

A trial that lapses into cancellation and a paid subscription being cancelled are different moments in the customer relationship — the conversation that wins someone back is usually different too. Revenue Recovery can ring a different AI Calling campaign for each:
  • Paid cancellations — a customer with an active, paid subscription cancels (or schedules a cancellation)
  • Trial cancellations — a customer’s subscription is still in its trial period when it cancels or lapses
Mapping each trigger to its own campaign is configured by the Atllas team for you as part of white-glove onboarding — there’s no self-serve setting for this yet. If you only need one campaign for both, the default setup already covers that; just mention it if you’d like them split.
If a cancellation event doesn’t have a campaign configured for its trigger (for example, only paid cancellations were set up and a trial lapses), Atllas never dials that customer — the enrollment is marked Parked and shows up on your Revenue Recovery dashboard instead, exactly like any other enrollment that needs a look. See Recent enrollments.

A/B Testing

For any Stripe-managed win-back campaign, Atllas can run a paired test comparing a few different script-and-offer combinations against each other, to see which recovers the most revenue. Each arm of the test pairs:
  • A script variant — a short instruction that shapes how the AI opens or frames the call
  • An offer percentage — that arm’s own win-back discount, just like the single win-back offer described above
When a test is running, every cancelling customer eligible for a recovery call is assigned to one of the test’s arms automatically and consistently — the same customer always lands in the same arm if they’re ever contacted again for the same test.
Setting up an A/B test is currently configured by the Atllas team as part of white-glove onboarding — there’s no self-serve setup for this yet. Mention it if you’d like to try a script/offer test on your win-back campaign.
We recommend testing 2–3 arms at a time. Comparing too many at once spreads calls thin across each variant, making it harder to see a clear difference.

While a test is running

Once a test is started, its arms are locked — the scripts and offer percentages can’t be edited until the test is closed. This is intentional: changing an arm mid-test would mean some calls used the old version and some the new, making it impossible to fairly compare results. If you want to adjust anything, close the current test first, then start a new one with your changes.

Viewing results

The Revenue Recovery dashboard shows a compact table, broken down by arm: how many calls went out, how many were saved, how many converted, and the revenue retained per month for that arm — counts only, side by side, so you can see at a glance which arm is performing better.
These are raw counts, not a statistical significance test — Atllas doesn’t (yet) tell you whether a difference between arms is large enough to be meaningful versus just chance. Use the numbers as a directional signal, especially with a smaller number of calls.

Viewing Results

Every recovery call appears in the campaign’s results table alongside the transcript, recording, and AI summary, just like any other campaign call. See Call Results & Transcripts. For the bigger picture — how much revenue you’re retaining, how calls are converting, and why customers are cancelling — see the Revenue Recovery analytics section. A dedicated Revenue Recovery section also lives in the sidebar, with its own Analytics page (the same summary at full-page scale plus a table of your most recent enrollments) and Setup page.
The cancellation reasons chart prefers what the customer actually said on the recovery call, when the AI was able to determine a reason — falling back to the customer’s answer on Stripe’s own cancellation survey otherwise. When a reason couldn’t be determined from either source, it’s counted separately as unknown rather than attributed to the survey. The chart’s caption reports how many reasons came from the call and how many came from the Stripe survey.