# Using SMS and TaskRouter together | 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.

## Using SMS and TaskRouter together

```text
title 2-way SMS with TaskRouter

Customer->+App: Customer sends text
App->Twilio: Look for open tasks from this sender
alt New Conversation
    App->Twilio: Create New Chat Channel
    App->Twilio: Add Customer # to Channel
    App->Twilio: Create Task w/ Channel id \nas attribute
    note over Twilio, Agent:
        TaskRouter searches
        for available agent
    end note
    Twilio->+Agent: Reservation Request
    Agent->Twilio: Accept and Join Chat Channel
else Existing Conversation
    Twilio->App: Return task, extract chat \nchannel from attribute
    App->Twilio: Push Message into Channel
    Twilio->Agent: MessageAdded
end
note left of Agent: Agent Replies
Agent->Twilio: add message to channel
Twilio->App: messaged added
note over App:
    If message added by agent
    pull contents of message
end note
App->Customer: send text reply
note over Customer, Agent: Customer or Agent Ends Conversation
App<->Twilio: Store Chat transcript in CRM
App->Twilio: Close Chat Channel
App->Twilio: Move task to wrapup
Agent->Twilio: Move task to complete
```
