Business hours and escalation

In Wassla the AI agent answers customer messages around the clock — there is no "switch off after 6pm" because the AI is always available. What you control is the behavior at the edges: what the AI says when no one on your team is around to take over, when it should escalate to a human, and who gets alerted when a conversation needs a person. You configure this with three building blocks: the agent's Personality system prompt for escalation rules, the Inbox AI/Human toggle for live handover, and the Alerts tab in Settings for the operational notification rules that page your team.

How "hours" work in Wassla today

Wassla is built around a 24/7 AI agent that handles routine questions and a human team that picks up escalations. There is no dedicated "Business hours" screen that flips the AI off after 5pm. Instead, you express your operating model inside the agent's system prompt and the operational alert rules.

This matters because most customer questions on WhatsApp, Instagram, and the web widget arrive outside 9-to-5. Turning the AI off would mean leaving every after-hours message unanswered. Wassla's default posture is: AI replies immediately, escalates when the policy says to, and your team picks up the escalation queue when they are on shift.

If you genuinely need the AI to behave differently outside hours — for example, to set expectations about reply time, skip refunds at night, or queue the question for the morning — you do that through the agent's Personality prompt. See step 1 below.

1. Tell the AI about your business hours

The AI follows the rules you write in plain language. You do not need a separate hours table — describe your hours in the system prompt and the AI will use them when it talks to customers and when it decides whether to escalate.

  1. Open the Agents page from the sidebar and click the agent you want to edit.
  2. Open the Personality tab.
  3. In the system prompt, add a Business Hours section. Be specific about the timezone. For example:
    • "Our support hours are Sunday to Thursday, 09:00 to 18:00 Riyadh time."
    • "Outside support hours, acknowledge the message, answer anything you can from the knowledge base, and let the customer know a teammate will follow up the next business day."
    • "Never promise an immediate human reply outside business hours. Never quote a refund or process a cancellation outside hours — open a ticket and tell the customer the team will handle it first thing in the morning."
  4. Save the agent. The change applies to new turns immediately.

The AI uses the current time when it reasons about whether to escalate, what to promise the customer, and how to phrase its reply. This is how a real teammate behaves too — they would not promise a manager call at 2am.

2. Define your escalation policy

Wassla does not have a dedicated "escalate after N minutes unanswered" timer today. Escalations are AI-driven and policy-driven: you describe in the agent's system prompt the conditions under which it should hand off, and the AI uses its built-in create_ticket tool to log the escalation into your Tickets queue.

  1. In the same Personality tab, add an Escalation Policy section to the system prompt. Be specific. For example:
    • "Hand off to a human if the customer asks to speak to a manager, mentions a refund over 500 SAR, reports a payment failure, or uses angry language."
    • "After 3 turns without resolving the customer's question, open a ticket with priority 'normal' and tell the customer a teammate will follow up within one business day."
    • "If the customer asks about enterprise pricing or asks for a demo, open a ticket of type 'sales' and let them know the sales team will reach out within one business day."
  2. Save the agent.
  3. When a rule fires, the AI calls create_ticket, the ticket appears in the Tickets page linked to the source conversation, and the conversation thread shows a system note marking the escalation point.

For sentiment-driven escalation, mention sentiment explicitly ("if the customer sounds frustrated or angry, open a ticket and stop trying to resolve it yourself"). Wassla's background sentiment analyzer feeds the AI's context, but the decision to escalate is the AI's — driven by your prompt.

A time-based "after N minutes of teammate silence, route to backup" rule is not yet available as a dedicated workflow node. Track this on the Wassla support page if you need it — for now the closest pattern is: the AI escalates per its policy, your primary teammates are pinged via the Alerts rules below, and the team agrees a backup convention internally (for example, anyone in the Tickets queue picks up anything older than 30 minutes).

3. Set up Alerts so the right people get paged

Alerts are the operational channel that pages your team when something needs attention — a conversation has been escalated, an agent is erroring, a payment is failing. You configure them in Settings > Alerts.

  1. From the sidebar open Settings, then click the Alerts tab.
  2. The top half lists the events you can subscribe to: escalations, daily performance summary, agent errors and offline, knowledge gaps, billing alerts. Toggle each one on or off for your workspace.
  3. Choose your delivery channels at the bottom of the panel: In-app (the bell in the topbar), Email (sent to every teammate with a Wassla account), and Slack (coming soon for some workspaces — toggle it on and follow the connect flow if it appears).
  4. To page a specific phone number for operational events like an escalation or a WhatsApp token going invalid, your Wassla admin can add a WhatsApp notification rule with the recipient phones, an event type, and an optional quiet window (the quiet hours apply in UTC and suppress alerts to that phone during the window — useful for "do not page me overnight").

The alert is sent the moment the AI fires create_ticket, so the on-call teammate hears about it within seconds. If the rule has a throttle, repeat alerts to the same phone for the same event are suppressed for the throttle window.

4. Route escalations to a backup teammate

When the primary teammate is unavailable, Wassla relies on a shared Inbox queue model rather than a strict on-call rotation. Anyone with Inbox access can claim a conversation by clicking the AI Active badge and switching it to Human Active.

  1. In the Inbox, use the queue chips at the top to filter to AI, Human, or Open.
  2. Conversations the AI has escalated land in the Tickets page and stay in the Open queue until someone claims them. The Notifications bell shows a red dot when there are unclaimed tickets.
  3. A backup teammate watches the Open queue and the bell. When the primary teammate has not picked up within whatever window your team agrees (for example, 15 minutes after hours), the backup clicks into the thread, takes over with the Human Active toggle, and replies.
  4. To hand the conversation back to the AI when the question is resolved, click the Human Active badge again. The AI picks up at the next customer turn with the full transcript as context.

For after-hours coverage we recommend setting the agent's escalation policy to always open a ticket of priority "high" outside business hours. That way the on-call backup sees a flagged ticket the moment they look at the queue in the morning — nothing slips through the night.

5. Tell customers what to expect

Set expectations in the AI's outside-hours messaging so customers are not surprised by a delay.

  1. In the Personality tab, add a short outside-hours message line: "Thanks for reaching out. Our support team is offline right now — I can help with the basics, and a teammate will follow up first thing tomorrow."
  2. If you use WhatsApp, remember Meta's 24-hour window rule: customers can write to you any time, but your team can only send free-form replies within 24 hours of the customer's last inbound message. Internal notes always work. See Hand off conversations to human agents for how the window is shown in the composer.
  3. For voice agents, the agent itself answers calls 24/7. If you want voice calls outside hours to go to voicemail or to a different number, configure that on the carrier side (in Twilio Console or your WhatsApp Business setup) — Wassla does not currently override answer behavior by time of day.

Tips

  • Keep your business-hours section short and specific. "Sunday to Thursday, 09:00 to 18:00 Riyadh time" beats "during business hours." The AI follows specifics better than vague phrases.
  • Use queue filters to split workload. Specialists can live in the Human queue during the day while a supervisor watches Open at night.
  • Review the Tickets page weekly. Tickets created outside hours are a free signal of where your knowledge base needs more coverage so the AI can resolve more on its own — see Train your AI agent for how to close those gaps.
  • A native "Business Hours" UI with workspace-level operating hours and a dedicated time-based escalation engine is on the roadmap. Until then, the prompt-based pattern above is the supported approach.