Skip to main content

⚡ Workflow Builder

Create powerful automations with a visual drag-and-drop interface. The Workflow Builder lets you design complex multi-step flows that respond to events, evaluate conditions, and execute actions — all without writing code.


How Workflows Work

A workflow is a directed graph of nodes connected by edges. When a trigger fires, the workflow engine traverses the graph, evaluating conditions and executing actions in order.

Behind the Scenes

The Workflow model stores each automation:

FieldDescription
nameWorkflow display name
descriptionWhat this workflow does
statusDRAFT, ACTIVE, PAUSED, or ARCHIVED
nodesJSON array of all nodes in the workflow
edgesJSON array of connections between nodes
viewportJSON object storing the canvas zoom/pan state

Each node has a type (trigger, condition, or action) and a configuration payload. Edges define the flow direction between nodes.


Getting Started

  1. Navigate to Automation > Workflows
  2. Click New Workflow
  3. Drag nodes from the sidebar onto the canvas
  4. Connect nodes by drawing edges between them
  5. Configure each node's settings by clicking on it
  6. Test the workflow with POST /workflows/:id/test
  7. Activate it with PUT /workflows/:id/activate

Node Types

🟢 Triggers

Triggers are the entry point of every workflow. Each workflow must start with exactly one trigger node.

Trigger TypeModel ValueDescription
Post Publishedpost_publishedFires when any post goes live on a connected platform
ManualmanualTriggered manually by a user or via API

See Triggers & Actions for the complete reference.

🟡 Conditions

Conditions are branching nodes that evaluate a rule and direct the flow down the "true" or "false" path.

OperatorMeaningExample
eqEqualsPlatform equals "instagram"
neqNot equalsContent type is not "TEXT_ONLY"
gtGreater thanEngagement rate > 5%
gteGreater than or equalLikes >= 100
ltLess thanHours since post < 24
lteLess than or equalComment count <= 10
containsContains substringCaption contains "#sale"
not_containsDoes not containCaption does not contain profanity

🔵 Actions

Actions are the nodes that do something when the workflow reaches them.

Action TypeModel ValueDescription
Send Notificationsend_notificationAlert team members via email or in-app notification
Create Draftcreate_draftCreate a new post draft for review
Publish Postpublish_postPublish content to a connected platform
Send Replysend_replyAuto-reply to comments or messages
WaitwaitPause the workflow for a specified duration
Boost Postboost_postCreate a paid promotion via Auto-Boost
AI Repurpose Contentai_repurpose_contentUse AI to transform content for a different platform or format

Workflow Lifecycle

StatusDescriptionTransitions
DRAFTWorkflow is being designed, not runningACTIVE
ACTIVEWorkflow is live and processing triggersPAUSED, → ARCHIVED
PAUSEDWorkflow is temporarily stoppedACTIVE, → ARCHIVED
ARCHIVEDWorkflow is retired, no longer availableTerminal state

Activate: PUT /workflows/:id/activate | Pause: PUT /workflows/:id/pause


Workflow Runs

Every time a workflow executes, a WorkflowRun record is created:

FieldDescription
triggeredByWho or what started this run
triggerEventJSON payload of the triggering event data
statusRUNNING, COMPLETED, or FAILED
nodeResultsJSON array of results from each node that executed

View run history for any workflow at GET /workflows/:id/runs. This is your audit trail for debugging and optimization.

tip

If a workflow run fails, check the nodeResults array to see exactly which node failed and why. Each node result includes its execution status, duration, and any error messages.


Templates

Start from pre-built templates for common use cases:

TemplateDescription
Auto-Boost High PerformersBoost posts that exceed an engagement threshold
Welcome New FollowersSend a welcome message or follow-up content
Escalate Negative CommentsRoute negative sentiment to a human reviewer
Weekly Performance DigestAuto-generate and send a weekly report
Content RepurposeAutomatically adapt top posts for other platforms

API Reference

EndpointMethodDescription
/workflowsGETList all workflows
/workflowsPOSTCreate a new workflow
/workflows/:idGETGet workflow details
/workflows/:idPUTUpdate workflow configuration
/workflows/:idDELETEDelete a workflow
/workflows/:id/activatePUTActivate a draft or paused workflow
/workflows/:id/pausePUTPause an active workflow
/workflows/:id/runsGETList execution history
/workflows/:id/testPOSTTest-run the workflow with sample data