Skip to content
AnytimeReply

Helpdesk

Triggers: helpdesk automation

When something happens in a chat and the conditions match, set priority, tag, assign, email, post to Slack, call a webhook or reply.

Open Activity → Team & automations → Triggers and click New trigger, or start from a template: Angry customers → urgent, Refund requests → Billing, Bad rating → email the manager, VIP customers → urgent.

A trigger has a When, optional If (all of these) conditions and one or more Then actions (up to 8). Triggers run in the background after the event — they never slow down the chat — and never trigger each other.

When

EventFires when
A new chat startsconversation.created
The customer sends a messagemessage.received
A chat is handed to the teamhandoff.requested
A ticket is createdticket.created
A chat is closedconversation.closed
The customer rates the chatcsat.received

If (conditions)

Up to 10 conditions; all must match. No conditions means it runs every time.

FieldExamples
ChannelWHATSAPP, WIDGET, EMAIL
Chat statusAI, HUMAN, CLOSED
Prioritylow, normal, high, urgent
Teama department name
Tagsvip
Customer's messagewords in the customer's last message
Customer email / Customer phone@bigclient.com
Moodthe customer's mood as detected by the AI
Countrythe visitor's country
Assignee (member id)a team member
Rating (1-5)use ≥ or ≤
Handoff reasonwhy the chat was handed over

Operators: is, is not, contains, doesn't contain, is set, is empty, ≥ and ≤. Separate several values with commas — is refund, return matches either.

Then (actions)

ActionNotes
Set prioritylow · normal · high · urgent (also on the ticket)
Add a tag
Assign toA team member — they get a notification
Move to teamA department
Add an internal noteOnly your team sees it
Send an emailTo any address, with subject and message
Post to SlackA Slack incoming-webhook URL
Call a webhookPOST to your URL, optionally signed
Reply to the customerSent in the chat
Hand to the teamWith an optional reason
Close the chat

Placeholders

Messages, emails and Slack posts can use {{contact_name}}, {{contact_email}}, {{contact_phone}}, {{text}} (last customer message), {{channel}}, {{priority}}, {{department}}, {{assignee_name}}, {{mood}}, {{country}}, {{csat}}, {{tags}} and {{link}} (the chat in your dashboard).

Example: Bad rating → email the manager
When:  The customer rates the chat
If:    Rating (1-5) ≤ 2
Then:  Send an email to [email protected]
       Subject: Low rating from {{contact_name}}
       Message: A customer rated a chat {{csat}}/5.
                Last message: {{text}}
                {{link}}

Trigger webhooks

The Call a webhook action sends:

JSON
{
  "trigger": "VIP customers → urgent",
  "at": "2026-10-19T09:30:00.000Z",
  "conversation": {
    "id": "…", "agent_id": "…", "channel": "WHATSAPP", "status": "HUMAN",
    "priority": "urgent", "department": "Sales", "department_id": "…", "tags": ["vip"],
    "text": "I need help with my order", "contact_name": "Nadia",
    "contact_email": "", "contact_phone": "+8801700000000",
    "mood": "frustrated", "country": "BD", "assignee": "", "assignee_name": "",
    "csat": "", "handoff_reason": "", "link": "https://anytimereply.com/dashboard/agents/…/inbox?c=…"
  }
}

If you set a signing secret, the request carries X-AnytimeReply-Signature with the hex HMAC-SHA256 of the raw body (no sha256= prefix — unlike integration webhooks). Requests time out after 8 seconds and aren't retried.

Each run is noted in the chat (⚡ trigger name: what it did) so your team can see why something changed.

Was this page helpful?
Still stuck? Contact us