Call routing
Call routing answers every call to the Startup’s numbers, routes it to the right Role, and promises a callback when no one is free.
Outcome
| Part | This Process |
|---|---|
| Outcome | Each call reaches the Role it is for, or leaves a message with a callback time that is kept, and its summary is on the caller’s Thread. |
| Reads | Conversation |
| Leaves | Conversation, Message |
| On time | Within 4 hours (business hours); the clock never stops. Late Actions go to the Founder. |
| Runs in | Each Startup |
Accountable
Responsible: Customer Lead.
Consulted: Sales Engineer.
Informed: Founder.
Workflows
| Workflow | Runs | Team |
|---|---|---|
| Route a call | on Conversation.created where channel = 'phone' | Customer Team |
Who does each step
| Workflow | Step | Role | Calls | Approval |
|---|---|---|---|---|
| Route a call | 1. Answer with the Startup’s name, say the answer comes from an agent, and ask what the call is about. | Customer Lead | Conversation.answer | Within a Mandate |
| Route a call | 2. Route sales calls to the Sales Engineer, support calls to the Customer Lead, and legal or press calls to their intakes. | Customer Lead | Conversation.assign | None |
| Route a call | 3. Take a message and promise a callback time when no Worker is free. | Customer Lead | Message.create | Within a Mandate |
| Route a call | 4. Log the call summary on the caller’s Thread. | Customer Lead | Conversation.update | None |
Events
| Direction | When | What happens |
|---|---|---|
| In | On Conversation.created where channel = 'phone' | Starts Route a call |
| Out | Conversation.answered | Raised by step 1 of Route a call |
| Out | Conversation.assigned | Raised by step 2 of Route a call |
| Out | Message.created | Raised by step 3 of Route a call |
| Out | Conversation.updated | Raised by step 4 of Route a call |
Plays
No Play names this Process.
Controls
No Control names this Process or a Workflow of it.
Settings
| Setting | Type | Default | Say | Set with |
|---|---|---|---|---|
calls.messageAfter | string | 2m | Take a message when a call waits two minutes | Setting.update |
calls.callbackWithin | string | 4h | Call people back within four hours | Setting.update |
Failure
A failed step retries; when retries run out, the Action goes to the Founder.
Loop
| Step | Value |
|---|---|
| Hypothesis | Taking a message with a promised callback time keeps more callers than holding them in a queue. |
| Measure | First responses on time over 30d, at least 50 observations |
| Learn | The learn step reads the Readout, records Evidence and a Decision, and drafts the next Variant. |
Code
Turn on call routingEnable
Off until someone calls Process.enable. Process.pause stops new Actions; Actions in progress finish.
Take a message when a call waits two minutesExample
A caller to a Startup’s toll-free number asks about pricing for 40 seats. The agent says it is an agent and routes the call to the Sales Engineer. The Sales Engineer is busy, so the agent promises a callback by three, and it goes out at 2:40.