Automations
Send emails automatically based on triggers, delays, and conditions — build welcome series, trial flows, and follow-ups once and let Owlat run them.
Automations let you send emails automatically based on what your contacts do. Instead of manually sending a welcome email every time someone signs up, you set it up once and Owlat handles the rest — every new contact gets the right email at the right time, without you lifting a finger.
Core concepts
Every automation has three ingredients:
- Trigger — the event that starts the automation for a contact
- Steps — the sequence of actions to take (send an email, wait, check a condition)
- Status — whether the automation is currently active, paused, or in draft
Each contact runs through the automation independently. If 50 people sign up today, each one gets their own run through the steps.
Trigger types
| Trigger | When it fires | Configuration |
|---|---|---|
| Contact Created | A contact is created in your audience (manual, import, form, or API) | None — fires on every new contact |
| Contact Updated | A contact's data is modified | The contact property to watch |
| Event Received | Your application sends a custom event through the API | The event name to match (e.g. trial_started) |
| Subscribed to Topic | A contact subscribes to a specific topic | The topic to watch |
Triggers don't carry filters or conditions — they fire as soon as their event happens. To narrow the flow to only certain contacts, add a Condition step inside the automation (see below).
The Event Received trigger is the most flexible. It lets you start automations from any event in your application — purchase completed, trial started, feature activated, and so on — by matching on the event name you send. See the Events API for details.
Step types
| Step | What it does |
|---|---|
| Send Email | Sends a specific email template to the contact. You can optionally override the template's subject line for this step. |
| Wait/Delay | Pauses the automation for a set duration (minutes, hours, days, or weeks) before the next step. |
| Condition | Branches the flow — contacts who match go one way, the rest go another. Conditions match on a contact property, email activity (opened/clicked), or topic membership. |
Automation emails are sent without open/click tracking and without an unsubscribe footer, and they only reach contacts that have an email address. Contacts added through SMS, WhatsApp, or phone with no email will fail the Send Email step (logged as a failure for that contact).
Building an automation
1. Create the automation
- Open Campaigns > Automations.
- Click New Automation.
- Give it a descriptive name (e.g., "Welcome Series" or "Trial Expiration Reminder").
2. Choose the trigger
Pick the event that starts the automation. Some triggers need a bit of configuration:
- Contact Created needs nothing — it fires whenever a contact is added.
- Event Received asks for the event name to match (e.g.
trial_started). - Subscribed to Topic asks which topic to watch.
- Contact Updated asks which property to watch.
Triggers don't filter on contact attributes. If you only want some contacts to continue, add a Condition step later in the flow.
3. Add steps
Build your sequence by adding steps one after another:
- Send Email — choose the template for your first email
- Wait/Delay — add a delay (e.g., 2 days)
- Send Email — choose the template for your follow-up
- Condition — check if the contact opened the first email, then branch accordingly
You can add as many steps as your workflow needs.
4. Activate
Once your automation is built and tested, change its status to Active. It will start processing any contacts that match the trigger going forward.
Common patterns
Welcome series
A multi-step sequence for new signups. Trigger: Contact Created.
- Immediately: Send a welcome email with key features
- Wait 2 days: Send tips for getting started
- Wait 5 days: Send a case study or success story
- Wait 7 days: Add a Condition that checks email activity (opened the welcome email?) — if not, branch to a re-engagement nudge
Trial lifecycle
Guide trial users toward conversion. Trigger: Event Received with the event name trial_started, which your app sends through the Events API.
- Immediately: Send setup instructions
- Wait 3 days: Add a Condition on a contact property (e.g.
onboarding_complete) — send help to those who haven't finished - Wait 7 days: Send a feature highlight
- Wait a few more days: Send a conversion reminder before the trial ends
Purchase follow-up
Engage customers after a purchase. Trigger: Event Received with the event name purchase.
- Immediately: Send order confirmation
- Wait 3 days: Send a feedback or review request
- Wait 14 days: Send related product recommendations
Re-engagement
Win back contacts who've gone quiet. There's no time-based "inactive for 90 days" trigger, so build this off an event you already send (for example, Event Received with re_engage) or run it as a step inside a longer flow:
- Add a Condition on email activity — branch contacts who have not opened a recent email
- Immediately: Send a "we miss you" email with an incentive
- Wait 7 days: Add a second Condition on email activity — if they still haven't engaged, send a final reminder
Automation statuses
| Status | Meaning |
|---|---|
| Draft | Being configured. No contacts will be processed. |
| Active | Running. New contacts matching the trigger enter the flow. |
| Paused | Stopped. No new contacts enter. Contacts in progress survive only while sitting inside a delay that hasn't elapsed yet (see the warning below). |
While an automation is paused, no new contacts enter. Contacts already in the flow continue only if their next step is still waiting inside a delay. If a contact's delay elapses while the automation is paused, that contact's run is cancelled — the next step is marked failed and the run stops (a background job checks for due steps every few minutes). Pausing therefore doesn't guarantee a clean resume for in-flight contacts; resume promptly, or treat pause as a way to stop new entries rather than to safely freeze everyone mid-flow.
Monitoring
Open any automation's detail page to see:
- Current status — draft, active, or paused
- Run count — how many contacts have entered the automation
- Step progression — a funnel showing how many contacts are pending, executing, or completed at each step
- Failures per step — how many contacts failed at each step (a count, shown in the step funnel)
Check your automations periodically. An automation with a high failure rate may have a broken template link or reference a deleted template.
Next steps
- Campaigns & Reporting — for one-time marketing sends
- Email Templates — build the templates your automations send
- Segments — group contacts for campaign sends (automation entry is driven by triggers and Condition steps, not segments)
- Transactional Emails — for API-triggered one-off emails