Zap Templates for SaaS Revenue: Step-by-Step Setups
16 Zaps founders set up first, with every setting written out. Each takes a few minutes: create a Zap, add the steps in order and copy the values.
How to use these#
Values in [Brackets] are fields from the Chartsy step: click into the setting in Zapier and pick the field with that name from the data list. Everything else you type as shown. Leave the account, channel, list and sender settings to your own choice.
You need the Chartsy app connected first - see how to connect Chartsy to Zapier. What each trigger sends is in the triggers reference.
Filter steps
The email templates include a Filter step so the Zap skips customers without an email address. Some billing setups don't store one, and an email step without a recipient fails.
Failed payments and dunning#
Most customers whose card is declined never meant to leave. These Zaps reach them quickly and stop as soon as they pay.
Email customers from Gmail when their payment failsChartsy → Filter by Zapier → Gmail
A personal note recovers more failed payments than automatic retries alone, and it goes out while there is still time before the subscription lapses.
Steps
1. Chartsy - Payment Failed
- Account:
- Leave blank if you have one
2. Filter by Zapier - Only continue if...
- Condition:
- [Customer Email] (Text) Exists
3. Gmail - Send Email
- To:
- [Customer Email]
- Subject:
- Your payment for [Plan Name] didn't go through
- Body:
Hi [Customer Name], Your payment of [Amount] [Currency] didn't go through ([Failure Reason]). Could you update your card so your subscription keeps running? Just reply if you need a hand.
Note: Failed payments aren't available for Polar or Freemius. With Microsoft Outlook, use its Send Email action with the same fields and Body Format set to Text. Paddle sends no decline reason, so take "([Failure Reason])" out if you bill with Paddle.
Post failed payments to SlackChartsy → Slack
Failed payment notices sit unseen in a billing dashboard. In Slack, someone can follow up the same day.
Steps
1. Chartsy - Payment Failed
2. Slack - Send Channel Message
- Channel:
- Your billing or team channel
- Message Text:
- :warning: [Summary] - [Customer Email]
- Send as a bot?:
- Yes, Bot Name "Chartsy"
Note: Failed payments aren't available for Polar or Freemius.
Create a Todoist task for each failed paymentChartsy → Todoist
Personal follow-up saves high-value customers, but it is easy to forget between other work. A task due today puts it on your list.
Steps
1. Chartsy - Payment Failed
2. Todoist - Create Task
- Content:
- Follow up: [Customer Name] payment of [Amount] [Currency] failed
- Description:
- [Summary] - [Customer Email]
- Due Date String:
- today
Note: Failed payments aren't available for Polar or Freemius.
Start a Brevo dunning sequence when a payment failsChartsy → Filter by Zapier → Brevo
Reminders work best as a sequence over a few days. This Zap records a "payment_failed" event on the customer's Brevo contact, and a Brevo automation sends the emails.
Steps
1. Chartsy - Payment Failed
2. Filter by Zapier - Only continue if...
- Condition:
- [Customer Email] (Text) Exists
3. Brevo - Event Create
- Event Name:
- payment_failed
- Contact identifier (email):
- [Customer Email]
- Event properties:
- amount [Amount], currency [Currency], plan [Plan Name], reason [Failure Reason]
Note: In Brevo, create an automation that starts on the "payment_failed" custom event. Failed payments aren't available for Polar or Freemius.
Post recovered payments to SlackChartsy → Slack
Once the money comes in, everyone should know - so nobody keeps chasing a customer who has already paid.
Steps
1. Chartsy - Payment Recovered
2. Slack - Send Channel Message
- Channel:
- The channel your failed-payment Zap posts to
- Message Text:
- :white_check_mark: [Summary] ([Days To Recover] days after it first failed)
Note: For Paddle, only payments retried from 4 November 2026 onward are reported, and Days To Recover is empty.
Stop the Brevo dunning sequence when the customer paysChartsy → Filter by Zapier → Brevo
A customer who fixed their card shouldn't get more reminders. This records a "payment_recovered" event your Brevo automation can use as its exit condition.
Steps
1. Chartsy - Payment Recovered
2. Filter by Zapier - Only continue if...
- Condition:
- [Customer Email] (Text) Exists
3. Brevo - Event Create
- Event Name:
- payment_recovered
- Contact identifier (email):
- [Customer Email]
- Event properties:
- amount [Amount], failed_attempts [Failed Attempts]
Note: In the Brevo automation from the previous template, add an exit condition: stop when "payment_recovered" occurs.
Create a Todoist task to talk to customers who cancelChartsy → Todoist
Asking why someone canceled, before their access ends, is one of the cheapest ways to learn what to fix - and sometimes to win them back.
Steps
1. Chartsy - Subscription Canceled
2. Todoist - Create Task
- Content:
- Talk to [Customer Name] about canceling [Plan Name]
- Description:
- [Summary] - [Customer Email]
- Due Date String:
- today
New customers and signups#
Welcome people the moment they sign up or pay, and keep your email lists in step with who actually pays.
Post new paying customers to SlackChartsy → Slack
Seeing every new customer keeps a small team motivated, and the channel they came from shows which marketing is paying off.
Steps
1. Chartsy - New Paying Customer
2. Slack - Send Channel Message
- Message Text:
:tada: [Summary] First touch: [First Touch Channel]- Send as a bot?:
- Yes, Bot Name "Chartsy"
Note: For Discord, use Discord's Send Channel Message action with [Summary] as the message.
Send a thank-you email to new paying customersChartsy → Filter by Zapier → Gmail
A short note from the founder right after the first payment builds loyalty, and the replies are often your best feedback.
Steps
1. Chartsy - New Paying Customer
2. Filter by Zapier - Only continue if...
- Condition:
- [Customer Email] (Text) Exists
3. Gmail - Send Email
- To:
- [Customer Email]
- Subject:
- Thanks for choosing [Plan Name]
- Body:
Hi [Customer Name], Thanks for subscribing - it means a lot. If anything is missing or confusing, just reply to this email and it comes straight to me.
Note: Works the same with Microsoft Outlook's Send Email action.
Add new paying customers to a Brevo listChartsy → Filter by Zapier → Brevo
Trial users and paying customers need different emails. This keeps your customer onboarding and upsell automations to paying customers only.
Steps
1. Chartsy - New Paying Customer
2. Filter by Zapier - Only continue if...
- Condition:
- [Customer Email] (Text) Exists
3. Brevo - Contact Create or Update
- Email:
- [Customer Email]
- List(s):
- Your paying customers list
- Update if exists:
- Yes
Add new signups to Mailchimp, tagged by sourceChartsy → Mailchimp
Welcome emails convert best when they arrive right after signup and match what brought the person in. The tags let you send different sequences to visitors from search, social or a launch.
Steps
1. Chartsy - New Signup
- Tracked Site:
- Leave blank for all sites
2. Mailchimp - Add/Update Subscriber
- Audience:
- Your audience
- Subscriber Email:
- [Email]
- Tag(s):
- [Source], [Campaign]
- Update Existing:
- Yes
Note: For Brevo, use Contact Create or Update with [Email] and the list your welcome automation starts from.
Post new signups to SlackChartsy → Slack
Early on, it is useful to see every signup as it happens, with the campaign and page that brought it.
Steps
1. Chartsy - New Signup
2. Slack - Send Channel Message
- Message Text:
- [Summary] · landed on [Landing Page] · [Country]
Daily and weekly numbers#
Get the figures where your team already talks, without anyone opening a dashboard.
Post the weekly growth summary to Slack every MondayChartsy → Slack
A quick Monday read on which marketing channels are worth more time: visits, signups and new revenue against the week before, and where to focus next.
Steps
1. Chartsy - New Weekly Growth Summary
- Channel:
- Source
2. Slack - Send Channel Message
- Message Text:
- [Summary]
- Send as a bot?:
- Yes, Bot Name "Chartsy"
Note: For Microsoft Teams, use its Send Channel Message action with [Summary]. Pick Campaign or Content as the Channel to compare posts and campaigns instead of sources.
Post yesterday's numbers to Slack every morningChartsy → Slack
Revenue, MRR, new subscribers, churn, refunds and traffic for yesterday, compared with the day before and the 7-day average.
Steps
1. Chartsy - New Daily Snapshot
2. Slack - Send Channel Message
- Message Text:
- [Summary]
Note: To hear only about bad days, add a Filter by Zapier step before Slack: Revenue Change Vs Trailing Average Percent (Number) Less than -30.
Support: see what a customer pays#
Use the Find Customer search to add revenue context to tickets, so the team knows who they are talking to.
Add customer revenue to new Zendesk ticketsZendesk → Chartsy
Support answers faster and prioritizes better when it can see what a customer pays without leaving the help desk.
Steps
1. Zendesk - New Ticket
2. Chartsy - Find Customer
- Email:
- The ticket's Requester Email
3. Zendesk - Add Comment to Ticket
- Ticket:
- The ticket ID from step 1
- Comment Body:
Chartsy: [Summary] MRR [MRR] [Currency] · lifetime [Lifetime Revenue] · failed payments (30 days): [Failed Payments Last 30 Days]- Public?:
- No
Note: Customers are matched by the email on the ticket. If nobody matches, turn on "continue if no search results" in the Find Customer step, or the Zap stops there.
Add customer revenue to new Help Scout conversationsHelp Scout → Chartsy
Knowing that a message comes from a high-value customer changes how quickly and carefully you reply.
Steps
1. Help Scout - New Conversation
2. Chartsy - Find Customer
- Email:
- The conversation's Customer Email
3. Help Scout - Add Note
- Conversation:
- The conversation ID from step 1
- Text:
- Chartsy: [Summary]
Note: Customers are matched by the email on the conversation.


