message.comDevelopers

Configure office-hours routing

Decide where conversations land during office hours versus after hours. Inside hours, route to humans. Outside hours, route to voicemail, AI Receptionist, or a queued state with an off-hours greeting. Configure per channel.

Start with Configure business hours first. This page is the routing layer on top.

1. Verify business hours are set

Routing rules read the per-channel hours. Without hours set, every conversation routes as if it is always business hours. Open Settings → Availability → Business hours and confirm.

2. Set in-hours routing per channel

For each channel, pick a destination:

  • Chat. Route to all available agents, a specific department, or a specific agent. The Queue page applies fair distribution.
  • Tickets. Route to a department based on the inbound address (one department per address). Optionally tag from the subject line.
  • Phone. Per-DID routing strategy: all_agents, department, or specific_agent. See Phone numbers API.

3. Set after-hours fallback per channel

Off-hours options:

  • Chat.
    • Offline form. Visitor leaves email, we make a ticket.
    • Hold in queue. Visitor waits; routes to first agent online next morning.
    • Hide launcher. No chat outside hours.
  • Tickets. Auto-reply with next-business-day SLA copy.
  • Phone.
    • Voicemail. Greeting plus transcription delivered to inbox.
    • AI Receptionist. Press-1 opt-in; AI handles appointment booking or FAQ.
    • Forward to another number. External answering service.

4. Fallback chains

You can chain fallbacks. Example for phones: Ring all agents for 30s → ring on-call rotation for 30s → AI Receptionist → voicemail. Configure on the DID under Settings → Phones → Numbers.

5. Test on each side of the boundary

  1. Temporarily set business hours to a window five minutes from now.
  2. Send a test chat / email / call before the boundary. Confirm in-hours routing.
  3. Send another after the boundary. Confirm the fallback fires.
  4. Restore normal hours.

Common pitfalls

  • Agent statuses lying. If every agent is available but ignoring chats, routing still considers them online. Train the team to set away when not working.
  • Department with no agents. Routing to an empty department traps conversations. Set a fallback department under Settings → Departments.
  • VIP overrides. If you want VIP visitors to bypass off-hours rules, tag them and add a routing exception that routes tagged visitors to an on-call rotation.
  • Holidays. Make sure your holiday list reflects the team's actual coverage, not just official holidays.

Next steps