Skip to main content

Workflow Rules & SLA Monitoring

Summary​

Workflow Rules enable organizations to enforce Service Level Agreements (SLAs), prevent customer inquiries from slipping through the cracks, and automate routine chat operations in the background. Powered by a continuous 1-minute background polling engine, workflow rules evaluate all active conversations against visual Trigger, Condition, and Action blocks on a flowchart canvas.

With workflow rules, your team can track First Response Time (FRT) deadlines, reassign stalled inquiries to escalation groups, apply priority tags, warn before WhatsApp service windows close, and automatically resolve abandoned conversations.

Workflow rules are configured under Automations → Workflow Rules (/dashboard/automation/workflowRules).


The 3-Node Architecture​

Workflow rules are built on a visual canvas connecting three categories of functional blocks:

1. Trigger Node (The Execution Clock)​

  • Evaluation Schedule: Runs continuously in the background every 60 seconds (Every Minute - Cron).
  • Function: Initiates rule evaluation across all open and pending customer threads matching your criteria.

2. Condition Node (Granular Evaluation Criteria)​

The condition block evaluates each conversation and splits execution into True (criteria met) and False (criteria not met) branches:

Condition ParameterWhat It EvaluatesPractical Usage
StatusThe current queue status of the thread (open, pending, solved, closed, template, outreach).Focusing only on unresolved open chats.
Assigned StateWhether the conversation is assigned to BOT (Unassigned) or a specific team member.Identifying unassigned customer inquiries.
Department GroupThe specific team group currently holding the conversation.Targeting rules to a specific team (e.g., Frontline Care).
Applied TagChecks whether the conversation holds a specific tag.Filtering for VIP accounts or excluding already-escalated threads.
Idle Mins (Since Customer)Minutes elapsed since the customer's last inbound message without an agent reply.Monitoring First Response Time (FRT) SLA deadlines.
Idle Mins (Since Agent)Minutes elapsed since the agent's last reply without a customer response.Detecting dormant conversations awaiting customer input.
Window Countdown (Mins)Minutes remaining before the Meta 24-hour customer service window permanently expires.Triggering re-engagement reminders before the session closes.
Is Window ExpiredBoolean check (true / false) verifying if the 24-hour service window is closed.Directing messages to approved templates when free-form text is locked.
Last Outbound TypeThe message format of the last reply sent (text, interactive, template, etc.).Verifying the nature of the previous agent message.

3. Action Node (Automated Operations)​

When the condition evaluates to True, the Action block executes one or more automated tasks:

  • Reassign to Group: Transfers conversation ownership to a specialized department queue (e.g., Escalation Desk or Technical Tier-2).
  • Reassign to User: Reassigns the conversation directly to a specific designated team member.
  • Apply Tag: Automatically labels the thread with operational tags (such as #SLA-Breached, #Needs-Attention, or #Follow-Up).
  • Send Reply Material: Delivers an automated reassurance message, intake prompt, or follow-up notice to the customer.
  • Assign to Bot: Routes the conversation back to the automated bot self-service flow.
  • Close Chat: Automatically marks dormant or abandoned threads as Solved.

Essential Practical Workflows​

1. First Response Time (FRT) SLA Escalation​

Prevent new inquiries from waiting indefinitely during peak hours:

  1. Trigger: Every 1 Minute.
  2. Condition:
    • Status = open
    • Idle Minutes (Since Customer) > 15
    • Tag does not equal #SLA-Escalated
  3. True Branch Action:
    • Apply Tag: #SLA-Escalated
    • Reassign to Group: Senior Escalations
    • Send Reply Material: "Thank you for your patience. Your inquiry has been prioritized and a senior specialist is reviewing your details."

2. Auto-Resolving Dormant Pending Chats​

Keep your team's active queue clean by archiving conversations where customers have abandoned the inquiry:

  1. Trigger: Every 1 Minute.
  2. Condition:
    • Status = pending (the agent has answered, waiting on customer)
    • Idle Minutes (Since Agent) > 1440 (24 hours of inactivity)
  3. True Branch Action:
    • Send Reply Material: "Since we have not heard back from you in 24 hours, we are marking this inquiry as resolved. Feel free to text us anytime if you need more help!"
    • Close Chat (Status changes to Solved).

3. 24-Hour Window Expiry Safeguard​

Alert customers before WhatsApp locks outbound free-form messaging:

  1. Trigger: Every 1 Minute.
  2. Condition:
    • Window Countdown (Mins) < 120 (under 2 hours remaining)
    • Is Window Expired = false
    • Tag does not equal #Window-Reminder-Sent
  3. True Branch Action:
    • Apply Tag: #Window-Reminder-Sent
    • Send Reply Material: "Our 24-hour service window will expire soon. If you still need assistance, please reply to this message to keep the session active."

Step-by-Step Canvas Guide​

  1. Navigate to Automations → Workflow Rules (/dashboard/automation/workflowRules).
  2. Click + Add Flow (or click an existing card to edit).
  3. The visual canvas opens with a default Trigger Node.
  4. From the left Node Palette, drag a Condition Node onto the canvas.
  5. Connect the output port of the Trigger Node to the input port of the Condition Node.
  6. Click the Condition Node to open the inspector: select your filter field (e.g., idle_mins_since_customer), comparison operator, and minute threshold.
  7. From the palette, drag an Action Node onto the canvas.
  8. Connect the True output port of the Condition Node to the input port of the Action Node.
  9. Select the Action Node to choose your operation (e.g., apply_tag or reassign_to_group).
  10. Click Save Changes in the top header.
  11. Return to the list view and ensure the rule is toggled to Active (Play icon).

Customer Troubleshooting & FAQs​

Problem: Why did an action not execute on an idle conversation?​

  • Why it happens:
    1. The workflow rule is toggled to Paused in the rule directory.
    2. The conversation's queue status did not match the condition filter (e.g., the chat was pending instead of open).
    3. The time threshold was not yet reached during the last 60-second polling cycle.
  • How to fix it: Open Workflow Rules, verify the rule is Active, inspect the exact queue status of the target chat in the Team Inbox, and confirm your minute thresholds.

Problem: How do we prevent a rule from firing repeatedly on the same conversation?​

  • Why it happens: If a condition only checks idle_mins > 15 without marking the chat, the 1-minute cron will re-trigger the action every minute.
  • How to fix it: Always use a tag safeguard. In the action block, attach a tag like #Escalated. In the condition block, add a filter requiring that the chat does not already have the #Escalated tag.

Problem: Do workflow rules run during non-business hours?​

  • Yes. Workflow rules run 24/7 every minute. If you wish to restrict escalations to business hours, configure your team's schedule under Settings → Business Hours and use auto-assignment rules in coordination with workflow rules.