# Behavioral email examples for SaaS: 20 triggers and the email each one sends

> 20 behavioral email examples for SaaS: the behavior behind each, what to send, a sample email, and whether it starts from a pattern or a trigger.

Source: https://behavly.io/guides/behavioral-email-examples · Updated October 31, 2026

Behavioral email examples are emails sent to one user because of something they did, or didn’t do, in your product, each written about that action: a setup left half done, a second visit to pricing, a plan limit, a failed payment, three weeks of silence. Below are 20 of them for SaaS, grouped by stage, each with what to send, an example and how it starts in Behavly.

The examples use Mapleside, a made-up booking tool for small clinics. For how the practice works, from tracking to timing, see [behavioral email for SaaS](https://behavly.io/guides/behavioral-email).

#### What can a behavioral email react to?

Every example starts from one of six signals, each tied to a signed-in person.

| Signal | Where it comes from | Useful for |
| --- | --- | --- |
| Page views | The tracking snippet, attached to the signed-in person | Setup screens, pricing, docs, a feature’s page |
| Clicks, rage clicks and dead clicks | The snippet; **Tracking → Heatmaps** shows where they happened | Finding the screen where people stall |
| Scroll depth | The snippet | Telling a glance at a page from a full read |
| Sign-ins and visits | The snippet recognizes each signed-in session | Going quiet, coming back |
| Product events | `behavly.track` in your app, or `send_event` from your server | Activation, plan limits, trials, payments |
| Email opens, clicks and replies | Your own campaign emails | Choosing the next email on a path |

Only what a person did counts: Apple Mail loading images by itself isn’t an open, and a security scanner following a link isn’t a click.

**How it starts**, in the tables, means one of these:

- **Pattern Campaign**: Starts from a group who did something in common: a pattern Behavly detected, or one you describe in plain words and check before it’s saved. **Always on** takes in everyone who joins later.
- **Trigger Campaign**: Starts the moment your product sends an event, like `payment_failed`. For moments on your server, such as a trial ending, [send these as product events](https://behavly.io/guides/trigger-emails-from-product-events).
- **Waits and branches**: A wait can last until the person acts; a branch splits the path on whether they opened, clicked, logged in, visited a page, replied or did an action.

#### Onboarding and activation emails

| Behavior | What to send | Example subject | How it starts |
| --- | --- | --- | --- |
| **1. Signed up, never did the core action** | One step toward their first result, built on what they did set up | “Your booking link is ready to share” | Pattern: never did your activation event, such as `page_published`, **Always on** |
| **2. Started setup, stopped partway** | The one step left, linked straight to it | “Your booking page is one step from live” (below) | Pattern: visited the setup page, never did `hours_saved` |
| **3. Looked around once, never came back** | The one thing most new users do first, ready to go | “Your first service, already filled in” | Pattern Behavly detects, such as **Barely explored** |
| **4. Rage-clicked on a setup screen** | A short walkthrough of that screen’s next step, from a person | “Adding your services from a price list” | Pattern you describe: rage clicks plus a visit to /setup |
| **5. Activated, invited no teammates** | What changes for them when their team joins | “Your 20 bookings, split across your team” (below) | Pattern: did `booking_created` 20 times, never did `staff_invited` |

Rows 1 to 3 are the core of an [onboarding sequence](https://behavly.io/guides/saas-onboarding-email-sequence). Row 2 has its own [onboarding incomplete email](https://behavly.io/guides/onboarding-incomplete-email) templates; for long-stalled signups, see [users who never activated](https://behavly.io/guides/users-who-never-activated).

2. Started setup, stopped partway

> Subject: Your booking page is one step from live
>
> Hi Leah,
> 
> Your Mapleside page already lists your four services and their prices. The one step left is your opening hours, and once they’re in, clients can book any free slot without calling the front desk.
> 
> Most clinics copy their hours from the week view in about two minutes.
> 
> Add your hours: [link]
> 
> Noor

5. Activated, invited no teammates

> Subject: Your 20 bookings, split across your team
>
> Hi Marta,
> 
> Your booking page took 20 appointments this month, all on your own calendar. Add the people who see clients and each of them gets their own column, their own reminders and only the bookings meant for them.
> 
> Invites take one email address each, and you decide who can change prices.
> 
> Add your team: [link]
> 
> Noor

#### Trial and upgrade emails

| Behavior | What to send | Example subject | How it starts |
| --- | --- | --- | --- |
| **6. Trial ends in three days, already activated** | What they keep by upgrading, in their own numbers | “Keep your 38 bookings and reminders” | Trigger: `trial_ending` from your server |
| **7. Trial ends in three days, never activated** | One step worth trying first, and how to ask for more time | “Before your trial ends: publish your page” | The same trigger as row 6; each email is written from what that person did |
| **8. Visited pricing twice in a week** | The one plan that fits their usage, and what carries over | “Which Mapleside plan fits three practitioners” (below) | Pattern: visited /pricing, **Always on**, then a branch on another visit |
| **9. Hit a plan limit** | The plan that removes the limit, sent the same day | “Your 50th booking this month” (below) | Trigger: `booking_limit_reached` |
| **10. Read the security docs, then pricing** | The answer to the requirement: which plan includes it | “SSO for your clinic is on the Clinic plan” | Pattern: visited /docs/security and /pricing |
| **11. Opened checkout, didn’t upgrade** | The likely blocker: invoices, billing period, who approves | “Paying for Mapleside by invoice” | Pattern: visited /checkout, never did `upgraded` |

Rows 6 and 7 share one trigger: each email is written from what that person did, so they differ. See [trial expiration](https://behavly.io/guides/trial-expiration-emails) for more templates. Rows 8, 10 and 11 start from a page: see [page-visit triggers](https://behavly.io/guides/page-visit-follow-up-email) and [pricing page follow-up](https://behavly.io/guides/pricing-page-follow-up).

8. Visited pricing twice in a week

> Subject: Which Mapleside plan fits three practitioners
>
> Hi Omar,
> 
> With three practitioners taking bookings on your page, the Team plan is the one that fits: each of them gets their own calendar and reminders, and your 140 past bookings stay exactly where they are.
> 
> You can move back to a smaller plan at any time.
> 
> See Team with your clinic selected: [link]
> 
> Noor

9. Hit a plan limit

> Subject: Your 50th booking this month
>
> Hi Priya,
> 
> Your page took its 50th booking this month, which is what the free plan includes, so new clients now see a note to call you instead.
> 
> On Team, online booking reopens straight away with no monthly limit, and all 50 bookings stay as they are.
> 
> Reopen bookings on Team: [link]
> 
> Noor

#### Feature adoption emails

| Behavior | What to send | Example subject | How it starts |
| --- | --- | --- | --- |
| **12. Tried a feature once, never again** | What the first use did for them, and where to use it next | “Reminders for your other five services” | Trigger: `reminder_created`, then a branch on doing it again within 14 days |
| **13. Regular user, never touched a key feature** | The feature, shown on their own data | “Text reminders for your 30 weekly bookings” | Pattern: at least 10 visits, never did `reminder_created` |
| **14. Read the API docs, never created a key** | The shortest working example for their account | “A first API call for your booking page” | Pattern: visited /docs/api, never did `api_key_created` |
| **15. Read a feature announcement, didn’t try it** | The feature, set up from what they already have | “Group classes, built from your existing services” | Pattern: visited the announcement page, never did the feature’s event |

These are [feature adoption](https://behavly.io/guides/feature-adoption-emails) emails. Turn on **Skip if they already did it** for each, so anyone already using the feature never gets the email.

#### Emails that react to your last email

| Behavior | What to send | Example subject | How it starts |
| --- | --- | --- | --- |
| **16. Opened the last email, clicked nothing** | A shorter follow-up in the same thread, with a different reason to act | “Re: Your booking page is one step from live” | Branch on **opened**, then on **clicked a link in it**; no click gets a follow-up in the same thread |
| **17. Clicked the link, didn’t finish the step** | The step after the click, in two lines | “Re: Reminders for your other five services” | Branch on **clicked a link in it**, a wait, then an email with **Skip if they already did it** |
| **18. Replied** | Nothing automated: a person answers | None | The path ends on any reply |

A reply ends the path by default. Behavly files it under a status such as **High-intent** or **Follow up**, and a suggested answer waits in the Unibox for you to send.

#### Retention and billing emails

| Behavior | What to send | Example subject | How it starts |
| --- | --- | --- | --- |
| **19. Weekly user, quiet for three weeks** | Their next piece of work, set up from their last | “Next month’s schedule, copied from this one” (below) | Pattern: **Gone quiet**, with a branch on **logged in to your site** |
| **20. Payment failed** | What happened, what keeps working, one link to fix it | “Update the card for your Team plan” (below) | Trigger: `payment_failed`, **A new case each time** |

See also [churn prevention emails](https://behavly.io/guides/churn-prevention-emails), [win back inactive users](https://behavly.io/guides/win-back-inactive-users), and the full [payment failed](https://behavly.io/guides/payment-failed-emails) recovery path.

19. Weekly user, quiet for three weeks

> Subject: Next month’s schedule, copied from this one
>
> Hi Daniel,
> 
> Your clinic’s schedule runs to the end of this month, with 32 bookings across your two practitioners. You can copy it to next month in one step, with the same services, hours and buffer times, and change only the days that differ.
> 
> Clients can book as soon as it’s published.
> 
> Copy your schedule: [link]
> 
> Noor

20. Payment failed

> Subject: Update the card for your Team plan
>
> Hi Alex,
> 
> The card ending 1187 was declined when your Team plan renewed today. Your booking page and all six calendars keep running while you update it, and we’ll try the card again in three days.
> 
> Updating it takes a minute, and nothing else about your account changes.
> 
> Update your card: [link]
> 
> Noor

#### How to set these up in Behavly

Behavly tracks what each signed-in user does, runs the path you describe, and writes each Behavly Agent email from that person’s activity.

1. **Track.** Add the snippet from **Tracking → Setup** to your signed-in app; activity attaches to each signed-in person with no extra code. Send product actions with `behavly.track`, server moments to `send_event`.
2. **Choose what starts it.** In **Automations**, pick **Pattern Campaign** or **Trigger Campaign**.
3. **Describe the path** in words and choose **Build the path**. Behavly lays out the emails, waits and branches; nothing sends until you activate.
4. **Let Behavly write each email** for one person, from their activity and your **Instructions for Behavly Agent**.
5. **Read before it sends.** **Preview** writes any step for a real person; with **Review** on, you approve every written email before it goes out.
6. **Set a goal**, an action or a page visit. Behavly credits each person who reaches it to the last email they got.

One person can qualify for several of these. Behavly’s Agent guardrails count every campaign together: by default, campaigns stay 24 hours apart and nobody gets more than 3 emails in 7 days.

_A campaign list built from behaviors: each campaign is named after the moment that starts it._

## Questions

### What is an example of a behavioral email in SaaS?

An email to a user who set up their services but never added opening hours, naming the one step left and linking straight to it. Anyone who finishes first never gets it.

### What is the difference between triggered and behavioral emails?

A triggered email starts from one event, such as a failed payment. Behavioral email is the wider practice: it also covers what someone didn’t do, which needs a wait and a condition rather than a single event.

### Which behavioral emails should a SaaS company start with?

The onboarding stall, the plan limit and the failed payment, then gone quiet. Every user meets the first, and the next two block someone’s work.

### How many behavioral emails should one user get?

Few, spaced out across every flow. Behavly’s defaults keep campaigns 24 hours apart and send nobody more than 3 emails in 7 days, all campaigns together.

### Who should receive behavioral emails?

People who signed up for your product, with their activity tied to their signed-in sessions. An anonymous visitor has no address and hasn’t asked to hear from you, so there is nobody to write to.

## Related

- [Behavioral email for SaaS: the practical guide](https://behavly.io/guides/behavioral-email)
- [SaaS onboarding email sequence: what to send, based on what users actually do](https://behavly.io/guides/saas-onboarding-email-sequence)
- [Behavioral email campaigns for SaaS products](https://behavly.io/features/campaigns)
- [Start A Campaign From A Trigger](https://behavly.io/help-center/campaigns/agent-triggers)
