Programmable Chat is the service used for creating web chat functionality (or mobile chat).
This page outlines the best practice of how to use Programmable Chat with TaskRouter for Contact Center use cases.
Note also that if you are also building SMS (or the social network integrations which use the same API as SMS) as a channel, then we recommend you use the Chat service as the container object for those conversations.
The flow diagram below shows our recommended way of using chat and TaskRouter together.
Note that the chat room should be created first, before the task. This is because otherwise in times of low traffic the task might be assigned to an agent before the chat room has been created. Once the chat room is created, it can be associated with the new task as an attribute.