# saas-trial

> Part of the Cowliss docs. Markdown for every page: append `index.md` to its URL. Site map: /llms.txt

<!-- GENERATED by apps/docs/scripts/generate-blueprints.ts. Do not edit. Regenerate with `pnpm -F cowliss-docs generate`. -->

A B2B free trial end to end: welcome, activation, a team invite, notice before the trial ends, and the two ways it can close.

[See the emails this blueprint sends](https://cowliss.com/blueprints/saas-trial)

## Automations

| Automation | What it does |
| --- | --- |
| `activated` | Congratulates someone on their first project and says what is next. |
| `activation-nudge` | Helps a trial that has not created its first project yet. |
| `invite-your-team` | Asks someone working alone to bring their team in. |
| `trial-converted` | Welcomes a trial that became a paid subscription. |
| `trial-ended` | Tells someone their trial has ended and what happens now. |
| `trial-ending` | Gives three days' notice before a trial ends. |
| `trial-welcome` | Opens a trial with the one thing to do first. |

## Events it needs

These are names your own app sends through `track`, not names Cowliss defines. Rename them in the copied files to whatever your app already sends.

| Event | Named by |
| --- | --- |
| `invite.sent` | `invite-your-team` |
| `project.created` | `activated-users`, `activation-nudge`, `unactivated` |
| `subscription.created` | `converted`, `trial-converted`, `trial-ended`, `trial-ending`, `trialing` |
| `trial.started` | `trial-converted`, `trial-ending`, `trial-welcome`, `trialing`, `unactivated` |

## Traits it reads

These are traits your own app sends through `identify`, and the blueprint's segments compare them. Until your app sends one, nobody matches.

| Trait | Read by |
| --- | --- |
| `trialEndsAt` | `trial-ended`, `trial-ending` |

`trialEndsAt` is the moment the trial ends, as an ISO 8601 date or epoch milliseconds. Send it on `identify` when the trial starts, and again whenever you extend one. The trial's length lives in your app and nowhere in these files.

## Segments

| Segment | Who is in it |
| --- | --- |
| `activated-users` | Created at least one project. |
| `converted` | Subscribed to a paid plan. |
| `trialing` | In a trial: started one and has not subscribed. |
| `unactivated` | In a trial and has not created a project yet. |

## Copy it

```sh
cow init --blueprint saas-trial
```

Every file above lands in your repo, yours to edit. In a repo that already has a `cow.json`, add it with `cow add blueprint saas-trial` instead.
