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., "message contains billing")
- Actions — What to do when conditions match
Triggers
| Trigger | Fires When |
|---|---|
session.created | New conversation starts |
message.received | User sends a message |
lead.captured | Lead is collected |
ticket.created | Ticket is created |
handoff.escalated | AI escalates to human |
Conditions
| Operator | Example |
|---|---|
contains | message.text contains "billing" |
equals | session.locale equals "pt-BR" |
starts_with | lead.email starts_with "test@" |
ends_with | lead.email ends_with "@gmail.com" |
not_contains | message.text not_contains "thank" |
regex | message.text matches ^(help|urgent) |
Conditions support nested fields: message.text, lead.email, session.locale, deviceType.
Actions
| Action | Description |
|---|---|
add_label | Add a label to the conversation |
resolve | Auto-resolve the conversation |
set_priority | Set ticket priority |
escalate | Escalate to human agent |
send_notification | Send alert notification |
auto_reply | Send an automatic response |
Example Rules
"Tag billing questions"
{
"name": "Tag billing questions",
"trigger": "message.received",
"conditions": [
{ "field": "message.text", "operator": "contains", "value": "billing" }
],
"actions": [
{ "type": "add_label", "value": "billing" }
]
}"Auto-resolve thank you messages"
{
"name": "Auto-resolve thanks",
"trigger": "message.received",
"conditions": [
{ "field": "message.text", "operator": "regex", "value": "^(thanks|thank you|thx)" }
],
"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