A trigger fires. Conditions branch. Actions run.
Keyword match — “reorder”
Any connected channel
Customer branch is Pokhara
Condition on a field of the incoming message
Tag conversation
Reorder · Pokhara
AI reply
Drafted from your price list
Notify team
Branch sales, in real time
Keyword match — “reorder”
Any connected channel
Customer branch is Pokhara
Condition on a field of the incoming message
Tag conversation
Reorder · Pokhara
AI reply
Drafted from your price list
Notify team
Branch sales, in real time
One workflow, drawn as the engine holds it.
Automation
Workflows execute asynchronously, off the webhook path, so one that fails can never delay or drop the message that started it. Every node writes a step record — including the branch that was not taken.
The trace
What happened when it ran
The execution record, including the branch the conditions skipped. A workflow engine you can only hope about is not one you can operate.
A test run is dry by default
Conditions evaluate for real and the trace is the real trace. Nothing reaches a customer until you run it for real — which is a separate choice, not a checkbox you might miss.
Build a workflow on a trigger, branch it on conditions, and run actions against the conversation that fired it. Every run writes a step record, including the branch it skipped.
What is registered
Every node the engine actually has.
Not a builder full of plausible-sounding blocks. This is the registry, and a node that is not on it is not on the canvas.
Triggers
What starts a run
- Message received on any connected channel
- Keyword match on the incoming message
- AI marked the conversation unresolved
Conditions
What decides the branch
- Any field on the incoming message or conversation
- Business hours, evaluated in your timezone
- Channel, tag, or assignment state
Actions
What the run does
- Send a reply, or an AI reply drafted from your documents
- Tag the conversation, or set its AI status
- Notify the team in real time
- POST to a URL you own — your ERP, or an incoming webhook