SLA policies on conversations
What an SLA policy defines
An SLA policy specifies two clocks per conversation:
- First response time. From customer message arrival to first agent (or bot) response.
- Resolution time. From conversation start to "resolved" status.
Policies vary by channel, priority, and audience tag. Examples:
- Chat, high-priority Enterprise customer. First response 2 minutes; resolution 1 hour.
- Email, standard customer. First response 4 hours; resolution 24 hours.
- WhatsApp, anonymous visitor. First response 5 minutes; resolution 4 hours.
SLA policies are workspace-scoped and apply to all conversations matching their conditions. Available on Business and above. Business+
Creating an SLA policy
Four-step setup:
- Open Conversations > SLA Policies > Create Policy.
- Name the policy (e.g., "Enterprise high-priority chat").
- Define conditions that trigger this policy:
- Channel(s)
- Priority level
- Audience tag (e.g.,
enterprise_customer) - Business hours vs after-hours
- Set the targets:
- First response time (minutes or hours)
- Resolution time (minutes or hours)
- Escalation threshold (when to alert: typically 75% of target elapsed)
Save. The policy applies to new conversations matching the conditions within 30 seconds.
Policy priority and matching
Multiple policies can match a single conversation. Resolution order:
- More specific conditions win. A policy matching "Enterprise + chat + business hours" beats one matching "chat".
- Higher priority field wins for ties. Set priority 1 to 100 per policy; higher wins.
- Default policy. A workspace-level fallback policy covers anything not matched by a specific one.
Use the Policy Tester under SLA Policies to simulate which policy a sample conversation would receive.
What the bot does for SLA
The bot's first answer counts as the first response for SLA purposes:
- Bot answers within 1 to 2 seconds. First-response SLA is essentially always met when the bot handles a conversation.
- Escalated to human. The clock pauses during bot-only turns and restarts when the conversation joins the human queue.
- Mixed bot and human. SLA tracks the human-side response time only.
This means: enabling the bot effectively guarantees first-response SLA compliance for the majority of conversations.
Breach detection and alerts
At the escalation threshold (default 75% of target elapsed):
- The conversation enters "SLA risk" state.
- Visual indicator in inbox (orange clock icon).
- Optional notifications fire:
- In-app banner for assigned agent
- Email to assigned agent
- Slack alert to a configured channel
- Webhook event
conversation.sla_riskto a configured endpoint
If the target elapses without resolution, the conversation enters breach state:
- Red clock icon.
- Optional auto-escalation (reassign to senior agent, raise priority).
- Webhook event
conversation.sla_breachedfires.
Business hours
SLA clocks can pause outside business hours:
- Open SLA Policies > Business Hours.
- Define your team's schedule per time zone.
- Choose pause behavior per policy:
- Pause clock outside hours (typical for email).
- Don't pause (typical for chat with 24/7 expectations).
Holidays can be uploaded as a CSV or pulled from a Google Calendar integration.
Per-agent SLA reports
Track who's meeting SLA targets and who's not:
- % first-response on time. Per agent, last 30 days.
- % resolution on time. Per agent, last 30 days.
- Average response time. Per agent.
- Average resolution time. Per agent.
- Worst-breach incidents. Drill into specific conversations that breached the most.
Reports update every 5 minutes. Export to CSV on Business and above.
SLA policy examples
Pattern 1: Chat-first SaaS support.
| Condition | First response | Resolution |
|---|---|---|
| Chat, anyone | 5 min | 4 hours |
| Email, anyone | 4 hours | 24 hours |
| WhatsApp, anyone | 10 min | 8 hours |
Pattern 2: Tiered customer support.
| Condition | First response | Resolution |
|---|---|---|
| Enterprise tag, any channel | 2 min | 1 hour |
| Paid tag, any channel | 10 min | 6 hours |
| Free tag, any channel | 1 hour | 48 hours |
Pattern 3: Business hours only.
| Condition | First response | Resolution | Business hours? |
|---|---|---|---|
| Email, anyone | 2 hours | 1 business day | Yes (pause outside hours) |
API access to SLA state
curl https://api.askvault.co/v1/conversations/conv_xxx/sla \ -H "Authorization: Bearer ak_xxx"Returns:
{ "policy_id": "sla_enterprise_chat", "first_response_target_seconds": 300, "first_response_elapsed_seconds": 87, "first_response_state": "ok", "resolution_target_seconds": 3600, "resolution_elapsed_seconds": 1245, "resolution_state": "at_risk"}Useful for embedding SLA status in your own dashboards or alerting tools.
Limits
- SLA policies per workspace. 25 on Business, 100 on Enterprise.
- Conditions per policy. Up to 10.
- Escalation rules per policy. Up to 5.
- History retention. 365 days standard, 6 years Enterprise.
Common pitfalls
Policy doesn't match expected conversations. Wrong condition specificity. Use the Policy Tester to confirm matching. Often the audience tag isn't applied to the customer's profile.
Breach alerts spam Slack. Threshold too tight. Move escalation alert from 75% to 90% of target.
Bot resolves everything; SLA looks perfect but customers complain. Resolution-by-bot is being counted. Set the policy to track human-resolution only if your team expects to manually resolve.
Holiday days not respected. Holiday calendar not uploaded or out-of-date. Check Business Hours > Holidays for current year.
FAQ
Does the SLA clock pause when a customer doesn't reply?
Yes for resolution time (we don't penalize you for customer delay). No for first response (the customer is waiting on you).
Can SLA policies trigger automation?
Yes. Combine with automation rules. Example: at SLA risk, auto-reassign to senior agent.
What if I don't want SLA tracked on a conversation?
Apply the no_sla audience tag during the conversation. SLA policies with the inverse condition skip these.
Does the bot's response count for first-response SLA?
Yes by default. Toggle off under SLA Settings > Bot Counts For First Response if your team wants only human responses to qualify.
How accurate is the breach detection?
Within 60 seconds. Clocks tick at 1-minute resolution. Sub-minute timing isn't tracked.
Related guides
- Conversation lifecycle
- Priority on conversations
- Automation rules
- Escalate to human skill
- Webhooks reference