Workflow Builder

Create automated messaging flows with our visual builder

Overview

Workflows in Smobi are visual representations of messaging sequences that can:

  • Send messages automatically
  • Respond to customer interactions
  • Branch based on conditions
  • Include delays and timing
  • Use dynamic variables for personalization
  • Send webhooks to your application

Getting Started

Accessing the Workflow Builder

  1. Log into your Smobi dashboard
  2. Navigate to Flows in the sidebar
  3. Click Create New Workflow or select an existing workflow to edit

Workflow Builder Interface

The workflow builder consists of several key areas:

  • Toolbar: Save, publish, test, and version management
  • Node Palette: Available workflow nodes and activities
  • Canvas: Main workspace where you build your workflow
  • Configuration Panel: Settings for selected nodes

Core Concepts

Nodes

Nodes are the building blocks of your workflow. Each node represents a specific action or decision point:

Trigger Node

  • Purpose: Starting point of the workflow
  • Configuration: Defines when the workflow should start
  • Example: Manual trigger, scheduled trigger, or API trigger

Message Node

  • Purpose: Send messages to customers
  • Configuration: Message content, channel preferences, timing
  • Features: Rich cards, carousels, interactive buttons

Condition Node

  • Purpose: Branch workflow based on conditions
  • Configuration: Define conditions and branching logic
  • Examples: Customer response matching, variable comparisons

Delay Node

  • Purpose: Add timing delays between actions
  • Configuration: Duration and timing options
  • Use Cases: Spacing out messages, respecting quiet hours

Connections

Connections define the flow between nodes:

  • Linear Flow: Simple sequential execution
  • Conditional Branches: Different paths based on conditions
  • Parallel Execution: Multiple paths running simultaneously

Building Your First Workflow

Step 1: Create a New Workflow

  1. Click Create New Workflow
  2. Enter a name in the toolbar

Step 2: Add Your First Message

  1. Drag a Message Node from the palette to the canvas
  2. Connect it to the trigger node
  3. Configure the message content:
    • Text Content: Your message text
    • Rich Content: RCS cards, images, buttons
    • SMS Fallback: Text for non-RCS devices
    • Interactive Elements: Reply buttons, URL links

Step 3: Add a Delay

  1. Drag a Delay Node to the canvas
  2. Connect it after your message node
  3. Set the delay duration (e.g., 30 seconds, 1 hour, 1 day)

Step 4: Add a Follow-up Message

  1. Add another Message Node
  2. Connect it after the delay
  3. Configure a follow-up message
  4. Consider adding conditional logic based on customer responses

Step 5: Test Your Workflow

  1. Click the Test button in the toolbar
  2. Enter a test phone number (use your personal number)
  3. Click Execute to run the workflow
  4. Monitor the execution in real-time

Advanced Features

Variables and Personalization

Workflows support dynamic variables for personalization:

System Variables

  • {{customer_first_name}} - Customer’s name
  • {{customer_last_name}} - Customer’s last name
  • {{customer_phone}} - Customer’s phone number
  • {{customer_email}} - Customer’s email address

Custom Variables

  • Define your own variables for workflow-specific data
  • Pass variables when executing workflows via API
  • Use variables in message content and conditions

Variable Usage Examples

Within the node configuration panel:

"Hello {{ customer_first_name }}, your order {{ order_id }} is ready for pickup!"

Default Values for Variables

Within the node configuration panel:

"Hello {{ customer_first_name | "there" }}, your order {{ order_id }} is ready for pickup!"

Conditional Logic

Create intelligent workflows that respond to customer interactions:

Response Matching

  • Match exact text responses
  • Use pattern matching for flexible responses
  • Handle multiple response options

Example Conditional Flow

Trigger → Welcome Message → Wait for Response →
├─ If "Yes" → Send Confirmation → End
└─ If "No" → Send Alternative → End

Message Types

Text Messages

Simple text-based messages with optional interactive buttons.

Rich Cards

Enhanced messages with:

  • Title and Description: Message information
  • Media: Images, videos, or other content
  • Layout Options: Orientation, height, thumbnail position
  • Interactive Buttons: Local suggestions for the card

Carousels

Multiple rich cards in a scrollable format:

  • Multiple Items: Display several images
  • Configurable Width: Small or medium carousel size
  • Global Actions: Buttons that apply to the entire carousel

Interactive Elements

All suggestion types can be used in workflows to trigger connections to other nodes.

Reply Buttons

  • Purpose: Enable quick customer responses
  • Configuration: Button text and response handling

URL Buttons

  • Purpose: Link to external content
  • Configuration: Button text and destination URL

Phone Buttons

  • Purpose: Initiate phone calls
  • Configuration: Button text and phone number

Location Buttons

  • Purpose: Share location information
  • Configuration: Coordinates and location label

Workflow Management

Saving and Versioning

Save Your Work

  • Click Save to preserve your changes
  • Workflows are saved as drafts until published
  • Multiple versions can be maintained
  • Workflows cannot be triggered in draft mode

Version Management

  • Create Versions: Save different iterations of your workflow
  • Version History: Track changes over time
  • Rollback: Revert to previous versions if needed

Publishing Workflows

Publish Process

  1. Save your workflow
  2. Publish to make it active
  3. Test with your personal number
  4. Execute via API or dashboard

Publishing Options

  • Publish: Make workflow available for execution
  • Set as Current: Make this the default version

Workflow Analytics

Execution Tracking

  • Monitor workflow executions in real-time
  • Track completion rates and drop-off points
  • Analyze customer journey patterns

Performance Metrics

  • Completion Rate: Percentage of workflows completed
  • Response Rate: Customer interaction rates
  • Time to Complete: Average workflow duration

Testing and Debugging

Testing Your Workflow

Test Execution

  1. Use the Test button in the workflow builder
  2. Enter your personal phone number
  3. Execute the workflow step by step
  4. Monitor message delivery and timing

Debugging Tips

  • Check Node Configuration: Verify all nodes are properly configured
  • Test Variables: Ensure variables are being populated correctly
  • Monitor Execution: Use the execution log to track flow
  • Check Message Delivery: Verify messages are being sent

Common Issues

Workflow Not Starting

  • Check trigger configuration
  • Verify API key and permissions
  • Ensure workflow is published

Messages Not Sending

  • Verify phone number format (digits only, e.g. 12223334444)
  • Check message content validation
  • Ensure RCS approval is complete

Integration with API

Executing Workflows

Once published, workflows can be executed via API:

1// Execute single workflow
2const result = await client.workflows.executeWorkflowSingle(
3 "workflow-definition-id",
4 "15552223333",
5 {
6 variables: {
7 customerName: "John Doe",
8 orderId: "12345"
9 }
10 }
11);
12
13// Execute batch workflow
14const batchResult = await client.workflows.executeWorkflowBatch(
15 "workflow-definition-id",
16 {
17 executions: [
18 {
19 phoneNumber: "15552223333",
20 variables: {
21 "customer.name": { name: "customer.name", value: "John Doe" }
22 }
23 }
24 ]
25 }
26);

Webhook Integration

Configure webhooks to receive real-time updates about workflow execution:

  • Execution Started: When a workflow begins
  • Node Completed: When individual nodes finish
  • Execution Completed: When the entire workflow finishes
  • Customer Interactions: When customers respond or interact

Next Steps