Skip to content

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

PartThis Process
OutcomeEach 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.
ReadsConversation
LeavesConversation, Message
On timeWithin 4 hours (business hours); the clock never stops. Late Actions go to the Founder.
Runs inEach Startup

Accountable

Customer Lead, Customer Team.

Responsible: Customer Lead.

Consulted: Sales Engineer.

Informed: Founder.

Workflows

WorkflowRunsTeam
Route a callon Conversation.created where channel = 'phone'Customer Team

Who does each step

Call routing: who does each step4 steps in 1 Workflow, across 1 Role: Customer Lead. The table below lists every step.Customer LeadSusanWorkflowRoute a call1 · Conversation.answerAnswer with the Startup’s name, say theanswer comes from an agent, and ask whatthe call is about.2 · Conversation.assignRoute sales calls to the Sales Engineer,support calls to the Customer Lead, andlegal or press calls to their intakes.3 · Message.createTake a message and promise a callbacktime when no Worker is free.4 · Conversation.updateLog the call summary on the caller’sThread.Call routing: who does each step4 steps in 1 Workflow, across 1 Role: Customer Lead. The table below lists every step.WorkflowRoute a callCustomer Lead1 · Conversation.answerAnswer with the Startup’s name, say the answercomes from an agent, and ask what the call isabout.Customer Lead2 · Conversation.assignRoute sales calls to the Sales Engineer, supportcalls to the Customer Lead, and legal or presscalls to their intakes.Customer Lead3 · Message.createTake a message and promise a callback timewhen no Worker is free.Customer Lead4 · Conversation.updateLog the call summary on the caller’s Thread.
Each box is a step, numbered within its Workflow, with the Verb it calls, under the Role it runs as. The table below adds approvals.
WorkflowStepRoleCallsApproval
Route a call1. Answer with the Startup’s name, say the answer comes from an agent, and ask what the call is about.Customer LeadConversation.answerWithin a Mandate
Route a call2. Route sales calls to the Sales Engineer, support calls to the Customer Lead, and legal or press calls to their intakes.Customer LeadConversation.assignNone
Route a call3. Take a message and promise a callback time when no Worker is free.Customer LeadMessage.createWithin a Mandate
Route a call4. Log the call summary on the caller’s Thread.Customer LeadConversation.updateNone

Events

DirectionWhenWhat happens
InOn Conversation.created where channel = 'phone'Starts Route a call
OutConversation.answeredRaised by step 1 of Route a call
OutConversation.assignedRaised by step 2 of Route a call
OutMessage.createdRaised by step 3 of Route a call
OutConversation.updatedRaised 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

SettingTypeDefaultSaySet with
calls.messageAfterstring2mTake a message when a call waits two minutesSetting.update
calls.callbackWithinstring4hCall people back within four hoursSetting.update

Failure

A failed step retries; when retries run out, the Action goes to the Founder.

Loop

StepValue
HypothesisTaking a message with a promised callback time keeps more callers than holding them in a queue.
MeasureFirst responses on time over 30d, at least 50 observations
LearnThe learn step reads the Readout, records Evidence and a Decision, and drafts the next Variant.

Code

Text
Turn on call routing

Enable

Off until someone calls Process.enable. Process.pause stops new Actions; Actions in progress finish.

Text
Take a message when a call waits two minutes

Example

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.