Flex Conversations - the next generation messaging platform for Twilio Flex - is now in GA. Utilizing Twilio Conversations and the Interactions API, Flex Conversations natively supports and allows mixing of multiple channels including SMS, MMS, WhatsApp, and Chat. This guide contains resources and answers for commonly asked Flex Conversations questions.
What's new in Flex Conversations?
The full list of changes can be found here: Get Started with Flex Conversations.
How do I make use of Flex Conversations instead of Programmable Chat?
All new flex accounts created after May 26th, 2022 are automatically set up to use Flex Conversations.
If you have an existing account from before May 26, 2022, you will need to manually upgrade your account by following the set up instructions.
Note: If you had any plugins that made use of Programmable Chat (like the sms-transfer plugin, or the agent-notes plugin), you will need to use the new Flex Conversation versions, or update any chat references in the code to the new conversations resource.
I’m having trouble with my messaging; how do I troubleshoot Conversations messaging?
If you are having trouble, please check the your setup using this guide: Troubleshoot the Flex Conversations messaging setup.
Is there a 2.0/Flex Conversations plugin for chat & sms transfers?
Sample code for transfers can be found on github.
Does Flex Conversations support long lived conversations?
Flex Conversations does not support the Legacy long lived configuration. A possible alternative is the Beta product Park, documented here.
Does Flex Conversations support media messages?
Media messages are still supported. Use these instructions to check if it’s enabled for your configuration: https://www.twilio.com/docs/flex/developer/conversations/faq-and-troubleshooting#how-do-i-update-my-file-attachment-configuration-for-flex-conversations
Once enabled, use get attachedMedia()
: http://media.twiliocdn.com/sdk/js/conversations/releases/2.1.0/docs/classes/Message.html#attachedMedia
Note: This replaces media.getContentUrl()
from previous Flex versions.
Where do I find logs for Conversations?
Interactions between Agents and Customers can be found in Console here:
Twilio Console > Conversations > Manage > Services > Flex Conversations Service > Conversations
You can also get logs via an API Request to the Conversations endpoint.
https://www.twilio.com/docs/conversations/api/conversation-message-resource#
Troubleshooting Stale Tasks/Channels
Stale channels are when an older channel remains open and some of the unintentional effects that can come about from leaving it open. If there are follow up messages after the task has been closed or a participant is still assigned to the old channel. These are some common causes for stale channels. The end result is new messages with the same phone number or participant will get rerouted to the old conversation. To the sending participant it will appear that you're sending messages successfully but getting no response. To the receiving participant, they will have no idea a new message is coming in.
Common scenarios:
- Conversations default expiration is left to defaults. The current default expiration time for a conversation is 180 days. If a customer does not modify the default conversation behavior and a task is completed before the conversation is closed or customers code does not close the conversation it will create stale sessions.
- Network latency on the agent side results in them completing the task but the conversation close request gets lost due to network loss.
- Customer’s custom conversation orchestration does not automatically clean up old conversations.
Solution:
- Review the states and timers in conversations page.
- Make use of conversation timers.
How to find a stale conversation?
- Create a new Conversation.
- Fetch the Conversation SID from the response.
- Attempt to create the messaging binding using the following code sample:
twilio api:conversations:v1:conversations:participants:create \ --conversation-sid CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \ --messaging-binding.address +15558675310 \ --messaging-binding.proxy-address "<Your Twilio Number>"
- If a conversation exists with the messaging binding, the API will return an
HTTP 409
response with the Conversation SID.
Example:{ "code": 50416, "message": "A binding for this participant and proxy address already exists in Conversation CHXXXXXXXXXXXXXXXXXXXXXX", "more_info": "https://www.twilio.com/docs/errors/50416", "status": 409 }
How do I configure WhatsApp to work with Flex Conversations?
If you need assistance setting up WhatsApp for Conversations please see this guide.