SUPPORT.TWILIO.COM END OF LIFE NOTICE: This site,, is scheduled to go End of Life on February 27, 2024. All Twilio Support content has been migrated to, where you can continue to find helpful Support articles, API docs, and Twilio blog content, and escalate your issues to our Support team. We encourage you to update your bookmarks and begin using the new site today for all your Twilio Support needs.

Troubleshooting Flex Conversations

Are you experiencing issues with sending or receiving Conversation messages in Twilio Flex? Your first step should be to check our FAQ with Flex Conversations, Flex Conversations Best Practice, and Flex Conversations Known Issues guides. If those guides did not help, please try the following general troubleshooting steps below.

Twilio Console

When a conversation is received/sent do you receive an error in the Twilio Console? Start with the specific error and review Twilio's error and warning code dictionary for recommended solutions.


While Flex Conversations is the Conversations product under the hood, part of it still uses Programmable Messaging before it passes your message to Conversations. You can view Flex Conversations logs in part of the Messaging Console Logs page. After going through the messaging logs the conversation proceeds on to the Conversation Console Logs page.

Phone Number Configuration

We have now verified the number is configured correctly but not showing up in conversations? Let's check that we deleted the old legacy Flex Flow Address and created a Flex Interaction Address in the Flex Console -> Manage -> Messaging page. Follow the steps to migrate from Flex Legacy Messaging to Flex Conversations can be found here.

Conversation Service Configuration

Now that the configuration for Conversation looks good. Let us inspect if any conversation is created from inbound messages by going in your Twilio console to Conversations -> Manage -> Service Configuration -> Conversations. Do you see any conversations listed on that page? 

Any message to a Conversations address that is outside of a conversation should cause the auto-create functionality to create a new conversation, add the sender as a participant, and append the message to the newly-created conversation. To find if the sender has an active conversation, use the Conversation Participant resource to find the active conversation. If there is no active conversation for this participant you might have have found your issue. Look at how conversations service defaults and incoming webhooks to determine where the auto-create functionality is failing.

Studio Flow Trigger

All Studio interactions are captured in a Flow’s Execution Logs. Find “Messaging Flow” (the default flow created for Flex, or the Chat Flow if you're debugging a web chat interaction) and navigate to Studio logs to see the execution associated with the failed message.

You can inspect error messages in each step of the Studio flow. HTTP Requests and Function Widgets frequently return error codes that can terminate the entire execution. This could result in no conversations being generated.

If you find the conversation session is coming in through the "Incoming Message" studio trigger instead of "Incoming Conversation" you may have found a problem. Look to make sure you don't have an old Flex Flow configured for the number by querying for a list of your Flex Flows. If you have a list of Flex Flows compare the "contact_Identity" with your Flex Conversation number. If they match that means that number is on the legacy Flex Flow and should be removed and added as a Flex Interaction Address in the Flex Console -> Manage -> Messaging page.

Was studio able to successfully execute the SendToFlex widget? If you see a failedToEnqueue error message in your studio flow, check your Taskrouter Workflow and make sure your TaskRouter Expression allows a task to be created. Some expressions return false and if no alternative queues are an option in the workflow TaskRouter will fail to create a task. To test this you can create a task from the API with the same attributes as your Conversation Studio Flow. Does the task successfully create or fail? If it fails then you have found your problem and should review your TaskRouter expression and backup queues.

TaskRouter Reservations

Is the task being created but not getting assigned to a worker? Check your TaskRouter expressions to verify a conversation task gets assigned to the right task queue and that the worker is configured to handle the task channel capacity.

After reviewing TaskRouter expressions let's verify that the worker is able to accept the conversation. When an Agent accepts the Reservation related to a Task, the agent will be added as a Participant to the conversation. The role linked with that Agent user is “agent”.

Please do not modify the standard permissions of this role (sendMessage,sendMediaMessage,leaveConversation,editConversationAttributes,editOwnMessage,editOwnMessageAttributes,deleteOwnMessage).

Any Messages sent by the Agent should be visible under the Phone Number / Messaging Logs. Optionally, you can filter messages by Outgoing Messages to more easily find the agent’s message.

Still Having Trouble?

If you can rule out all the above issues, Twilio's Support team can help investigate what went wrong with delivering your message. Please open a support request with the following 3 or more Conversation SIDs (CHxxxx) from SMS logs that occurred with the last 24 hours and that show these same issues.


Have more questions? Submit a request
Powered by Zendesk