What's in a flow

Every flow has three main parts that work together to automate your business. Think of it like this: “When this happens, if these conditions are met, then do these actions.”
Let’s break down each piece so you can start building flows that actually work for your business.
Triggers - the “when”
Triggers are what kick off your flow - they’re the events that say “hey, something just happened, time to get to work!” You’ve got tons of options here, from basic app events to custom stuff you track in your app.
Example: “When a customer installs my app…”
Some examples of available triggers are:
Event Type | Triggers | Availability |
---|---|---|
App events | • Customer installs, uninstalls, or reinstalls app • Customer deactivates or reactivates app • Subscription approaching or updating capped limit • Usage charge exceeds limit • Customer reviews app • Custom field changed • Customer submits an intake form • App identifies customer for the first time • Shopify access token is no longer valid | Ready to use |
Subscription events | • Subscription is activated • Subscription is cancelled • Subscription is upgraded or downgraded • Subscription is re-activated • Subscription is frozen or unfrozen • Subscription is refunded • Trial is expiring in X days • Trial has expired or been extended • One-time charge activated • Transaction is created • Usage charge is created • Bundle discount applied or removed for app | Ready to use |
Stripe events | • Invoice is finalized • Invoice payment failed | Ready to use |
Usage events | You can also trigger flows based on any custom event you track in your app. This allows for unlimited flexibility in responding to user actions specific to your business. | Requires customer identification and usage events setup |
Conditions - the “if”
Conditions are optional, but they’re super handy when you want to get specific about when your flow runs. Think of them as filters - they let you say “only run this flow if the customer also meets these criteria.”
Example: “…and they have a tag of ‘New customer’…”
Some examples of available conditions are:
Condition Type | Examples | Availability |
---|---|---|
App attributes | • App install date • App install status • Billed usage last 30 days • App uninstall reason • App access token error reason | Ready to use |
Customer attributes | • Customer name • Customer email • Customer abandoned charge • Customer industry • Customer last 30 day revenue • Customer lifetime value • Customer monthly spend • Customer review rating • Customer Shopify plan • Customer billing platform • Customer tags • Test customer | Ready to use |
Customer custom fields | • Custom field values • Test boolean fields | Requires custom fields setup |
Subscription conditions | • Subscription active • Subscription activation date • Subscription billing interval • Subscription billing platform • Subscription cancelled • Subscription cancel date • Subscription flex billing • Subscription frozen • Subscription frozen date • Subscription plan • Eligible for bundle discount • Has bundle discount applied | Ready to use |
Usage & engagement | • Usage metrics (page view, SKUs, orders, video views, etc.) • Transaction fees | Requires usage events setup |
Email engagement | • Email has had any click | Requires Mantle Email setup |
Affiliate conditions | • Referred by • Referred by any affiliate | Ready to use |
Actions - the “then”
Actions are where the magic happens - they’re the actual tasks your flow performs when everything lines up. This is the “doing” part of your automation.
Example: “…then send a welcome email and tag them as ‘new customer’.”
Here’s what your flows can do for you:
Action Type | Description | Requirements |
---|---|---|
Send email | Send an email to the customer | Requires Mantle Email setup |
Add customer tag(s) | Enter tag(s) to add to the customer. Can also be used to apply specific discounts | Ready to use. For discount application, see Discounts documentation |
Remove customer tag(s) | Enter tag(s) to remove from the customer | Ready to use |
Extend trial | Add additional trial days to a customer’s subscription | Ready to use |
Add timeline comment | Automatically add a comment to the customer’s app timeline | Ready to use |
Populate custom field | Populate a customer’s custom field with a value | Requires custom fields setup |
Assign account owner | Assign an account owner to the customer | Ready to use |
Post Slack message | Post a message to a Slack channel | Requires Slack integration setup |
Send HTTP request | Send a request to an external URL | Ready to use |
Send notification email | Send a notification email to your team | Ready to use |
Putting it all together
When you combine these three pieces, you get a complete automation that runs itself:
“When [Trigger] happens, if [Condition] is met, then do [Action].”
For example:
- When a customer installs my app
- If they’re on a trial plan
- Then send a welcome email and tag them as “trial user”
Or get more complex:
- When a customer’s trial expires in 3 days
- If their usage is below 10 page views
- Then send a re-engagement email, assign them to the support team, and post a Slack notification
The beauty of flows is they work 24/7 in the background. Set them up once, and they handle all the repetitive stuff while you focus on growing your business.
Ready to build your first flow? Check out our step-by-step creation guide, or browse our FAQ for answers to common questions.