# Call Control Concepts | Appendix | Web Sequence Diagrams

The following web sequence diagrams are meant to help better understand a few of TaskRouter's key call control concepts: **[Blind Transfer](#blind-transfer)** and **[Warm Transfer](#warm-transfer)**

If you want to customize any of the flows described here for your own use, you can paste the full descriptions found below each diagram into [websequencediagrams.com](https://www.websequencediagrams.com/) and edit from there.

> \[!NOTE]
>
> Brand new to these call control concepts? We've got you covered: check out our documentation to learn more about [blind call transfers](/docs/taskrouter/contact-center-blueprint/call-control-concepts#cold-call-transfer) and [warm transfers](/docs/taskrouter/contact-center-blueprint/call-control-concepts#warm-transfer).

## Blind Transfer

![Sequence diagram of blind call transfer process between caller, Twilio, and app.](https://docs-resources.prod.twilio.com/091247940dcb2fa95e04ff9a8798503520c0f98b316f97d5e233ee55b08ad11b.png)

```text
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

![Sequence diagram showing warm transfer process with steps for caller, Twilio, and app interactions.](https://docs-resources.prod.twilio.com/9b099e9342ad818cd9d62d166019a90e6134f11095ff18a8e55797e82718fb4f.png)

```text
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
```
