Sending emails

Flows

Automated sequences triggered by a subscription or an event

A flow sends a sequence of emails automatically: a welcome series, a product onboarding, a reminder before a trial ends. Each contact goes through it at their own pace.

How a flow works

A flow has a trigger and a list of steps. When the trigger fires for a contact, Kula starts a run for that contact, which goes through the steps from top to bottom:

Starts when: a contact subscribes to "Newsletter"
  1. Send an email      "Welcome to Acme Weekly"
  2. Wait               3 days
  3. Send an email      "Our 5 most read issues"
  4. Continue only if   plan is not set
  5. Send an email      "Try Acme Pro"

Steps run in order, with no branches. A Condition step lets a contact continue or stops their run there.

Triggers

TriggerFires whenGood for
A contact subscribes to a listA subscription to that list is confirmed: from a form, the API or the dashboardWelcome series, newsletter onboarding
A contact performs an eventYour app sends that event through the APIProduct onboarding, trial reminders, post-purchase emails

Imports never trigger a flow: imported contacts did not just sign up. With double opt-in, the flow starts when the contact confirms, not when they submit the form.

Events are sent by your app with POST /v1/events. If the address is not yet a contact, Kula creates it. Onboarding with events.

Steps

Add steps with Add email, Add delay and Add condition. A flow has up to 50 steps.

Send an email

An email with its subject, preview text, sender and content, written in the same editor as campaigns. Flow emails are marketing emails: they carry an unsubscribe link and follow your warm-up and reputation rules. Writing emails.

Wait

Pauses the run for a duration in Minutes, Hours or Days, from 1 minute to 365 days.

Condition

Continue only if the contact matches a set of conditions, built like a segment: attributes, lists, events, email activity. A contact who does not match exits the flow.

Put a wait before a condition to give contacts time to act: "Wait 3 days, then continue only if has not done project_created".

Re-entry

Re-entry sets what happens when the trigger fires again for a contact who already went through the flow:

OptionBehavior
Once per contact (default)A contact goes through the flow only once, ever
Every time the trigger firesThe contact starts again, unless they are still in the flow

Use Every time the trigger fires for repeated events, such as order_paid for a post-purchase email.

When a contact leaves a flow

A run ends when it reaches the last step (Completed) or earlier (Exited), when the contact:

  • unsubscribes from the list that triggered the flow, or from everything;
  • bounces or complains;
  • is deleted;
  • does not match a condition step.

Activate a flow

A new flow is a Draft. Activate checks the trigger and every step, then starts the flow.

Contacts already on the list do not enter the flow: only new subscriptions and new events start runs.

AI assistants can build a flow but never activate it: they request an activation, and a member clicks Approve and activate. AI assistant.

Edit a running flow

ChangeWhen
Content of an email (subject, text, sender)Any time, even while active. Contacts who have not reached the step yet get the new version
Add, remove or reorder stepsPause the flow first
Trigger and re-entryPause the flow first

While a flow is paused, no contact enters it and runs in progress wait. Click Resume to continue: runs pick up where they stopped.

If marketing is paused for your space, runs wait too, and continue once sending resumes. Reputation.

Runs

The Runs tab lists every contact who entered the flow, with the status of their run (Active, Completed, Exited, Failed), the step they are on and the reason they exited. The flow page also shows delivered, opened and clicked counts for each email step.

Welcome new subscribers

Build a welcome series

Onboarding with events

Trigger flows from your product