📋 Triggers & Actions Reference
Complete reference for all available Workflow Builder components. Every workflow is composed of three node types: triggers (entry points), conditions (branching logic), and actions (operations).
Triggers​
Triggers are the starting point of every workflow. A workflow fires when its trigger condition is met.
| Trigger | Model Value | Description | Example Use Case |
|---|---|---|---|
| Post Published | post_published | Fires when a post goes live on any connected platform | Auto-boost new posts, send team notification |
| Manual | manual | Triggered by a user clicking "Run" or via API call | On-demand report generation, one-off actions |
Trigger nodes have a triggerType field that maps to one of the values above. When the event occurs, the workflow engine creates a WorkflowRun with the triggerEvent JSON containing all relevant event data (post ID, platform, timestamp, etc.). The run then proceeds through the connected nodes.
The post_published trigger is the most versatile — combine it with condition nodes to filter by platform, content type, or any other attribute before taking action.
Conditions​
Conditions evaluate a rule and branch the workflow into two paths: true (condition met) and false (condition not met). You can chain multiple conditions for complex logic.
Available Operators​
| Operator | Model Value | Description | Example |
|---|---|---|---|
| Equals | eq | Exact match | platform eq "instagram" |
| Not Equals | neq | Does not match | contentType neq "MEME" |
| Greater Than | gt | Numeric comparison | engagementRate gt 5 |
| Greater Than or Equal | gte | Numeric comparison | likes gte 100 |
| Less Than | lt | Numeric comparison | hoursSincePost lt 24 |
| Less Than or Equal | lte | Numeric comparison | comments lte 5 |
| Contains | contains | Substring match | caption contains "#sale" |
| Not Contains | not_contains | Substring exclusion | caption not_contains "draft" |
Common Condition Patterns​
| Condition Pattern | What It Checks |
|---|---|
| Platform check | Filter by Facebook, Instagram, or TikTok |
| Engagement level | Above or below a metric threshold |
| Content type | Filter by CAROUSEL, REEL, STATIC_IMAGE, TEXT_ONLY, VIDEO |
| Content category | Filter by EDUCATIONAL, PRODUCT, PROMOTIONAL, UGC, etc. |
| Time window | Only during certain hours or days |
| Audience segment | Only for specific audience segments |
| Has CTA | Whether the post contains a call-to-action |
| Hashtag count | Posts with more/fewer than N hashtags |
Chain conditions to create precise targeting. For example: platform eq "instagram" → contentFormat eq "REEL" → engagementRate gt 3 → then boost the post.
Actions​
Actions are the operations your workflow performs when conditions are met. Multiple actions can be chained in sequence, and the wait action lets you add delays between steps.
| Action | Model Value | Description | Configurable Options |
|---|---|---|---|
| Send Notification | send_notification | Alert team members | Recipients, channel (email/in-app/push), message template |
| Create Draft | create_draft | Create a new post draft | Platform, content template, assigned reviewer |
| Publish Post | publish_post | Publish content to a platform | Platform, account, schedule time |
| Send Reply | send_reply | Auto-reply to comments/messages | Reply template, tone, personalization |
| Wait | wait | Pause workflow execution | Duration (minutes, hours, days) |
| Boost Post | boost_post | Create a paid promotion | Budget, duration, targeting config (see Auto-Boost) |
| AI Repurpose Content | ai_repurpose_content | Transform content for another platform/format | Target platform, target format, tone adjustments |
Example Workflows​
Auto-Boost High-Performing Reels​
[Trigger: post_published]
→ [Condition: platform eq "instagram"]
→ TRUE → [Condition: contentFormat eq "REEL"]
→ TRUE → [Action: wait 2 hours]
→ [Condition: engagementRate gt 5]
→ TRUE → [Action: boost_post ($20, 48h)]
→ FALSE → (end)
→ FALSE → (end)
→ FALSE → (end)
Cross-Platform Content Repurpose​
[Trigger: post_published]
→ [Condition: platform eq "instagram"]
→ TRUE → [Condition: engagementRate gt 3]
→ TRUE → [Action: ai_repurpose_content (target: TikTok)]
→ [Action: create_draft]
→ [Action: send_notification ("New repurposed draft ready for review")]
→ FALSE → (end)
→ FALSE → (end)
Negative Comment Escalation​
[Trigger: post_published]
→ [Action: wait 1 hour]
→ [Condition: comments gt 0]
→ TRUE → [Action: send_notification ("Review comments on new post")]
→ FALSE → (end)
Node Execution & Results​
When a workflow runs, each node that executes produces a result stored in the WorkflowRun's nodeResults JSON array. Each result includes:
- Node ID — Which node ran
- Status — Success or failure
- Duration — How long the node took to execute
- Output — Any data produced (e.g., the boosted ad ID, the created draft ID)
- Error — Error details if the node failed
View run history at GET /workflows/:id/runs to debug and optimize your workflows.
If an action node fails (e.g., ad account has insufficient budget for boost_post), the workflow run status is set to FAILED. Check the nodeResults to identify the failing node and fix the configuration.
Related Pages​
- Workflow Builder — Visual editor for building workflows
- Auto-Boost & Ads — Deep-dive into the
boost_postaction - Post Analytics — Metrics that power condition evaluations
- Competitor Intelligence — Content classification data used in conditions