Build
Workflow Engine
A linear trigger → conditions → actions step list. The built-in baseline below is merged at runtime with whatever a workspace's installed modules declare — the builder palette is always accurate, never hardcoded per module.
Triggers
16 built-in triggers ship today; installed modules can declare more via workflowTriggers[] in their manifest (format entity.event), merged in by mergeWorkflowTriggers().
Actions
9 built-in step types; modules add more via workflowActions[] (format verb_noun), merged in by mergeWorkflowActions().
| condition | Continue only if a value matches |
| delay | Wait N seconds before the next step |
| send_message | Message the customer on their channel |
| http_request | Call an external URL (webhook/CRM) |
| set_variable | Store a value for later steps |
| tag | Add a tag to the customer |
| create_ticket | Open a support ticket |
| ai_prompt | Generate text with your AI provider, saved to a variable |
| assign_conversation | Route the triggering conversation to a department/agent |
Conditions
A condition step compares a value against an operand and stops the workflow if it doesn't match:
eq — equalsneq — not equalsgt — greater thangte — at leastlt — less thanlte — at mostcontains — containsnot_contains — doesn't containstarts_with — starts withends_with — ends withexists — existsempty — is emptyregex — matches regexVariables
Steps interpolate {{trigger.field}} (data from the event that fired the workflow) and {{vars.name}} (values a set_variable or ai_prompt step saved earlier in the same run) into any text field — message bodies, HTTP request URLs/bodies, and AI prompts.
Interpolation example
{ "type": "send_message", "text": "Thanks for order #{{trigger.number}}! Total: {{trigger.total_cents}}" }Starter templates
6 one-click workflows you can install and customize:
Big-order thank-you
When a large order comes in, wait an hour then send a VIP thank-you.
trigger: order.created · 4 actions
New order → CRM
Forward every new order to an external CRM/endpoint.
trigger: order.created · 1 action
Welcome new customer
Greet customers the moment they join.
trigger: customer.joined · 1 action
New referral → ticket
Open a follow-up ticket when a referral is created.
trigger: referral.created · 1 action
AI ticket acknowledgement
When a ticket opens, AI drafts a personalised acknowledgement and sends it.
trigger: ticket.created · 2 actions
Order → thank & tag buyer
Thank paying customers instantly and tag them as buyers.
trigger: order.created · 2 actions
AI steps
The ai_prompt step generates text with the workspace's AI provider and saves it to a variable (saveAs) for a later step to use — see the “AI ticket acknowledgement” template above for a full example. This is a workflow step, distinct from an AI Studio Agent — see AI Studio for the full conversational agent runtime.