Skip to main content

Workflow Builder

The Workflow Builder is a visual editor in the Zyphr dashboard for designing notification workflows without writing code.

Getting Started

  1. Navigate to Messaging → Workflows in the dashboard
  2. Click Create Workflow
  3. Give your workflow a name (the key is auto-generated)
  4. Start adding steps

Step Types

Channel Steps

Drag channel steps onto the canvas to add notification delivery points:

StepDescriptionConfiguration
EmailSend emailSubject, HTML body, text body
PushSend push notificationTitle, body, image URL, custom data
SMSSend SMSBody text (with character counter)
In-AppSend in-app notificationTitle, body, action URL, category, priority

Delay Step

Insert pauses between notification steps:

  • Amount: Number value (e.g., 1, 24, 72)
  • Unit: Minutes, hours, or days

Common patterns:

  • Wait 1 hour before sending push fallback
  • Wait 24 hours before sending email reminder
  • Wait 3 days before re-engagement

Branch Step

Add conditional logic based on previous step outcomes. Branches let you create different notification paths based on whether a prior step succeeded or was engaged with.

How Branches Work

  1. Select a previous step in the workflow to evaluate
  2. Choose a condition to check against that step's outcome
  3. The workflow splits into two paths: Yes (condition met) and No (condition not met)
  4. Add different steps to each path

Available Conditions

ConditionDescriptionUse Case
deliveredMessage was successfully delivered to the recipientCheck if email/push/SMS reached the user
readRecipient opened or viewed the messageCheck if email was opened or in-app was seen
clickedRecipient clicked a link in the messageCheck if user engaged with the CTA
failedMessage delivery failedRoute to fallback channel on failure

Condition Syntax

Each branch evaluates as:

IF [step_name] outcome IS [condition] THEN → Yes path
ELSE → No path

For example:

  • IF "Welcome Email" outcome IS clicked → Yes: done / No: send push reminder
  • IF "Push Notification" outcome IS delivered → Yes: done / No: send SMS fallback
  • IF "SMS Alert" outcome IS failed → Yes: send email fallback / No: done

Common Branch Patterns

Engagement-based escalation:

Email → Delay 24h → Branch (email clicked?)
→ Yes: Done
→ No: Push Notification → Delay 4h → Branch (push delivered?)
→ Yes: Done
→ No: SMS

Failure fallback:

Push Notification → Branch (push delivered?)
→ Yes: Done
→ No: Email fallback

Read confirmation:

In-App Notification → Delay 1h → Branch (in-app read?)
→ Yes: Done
→ No: Email digest

Multiple Branches

You can chain branches sequentially. Each branch can contain additional branches, delays, and channel steps on either path. There is no limit to nesting depth, but keep workflows readable — deeply nested branches become hard to debug.

Template Variables

All channel step content supports {{variable}} syntax:

Title: Hello {{subscriber.name}}!
Body: Your order {{payload.orderId}} is confirmed.

Available variables:

  • {{payload.*}} — Data from the trigger payload
  • {{subscriber.name}} — Subscriber name
  • {{subscriber.email}} — Subscriber email
  • {{subscriber.metadata.*}} — Custom subscriber metadata

Workflow Lifecycle

  1. Draft — Build and test your workflow
  2. Active — Workflow accepts triggers and processes executions
  3. Paused — Temporarily stop accepting new triggers
  4. Archived — Soft-delete (existing executions complete)

Monitoring

View execution history from the workflow detail page:

  • See all executions with status (pending, running, completed, failed)
  • Click into an execution to see step-by-step progress
  • Each step shows its status, timing, and result