What Are Automation Rules?
Automation rules let you take automatic actions when a conversation starts, based on who the player is. Think of it like a VIP entrance at a club—high-value players get special treatment before they even start talking to the AI. Common use cases:- VIP routing — Send platinum players directly to human agents
- Restricted players — Auto-close tickets for self-excluded players
- High-risk flagging — Escalate players with unusual activity patterns
Creating Your First Rule
Name Your Rule
Give it a descriptive name like “VIP Platinum Escalation” or “Self-Excluded Auto-Close”.
Choose When It Triggers
Select a trigger event:
- Conversation Started — Evaluates the moment a player sends their first message.
- Content Detected — Evaluates on every inbound message (used by Content Shield).
- Ticket Escalated — Evaluates when the AI escalates a conversation to a human agent. Use this to run actions at the moment of handoff — for example, notifying your team or auto-closing when no live agents are available.
Add Conditions (Optional)
Click Add Condition to specify which players this rule applies to:
- Select a data source (a back-office tool or computed attribute)
- Choose the field (like
vipLevelorplayerStatus) - Pick an operator (equals, greater than, contains, etc.)
- Enter the value to compare against
Choose the Action(s)
Select what happens when conditions match:
- Escalate to Human — Immediately sends to a human agent (terminal — stops AI processing)
- Close Ticket — Closes the conversation (terminal — stops AI processing). Optionally include a farewell message that the player sees before the ticket is closed — supports template variables like
{{contact.firstName}}and automatic translation. - Route to Group — Assigns to a specific agent group (side-effect — AI still processes)
- Send Notification — Sends a message via Slack, Teams, or email (side-effect)
Each rule can have one terminal action (Escalate or Close) plus any number of side-effect actions (Route to Group, Send Notification). Side-effect actions always execute first, then the terminal action runs.
Escalate to Human Options
When you select Escalate to Human, you can configure how the handoff works:- Silent mode — Toggle this on to transfer the player without sending any message. Use this for Content Shield rules or VIP routing where you want a seamless, invisible handoff.
-
Custom message — When silent mode is off, you can write a custom message that the player sees before the transfer. Leave it blank to use the default: “I’m transferring you to a Support Specialist that can assist you further.”
Your custom message supports template variables like
{{contact.firstName}}— they’ll be replaced with the player’s actual data. The message is also automatically translated to the player’s detected language. - Block player input (Zendesk only) — When enabled, the chat widget hides the text input box until a human agent responds. This prevents players from sending messages during the handoff.
How Conditions Work
Conditions let you target specific players. Each condition compares a piece of player data against a value:Basic Operators
| Operator | What It Does | Example |
|---|---|---|
equals | Exact match | vipLevel equals "platinum" |
not equals | Doesn’t match | status not equals "active" |
greater than | Numeric comparison | totalDeposits > 10000 |
less than | Numeric comparison | balance < 0 |
contains | Text/list search | tags contains "high-risk" |
is in | Value in list | status is in ["banned", "suspended"] |
Tag-Based Operators
These operators are perfect for routing based on player tags or badges:| Operator | What It Does | Example |
|---|---|---|
contains any of | Matches if player has ANY of the listed values | tags contains any of ["vip", "whale", "platinum"] |
contains all of | Matches if player has ALL of the listed values | badges contains all of ["verified", "depositor"] |
does not contain any of | Matches if player has NONE of the listed values | restrictions does not contain any of ["banned", "self-excluded"] |
When to use which:
- Contains any of — VIP routing where any high-value tag should trigger escalation
- Contains all of — Multi-requirement checks where ALL criteria must be met
- Does not contain any of — Safety checks to ensure player has no restriction flags
Case-Insensitive Matching
All string operators support case-insensitive matching. Toggle the Aa button next to a condition to enable it — when active,"VIP" matches "vip", "Vip", etc.
Priority Order
When you have multiple rules, they’re evaluated in priority order. The first matching rule wins—remaining rules are skipped. Drag rules in the list to reorder them. Put more specific rules higher in the list.Example: VIP vs. Self-Excluded Priority
Example: VIP vs. Self-Excluded Priority
If a player is both VIP platinum AND self-excluded:
- Priority 1: If self-excluded → Close Ticket (matches first, rule fires)
- Priority 2: If VIP platinum → Escalate (never evaluated)
Managing Rules
Toggle Rules On/Off
Use the switch next to each rule to enable or disable it without deleting. Great for:- Testing new rules in production
- Temporarily disabling during maintenance
- A/B testing different routing strategies
Edit or Delete
Click any rule to edit its conditions or actions. Click the trash icon to archive a rule (you can restore it later if needed).Common Patterns
Brand-Based Routing
Route conversations to different agent groups based on brand.Condition: Player Fields → Brand = “Brand 1”
Action: Route to Group → “Brand 1 Team”Create one rule per brand, each pointing to its own group.
VIP Escalation
Route high-value players to human agents immediately.Condition:
vipLevel equals "platinum"
Action: Escalate to HumanSelf-Excluded Handling
Auto-close for players who shouldn’t be playing.Condition:
playerStatus equals "self-excluded"
Action: Close TicketNegative Balance Alert
Escalate players who have withdrawn more than deposited.Condition:
totalWithdrawals > totalDeposits
Action: Escalate to HumanMaintenance Mode
Close all conversations during scheduled maintenance.Condition: (none)
Action: Close Ticket
VIP Escalation + Notification
Escalate VIP players AND notify the VIP support team.Condition:
vipLevel equals "platinum"
Actions:- Send Notification → Slack #vip-alerts
- Escalate to Human
Farewell on Escalation
When the AI escalates, send a farewell message and close — a human follows up directly in the help desk.Trigger: Ticket Escalated
Condition: (none)
Action: Close Ticket with farewell message: “Thanks for reaching out! A specialist will review your case and follow up shortly.”The farewell is sent while Cevro still controls the channel. Channel transfer is skipped — the human picks up the ticket from the help desk queue.
Tag-Based Routing Examples
Multi-Tag VIP Routing
Escalate players with ANY high-value tag.Condition:
tags contains any of ["vip", "whale", "high-roller", "platinum"]
Action: Escalate to HumanGreat for when players can have different VIP designations across systems.Verified Player Check
Only allow players who have completed ALL verification steps.Condition:
badges contains all of ["email-verified", "kyc-complete"]
Action: (proceed normally)Use with other rules to ensure full verification before sensitive actions.Restriction Blocking
Block players with ANY restriction flag.Condition:
restrictions contains any of ["self-excluded", "cooling-off", "timeout-active"]
Action: Close TicketCatches all responsible gaming restrictions in one rule.Clean Player Fast-Track
Fast-track players with no issues.Condition:
flags does not contain any of ["fraud-alert", "chargeback", "abuse-warning"]
Action: (proceed normally)Combine with other conditions for priority routing.Data Sources
Rules can use data from:- Player Fields — Built-in contact attributes like Brand, First Name, Email. The Brand field is especially useful — it shows a dropdown of all your brands for easy selection. No authentication required.
- Back-office tools — Real-time data from your player management system (balance, VIP level, status). Only data-retrieval tools appear in the condition builder — action tools (like “issue bonus”) are excluded since they perform changes rather than reading data.
- Session Information — Built-in data about the player’s browser, device, location, and help desk metadata. This is always available — no authentication required.
- Computed attributes — Custom calculations combining multiple data sources
Don’t have back-office tools connected yet? See Connect Platform to set up your integrations.
Important: Using Back-Office Data
Rules using back-office tools require player authentication.When you use fields from back-office tools (like VIP level or account balance),
Cevro needs to know who the player is before it can look up their data.
How Authentication Works With Rules
Cevro authenticates the player before evaluating automation rules. This means rules that use back-office data work as long as the player’s identity is available when the conversation starts.| Your Setup | What Happens |
|---|---|
| Help-desk auth configured | Players are automatically identified when they start chatting. Rules using back-office data (VIP level, balance, etc.) work immediately. |
| No help-desk auth | Players identify themselves during the conversation (e.g., via email verification). Since this happens after rules have already been evaluated, rules using back-office data won’t fire at “Conversation Started.” |
Performance Considerations
Rules using back-office data make an API call when the conversation starts. This adds a small delay before the first response. For most setups, this is negligible, but high-volume operations should be aware.Alternatives
If you need rules that work without help-desk authentication:- Use Session Information — Built-in data about the player’s browser, device, and location is always available
- Use computed attributes — Create derived values that don’t depend on real-time back-office data
Creating a Tag-Based VIP Routing Rule
Here’s a step-by-step example of setting up a rule that routes VIP players (based on tags) to human agents:Select the trigger
Choose Conversation Started as the trigger event. (For post-escalation rules, choose Ticket Escalated instead.)
Add a tag-based condition
Click Add Condition and configure:
- Data source: Select your player data tool (e.g., “Get Player Dashboard”)
- Field: Select
tags(or your equivalent field that returns an array of player tags) - Operator: Select Contains any of
- Values: Add each tag by typing and pressing Enter:
vipwhalehigh-rollerplatinum
Tips for Success
Start simple, then refine
Start simple, then refine
Create one rule at a time. Test it with real conversations before adding complexity.
Use descriptive names
Use descriptive names
“VIP Platinum Immediate Escalation” is better than “Rule 1”. Future you will thank present you.
Monitor new rules
Monitor new rules
After deploying a rule, watch your analytics for the first few days. Are the right conversations being routed?
Document your logic
Document your logic
Use the description field to explain WHY a rule exists, not just what it does.
Troubleshooting
| Issue | Solution |
|---|---|
| Rule never fires | Check that your condition matches the actual player data. Test the tool in Playground first. |
| Rule never fires (uses back-office data) | Your workspace may not have help-desk auth configured. Without it, player identity isn’t available when rules evaluate. |
| Rule works in Playground but not in production | Make sure help-desk auth is configured on your channel. In Playground, “Pre-authenticate” provides the identity automatically. |
| Wrong rule fires | Reorder your rules so more specific ones come first. |
| Rule fires unexpectedly | Your condition may be too broad. Add more specific conditions. |
| Can’t find the data field | Make sure the back-office tool is configured and returning the field you expect. |
| Notification didn’t send | Check the integration and recipient ID in your Send Notification action. Side-effect failures don’t block the main action. |
| Escalation sends no message | Silent mode is enabled on the action. Turn it off to send a message before transferring. |
| Block input not working | This feature only works with Zendesk. Other channels don’t support hiding the text input. |
| Two terminal actions error | Rules can have at most one terminal action (Escalate, Close, or Route). Use Send Notification for additional actions. |
| Ticket Escalated rule never fires | Make sure the trigger is set to Ticket Escalated, not Conversation Started. This trigger only fires when the AI escalates — not at ticket creation. |
| Farewell message not showing | Check that you’ve entered a message in the Close Ticket action’s farewell message field. If left blank, the ticket closes silently. |
| Ticket escalated but player not transferred to agent | A Ticket Escalated rule with Close Ticket fired — this closes the conversation and skips transfer. The human picks up the ticket from the help desk queue instead. If you need live transfer, remove the Close Ticket action. |
| Escalated ticket not marked as resolved | By design — escalated tickets are not resolved. Close Ticket only closes the helpdesk conversation. Resolution happens when the AI handles the issue without escalation. |
Content Shield
Automation rules power Content Shield — a safety feature that detects sensitive content (like self-harm) in player messages and silently escalates to human agents. Content Shield uses the Content Detected trigger, which evaluates on every inbound message (not just the first). When sensitive content is detected, the configured actions fire — typically silent escalation with zero automated messages sent to the player. You can combine escalation with a notification to alert your team immediately.Ticket Escalated Rules
Rules with the Ticket Escalated trigger fire when the AI decides to hand a conversation off to a human agent — whether through an AIP instruction, a tool action, or any other escalation path. This is useful for post-escalation workflows:- Auto-close with a farewell message when no live agents are available (e.g., outside business hours)
- Notify a team channel every time an escalation happens, so managers have visibility
- Route escalated tickets to a specific group based on player data (VIP escalations go to the VIP team)
Unlike Conversation Started rules (which fire once at ticket creation), Ticket Escalated rules fire at the moment of escalation — which could be mid-conversation after the AI has already been interacting with the player.
The Escalate to Human action is not available for Ticket Escalated rules — the ticket is already being escalated, so escalating again would be redundant.
Need more complex routing logic? Automation rules are designed for simple, predictable routing. For nuanced decisions, let the AI handle classification and use AI Procedures to guide the conversation.