Enbbox Docs

Workflows

Enbbox workflows — define multi-step notification sequences with channel steps (email, SMS, push, in-app, chat), delays, digests, and conditional logic.

A Workflow is the core building block in Enbbox. It defines the sequence of steps a notification goes through — from trigger to delivery.

Workflow Steps

Each workflow consists of one or more steps. Steps are executed sequentially, and the workflow progresses through each step until completion.

Types of Steps

Step TypeDescription
In-AppSend a notification to the subscriber's in-app inbox
EmailSend an email notification
SMSSend an SMS notification
PushSend a push notification
ChatSend a chat message (Slack, Discord, Teams)
DigestAggregate multiple trigger events into a single notification
DelayWait for a specified duration before proceeding
CustomExecute custom logic via webhooks

Designing Multi-Channel Sequences

A typical multi-channel workflow might look like:

  1. In-App — Immediately notify the user in the app
  2. Delay — Wait 1 hour
  3. Email — If the in-app notification wasn't read, send an email
  4. Delay — Wait 24 hours
  5. SMS — If still unread, send an SMS

Workflow Editor

The Enbbox dashboard provides a visual Workflow Editor where you can:

  • Drag and drop steps to build notification sequences
  • Configure each step's content and settings
  • Set conditions for step execution
  • Preview notification content with sample data

Workflow Identifier

Every workflow has a unique identifier (slug) used to trigger it via the API:

await enbbox.trigger("order-shipped", {
  to: { subscriberId: "user-123" },
  payload: { orderNumber: "ORD-456" },
});

The identifier is auto-generated from the workflow name but can be customized.

Workflow Status

Workflows can be in one of these states:

  • Active — The workflow is live and will process triggers
  • Inactive — The workflow is paused and will not process triggers
  • Draft — The workflow has unsaved changes

Workflow Tags

Tags help you organize and filter workflows. Common use cases:

  • transactional — Order confirmations, password resets
  • marketing — Product updates, newsletters
  • system — System alerts, maintenance notifications
  • onboarding — Welcome sequences, setup guides

Critical Workflows

Mark workflows as critical to override subscriber preferences. Critical workflows (e.g., password resets, security alerts) are always delivered regardless of the subscriber's notification settings.

Triggering Workflows

Workflows are triggered via the API or SDK:

// Simple trigger
await enbbox.trigger("welcome-flow", {
  to: { subscriberId: "user-123" },
  payload: { name: "John" },
});

// Trigger for multiple subscribers
await enbbox.trigger("product-update", {
  to: [{ subscriberId: "user-1" }, { subscriberId: "user-2" }],
  payload: { feature: "New Dashboard" },
});

// Trigger for a topic
await enbbox.trigger("weekly-digest", {
  to: [{ type: "Topic", topicKey: "newsletter-subscribers" }],
  payload: { weekNumber: 12 },
});

Frequently Asked Questions

Do I have to create a workflow to send notifications?

Yes. All notifications in Enbbox are sent through workflows. This ensures consistent delivery, tracking, and preference management.

Can workflows be created and managed via code?

Yes. While the dashboard provides a visual editor, workflows can also be defined and managed using the Enbbox Framework SDK for a code-first approach.

On this page