Skip to content

Creating Flows

Flows connect events from your application to automated email sequences. This guide covers all the configuration options available when creating or editing a flow.


Flow Structure

Every flow has three main parts:

  1. Trigger -- What event starts the flow
  2. Audience -- Who qualifies to enter the flow
  3. Steps -- What happens once a contact enters

Setting the Trigger Event

The trigger event is the event name that your application sends to Synapse via the API. When this event is received, Synapse evaluates whether to start a new trip through the flow.

  1. Enter the event name in the Trigger Event field (e.g., user_signup, order_placed, claim_submitted).
  2. This must exactly match the event_name your application sends in the API call.
Tip

You can see which event names are being received in Developer Tools > Event Schemas. This helps you pick the right name without guessing.


Entry Conditions

Entry conditions filter events based on their attributes. They let you create multiple flows for the same event, each handling different scenarios.

For example, if you have an order_placed event, you might create:

  • A flow for high-value orders where amount > 500
  • A different flow for first-time orders where is_first_order is true

How to Add Conditions

  1. Click Add Condition in the trigger section.
  2. Choose the event attribute (e.g., claim_type, amount, country).
  3. Select a comparison (equals, greater than, etc.).
  4. Enter the value to compare against.

You can add multiple conditions. All conditions must be true for the event to trigger the flow.

Note

Entry conditions check event attributes -- the data that comes with the event. They do not check contact properties. To filter by contact data, use a segment instead.


Segment Filters

A segment restricts which contacts can enter the flow. Even if the trigger event and entry conditions match, the contact must also belong to the selected segment.

  1. Open the Segment dropdown.
  2. Select an existing segment or leave it as "All Contacts".

Common uses:

  • Only send to contacts who are subscribed (not unsubscribed)
  • Only send to contacts in a specific region or product type
  • Exclude certain contact groups using segment exclusion rules

Segments are evaluated in real time when the event arrives. See Building Segments for details on creating segments.


Content Type

Each flow has a content type that affects how emails are prioritized for delivery:

Content TypeUse ForDelivery Priority
TransactionalOrder confirmations, password resets, claim notificationsHigh (sent immediately)
PromotionalMarketing campaigns, newsletters, product announcementsNormal (may be throttled during high volume)

Choose the content type that matches your flow's purpose. Transactional emails get higher delivery priority and are subject to different regulations than promotional emails.


Flow Status

Flows have four possible statuses:

StatusMeaning
DraftFlow is saved but not processing any events. Use this while building.
ActiveFlow is live and will process matching events.
PausedFlow stops accepting new trips but existing trips continue to completion.
StoppedFlow is fully stopped -- no new trips and all active trips are terminated.

Activating a Flow

  1. Build your flow with at least one step.
  2. Review the trigger, conditions, segment, and steps.
  3. Click Activate.
Warning

Activating a flow starts processing events immediately. Any matching events received after activation will trigger new trips. Events received while the flow was in draft or paused status are not retroactively processed.

Pausing a Flow

Click Pause on an active flow to stop new trips from starting. Contacts already in the flow will continue through their remaining steps (including wait steps).

Stopping a Flow

Click Stop on an active flow to fully shut it down. Unlike pausing, stopping a flow also terminates all in-progress trips immediately. Contacts mid-journey will not receive any remaining steps. You can re-activate a stopped flow later, which will allow new trips but will not resume the terminated ones.


Idempotency (Preventing Duplicates)

Synapse automatically prevents the same contact from entering the same flow twice for the same event. This is handled through:

  • An idempotency key sent with each event
  • A unique constraint on the combination of flow, contact, and trigger event

This means if your application accidentally sends the same event twice, the contact won't receive duplicate emails.

Tip

For transactional flows (like order confirmations), idempotency is critical. For promotional flows that should allow re-entry over time, you can include a date component in the idempotency key.


Flow Settings

Each flow has configurable settings that control re-entry behavior and send throttling.

Re-Entry Policy

Controls whether a contact can enter the same flow more than once:

PolicyBehavior
Never (default)A contact can only enter the flow once, ever
After CompletionA contact can re-enter after their previous trip completes
AlwaysA contact can enter any time the trigger fires, even if already in the flow
CooldownA contact can re-enter after a configurable cooldown period (in days)

Send Throttling

Limit the number of emails a flow can send within a time period to avoid overwhelming contacts:

  • Throttle Limit: Maximum sends per period (e.g., 100)
  • Throttle Period: hour or day

Conversion Goals

Conversion goals let you measure how effectively your flow drives a desired outcome. You attach goals to a flow, and Synapse tracks how many contacts who entered the flow later perform the goal event.

Creating a Goal

  1. Open the flow and go to the Goals tab.
  2. Click Add Goal.
  3. Configure the goal:
SettingDescription
NameA label for this goal (e.g., "Completed Purchase")
Event NameThe event that counts as a conversion (e.g., purchase_completed)
Event FiltersOptional filters on event attributes (e.g., amount > 50)
Attribution WindowHow long after entering the flow a conversion is counted (1--365 days, hours, or weeks)
Exit on ConversionIf enabled, the contact's trip ends when they convert (skipping remaining steps)

Viewing Goal Metrics

Once a goal is set, the flow dashboard shows conversion rate, total conversions, and time-to-conversion for each goal.

Reordering Goals

Goals are displayed in a specific order. Drag to reorder, or use the reorder action in the API. The first goal is typically your primary conversion metric.

Tip

A flow can have multiple goals. For example, an onboarding flow might track both "Completed Profile" and "Made First Purchase" as separate conversion goals.


Version History

Every time you save changes to a flow, Synapse automatically creates a version snapshot of the previous state. This gives you a full audit trail and the ability to roll back changes.

Viewing Versions

  1. Open the flow and go to the Versions tab.
  2. Each version shows the version number, who made the change, a summary of what changed, and the timestamp.

Restoring a Previous Version

  1. Find the version you want to restore.
  2. Click Restore.
  3. Optionally add a note explaining why you are restoring.
Warning

You can only restore versions on flows that are in Draft, Paused, or Stopped status. If the flow is Active, pause or stop it first, then restore the version.

Restoring a version copies the version's configuration (name, trigger, steps, conditions, settings, tags) back to the flow and increments the version number. The current state is saved as a new version before the restore, so you never lose work.


Flow Tags

Tags help you organize and filter your flows. For example, you might tag flows by team (marketing, operations), by product (standard, premium), or by purpose (onboarding, retention).

Adding Tags

  • When creating or editing a flow, add tags in the Tags field.
  • Tags are free-form strings. As you type, Synapse autocompletes from tags already used on other flows in your workspace.

Filtering by Tag

In the flows list, use the Tag filter to show only flows with a specific tag. This is useful when you have many flows and want to find all flows related to a project or team.


Bulk Actions

When you need to change the status of multiple flows at once, use bulk actions.

Available Actions

ActionFrom StatusTo Status
ActivateDraft, Paused, StoppedActive
PauseActivePaused
StopActiveStopped

How to Use

  1. In the flows list, select the flows you want to act on.
  2. Click the bulk action button (Activate, Pause, or Stop).
  3. The action is applied to each selected flow. Flows that cannot transition (e.g., pausing a draft flow) are skipped and reported as errors.

Exporting Flows

You can export your flows list as a CSV file for reporting or backup.

  1. Go to Flows in the sidebar.
  2. Optionally filter by search, status, or content type.
  3. Click Export.

The CSV includes: Name, Trigger Event, Content Type, Status, Version, Step Count, Tags, Created, and Updated dates.


Duplicating a Flow

To create a copy of an existing flow:

  1. Open the flow you want to duplicate.
  2. Click Duplicate.
  3. A new flow is created in Draft status with the name "(Copy)" appended.

The duplicate includes all steps, trigger configuration, settings, tags, and conversion goals from the original flow. It does not copy trip history or version history.


Next Steps


Looking for the API?

If you prefer to create and manage flows programmatically, see the Flows API Reference. For common automation patterns, see Flow Patterns Guide.