Skip to content
Notis

Subscription Cancellation Exit Survey Automation

When subscriptions cancel, immediately send a brief survey to learn why. Every cancellation is feedback gold.

Trigger

Subscription Deleted Trigger

Triggered when a subscription is deleted in Stripe

Action

Send Email

Sends an email via gmail api using the authenticated user's google profile display name, requiring `is html=true` if the body contains html and valid `s3key`, `mimetype`, `name` for any attachment.

Why this helps

Subscriptions cancel and you never know why. Customers disappear without explaining. You're left guessing at what to improve.

  • Gather real feedback at the moment customers are most likely to respond
  • Identify patterns in churn reasons so you can prioritize improvements
  • Retain some customers by showing you care about their feedback
  • Build a knowledge base of churn reasons to prevent future cancellations

Setup

Build it in a few focused steps.

  • 1Connect Stripe and Gmail to Notis.
  • 2Tell Notis: 'When a subscription is deleted, send an email to the customer with a 2-3 question exit survey about why they left and how we could have done better. Include a link to share feedback and mention they can always come back.'
  • 3Select 'Subscription Deleted' as your trigger.
  • 4Configure your notification channel.
  • 5Test by cancelling a subscription and verify the survey email is sent immediately.

Questions about this workflow

What questions should I include in the survey?

Keep it simple: 'Why did you cancel?' (with 3-5 preset options), 'Anything we could improve?', 'Would you come back if we fixed X?'

How do I collect responses?

Link to a Google Form or survey tool, or ask them to reply to the email. Replies often give you the richest feedback.

What if they don't respond?

You've still sent it. Many won't respond, but the ones who do provide gold. Follow up manually with a few high-value customers.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Stripe to Gmail. A trigger fires from one place; an action lands in another.

Stripe triggers

Gmail actions

Charge Failed Trigger

Triggered when a direct charge fails in Stripe's legacy Charges API

TriggerInstant

Modify email labels

Adds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listlabels' for custom label ids).

ActionInstant

Checkout Session Completed Trigger

Triggered when a checkout session is completed in Stripe

TriggerInstant

Create email draft

Creates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.

ActionInstant

Invoice Payment Succeeded Trigger

Triggered when an invoice payment is successful in Stripe

TriggerInstant

Create label

Creates a new label with a unique name in the specified user's gmail account.

ActionInstant

Payment Intent Failed Trigger

Triggered when a payment intent fails in Stripe

TriggerInstant

Delete Draft

Permanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions for the given `user id`.

ActionInstant

Product Created Trigger

Triggered when a product is created in Stripe

TriggerInstant

Delete message

Permanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.

ActionInstant

Subscription Added Trigger

Triggered when a subscription is added in Stripe

TriggerInstant

Fetch emails

Fetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.

ActionInstant

Subscription Deleted Trigger

Triggered when a subscription is deleted in Stripe

TriggerInstant

Fetch message by message ID

Fetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `user id`.

ActionInstant

Fetch Message by Thread ID

Retrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `user id`.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Stripe and Gmail. Any combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business Gmail.