Call Control Concepts | Appendix | Web Sequence Diagrams

If you want to customize any of the flows described here for your own use, you can paste the below descriptions into websequencediagrams.com and edit from there.

Blind Transfer

 

title Blind Call Transfer



Caller->Twilio: new call

note over Twilio, App: <not shown> create Task

Twilio->App: Reservation request

App->Twilio: instruction:conference

note right of Twilio: Twilio connects agent and caller to conference

App->Twilio: Conference hold conference.participants.customer

App->Twilio: New Task

note right of Twilio:

fill in task.requested_agent or task.desired_queue.

Ensure workflow acts on this information

Include conference SID of existing call

and TaskSID of original task

end note

App->Twilio: remove original agent leg from conference

App->Twilio: complete original task (or move to wrap)

note right of Twilio: Task gets assigned

Twilio->App: Reservation request

App->Twilio: instruction:call

note right of Twilio: Agent answers

Twilio->App: webhook for TwiML for answered call

App->Twilio: <Dial><Conference>Original Task SID</Conference></Dial>



Warm Transfer

title Warm Transfer



Caller->Twilio: new call

note over Twilio, App: <not shown> create Task

Twilio->App: Reservation request

App->Twilio: instruction:conference

note right of Twilio: Twilio connects agent and caller to conference

App->Twilio: Conference hold conference.participants.customer

App->Twilio: New Task

alt Warm Transfer to known person

   note right of Twilio:

   fill in task.requested_agent

   Ensure workflow acts on this information

   end note

else Warm Transfer to queue

   note right of Twilio:

   fill in task.desired_queue.

   Ensure workflow acts on this information

   end note



end

note right of Twilio:

For either option, include in Task:

- conference SID of existing call

- TaskSID of original task

end note

note right of Twilio: Task gets assigned

Twilio->App: Reservation request

App->Twilio: instruction:call

note right of Twilio: Agent answers

Twilio->App: webhook for TwiML for answered call

App->Twilio: <Dial><Conference>Original Task SID</Conference></Dial>

note over Twilio, App: Customer, Agent 1 and Agent 2 in 3-way

App->Twilio: remove original agent leg from conference

App->Twilio: complete original task (or move to wrap)

note over Twilio, App: Customer and Agent 2 in 1:1

 

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.