Automation Rules
Create no-code "when X happens, do Y" rules for your chatbots
Automation Rules
Automate repetitive tasks with rules that trigger on chatbot events. No code required.
How It Works
Each rule has three parts:
- Trigger — What event starts the rule
- Conditions — Optional filters (e.g., "locale equals pt-BR"). All conditions must match (AND)
- Actions — What to do when conditions match
Triggers
Currently firing triggers:
| Trigger | Fires When |
|---|---|
session.created | New conversation starts |
lead.captured | Lead is collected |
Additional triggers (message.received, ticket.created,
handoff.escalated) are defined but not yet active.
Conditions
| Operator | Example |
|---|---|
contains | lead.email contains "@gmail" |
equals | locale equals "pt-BR" |
starts_with | lead.email starts_with "test@" |
ends_with | lead.email ends_with "@gmail.com" |
not_contains | lead.name not_contains "test" |
regex | lead.email matches @(gmail|outlook)\. (case-insensitive) |
Fields available today: lead.name and lead.email (on lead.captured),
locale and deviceType (on session.created). Nested fields use dot
notation.
Actions
| Action | Status |
|---|---|
resolve | ✅ Auto-resolves the conversation |
add_label | 🚧 Accepted, execution in development |
set_priority | 🚧 Accepted, execution in development |
escalate | 🚧 Accepted, execution in development |
send_notification | 🚧 Accepted, execution in development |
auto_reply | 🚧 Accepted, execution in development |
Example Rule
"Auto-resolve short-lived sessions from a locale"
{
"name": "Auto-resolve pt-BR sessions",
"trigger": "session.created",
"conditions": [
{ "field": "locale", "operator": "equals", "value": "pt-BR" }
],
"actions": [
{ "type": "resolve", "value": "" }
]
}API
| Method | Endpoint | Action |
|---|---|---|
GET | /api/automations | List all rules |
POST | /api/automations | Create rule |
PATCH | /api/automations | Update rule |
DELETE | /api/automations | Delete rule |
Rules execute in priority order (higher priority first). Disable a rule by setting active: false.
Last updated on