Menu

Expand
Rate this page:

Flex Flow Resource

This guide is for Flex UI 1.x and channels that use Programmable Chat and Proxy. If you are using Flex UI 2.x or you are starting out, we recommend that you build with Flex Conversations.

A Flex Flow is the logic linking a contact identity (e.g. SMS-enabled phone number or WhatsApp number) to Flex.

This page details the Flex Flow API Resource. Check out the additional documentation to learn more about working with Flex Flows.

FlexFlow properties

Resource Properties in REST API format
account_sid
sid<AC> Not PII

The SID of the Account that created the Flex Flow resource and owns this Workflow.

date_created
date_time<iso8601> Not PII

The date and time in GMT when the resource was created specified in ISO 8601 format.

date_updated
date_time<iso8601> Not PII

The date and time in GMT when the resource was last updated specified in ISO 8601 format.

sid
sid<FO> Not PII

The unique string that we created to identify the Flex Flow resource.

friendly_name

The string that you assigned to describe the resource.

chat_service_sid
sid<IS> Not PII

The SID of the chat service.

channel_type
enum:channel_type Not PII

The channel type. One of web, facebook, sms, whatsapp, line or custom. By default, Studio’s Send to Flex widget passes it on to the Task attributes for Tasks created based on this Flex Flow. The Task attributes will be used by the Flex UI to render the respective Task as appropriate (applying channel-specific design and length limits). If channelType is facebook, whatsapp or line, the Send to Flex widget should set the Task Channel to Programmable Chat.

contact_identity
string Not PII

The channel contact's Identity.

enabled
boolean Not PII

Whether the Flex Flow is enabled.

integration_type
enum:integration_type Not PII

The software that will handle inbound messages. Integration Type can be: studio, external, or task.

integration
object Not PII

An object that contains specific parameters for the integration.

long_lived
boolean Not PII

When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to false.

janitor_enabled
boolean Not PII

When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to false.

url
url Not PII

The absolute URL of the Flex Flow resource.

Create a FlexFlow resource

post
https://flex-api.twilio.com/v1/FlexFlows
Parameters
Parameters in REST API format
friendly_name
Required
post string PII MTL: 30 DAYS

A descriptive string that you create to describe the Flex Flow resource.

chat_service_sid
Required
post sid<IS> Not PII

The SID of the chat service.

channel_type
Required
post ienum:channel_type Not PII

The channel type. One of web, facebook, sms, whatsapp, line or custom. By default, Studio’s Send to Flex widget passes it on to the Task attributes for Tasks created based on this Flex Flow. The Task attributes will be used by the Flex UI to render the respective Task as appropriate (applying channel-specific design and length limits). If channelType is facebook, whatsapp or line, the Send to Flex widget should set the Task Channel to Programmable Chat.

contact_identity
Optional
post string Not PII

The channel contact's Identity.

enabled
Optional
post boolean Not PII

Whether the new Flex Flow is enabled.

integration_type
Optional
post ienum:integration_type Not PII

The software that will handle inbound messages. Integration Type can be: studio, external, or task.

integration.flow_sid
Optional
post sid<FW> Not PII

The SID of the Studio Flow. Required when integrationType is studio.

integration.url
Optional
post url Not PII

The URL of the external webhook. Required when integrationType is external.

integration.workspace_sid
Optional
post sid<WS> Not PII

The Workspace SID for a new Task. Required when integrationType is task.

integration.workflow_sid
Optional
post sid<WW> Not PII

The Workflow SID for a new Task. Required when integrationType is task.

integration.channel
Optional
post string Not PII

The Task Channel SID (TCXXXX) or unique name (e.g., sms) to use for the Task that will be created. Applicable and required when integrationType is task. The default value is default.

integration.timeout
Optional
post integer Not PII

The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when integrationType is task, not applicable otherwise.

integration.priority
Optional
post integer Not PII

The Task priority of a new Task. The default priority is 0. Optional when integrationType is task, not applicable otherwise.

integration.creation_on_message
Optional
post boolean Not PII

In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging.

long_lived
Optional
post boolean Not PII

When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to false.

janitor_enabled
Optional
post boolean Not PII

When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to false.

integration.retry_count
Optional
post integer Not PII

The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when integrationType is studio or external, not applicable otherwise.

Example 1
Loading Code Sample...
        
        

        Create a Flex Flow with Studio

        Example 2
        Loading Code Sample...
              
              

              Create a Flex Flow with an External Webhook

              The Studio Usage Guide is a helpful introduction to Studio Flows and the general idea of how Studio works. If you're looking for a simple way to power your Flex Flow, an underlying Studio Flow might be the right way to go!

              When you receive an inbound message, the Flex Flow will make a POST request containing the message body and some metadata to your chosen webhook.

              Loading Code Sample...
                    
                    

                    Flex Flow External Webhook

                    Fetch a FlexFlow resource

                    get
                    https://flex-api.twilio.com/v1/FlexFlows/{Sid}
                    Parameters
                    Parameters in REST API format
                    sid
                    Path
                    get sid<FO> Not PII

                    The SID of the Flex Flow resource to fetch.

                    Example 1
                    Loading Code Sample...
                          
                          

                          Fetch a Flex Flow resource

                          Read multiple FlexFlow resources

                          get
                          https://flex-api.twilio.com/v1/FlexFlows
                          Parameters
                          Parameters in REST API format
                          friendly_name
                          Optional
                          get string PII MTL: 30 DAYS

                          The friendly_name of the Flex Flow resources to read.

                          Example 1
                          Loading Code Sample...
                                
                                

                                Read multiple Flex Flow resources

                                Update a FlexFlow resource

                                post
                                https://flex-api.twilio.com/v1/FlexFlows/{Sid}
                                Parameters
                                Parameters in REST API format
                                sid
                                Path
                                post sid<FO> Not PII

                                The SID of the Flex Flow resource to update.

                                friendly_name
                                Optional
                                post string PII MTL: 30 DAYS

                                A descriptive string that you create to describe the Flex Flow resource.

                                chat_service_sid
                                Optional
                                post sid<IS> Not PII

                                The SID of the chat service.

                                channel_type
                                Optional
                                post ienum:channel_type Not PII

                                The channel type. One of web, facebook, sms, whatsapp, line or custom. By default, Studio’s Send to Flex widget passes it on to the Task attributes for Tasks created based on this Flex Flow. The Task attributes will be used by the Flex UI to render the respective Task as appropriate (applying channel-specific design and length limits). If channelType is facebook, whatsapp or line, the Send to Flex widget should set the Task Channel to Programmable Chat.

                                contact_identity
                                Optional
                                post string Not PII

                                The channel contact's Identity.

                                enabled
                                Optional
                                post boolean Not PII

                                Whether the new Flex Flow is enabled.

                                integration_type
                                Optional
                                post ienum:integration_type Not PII

                                The software that will handle inbound messages. Integration Type can be: studio, external, or task.

                                integration.flow_sid
                                Optional
                                post sid<FW> Not PII

                                The SID of the Studio Flow. Required when integrationType is studio.

                                integration.url
                                Optional
                                post url Not PII

                                The URL of the external webhook. Required when integrationType is external.

                                integration.workspace_sid
                                Optional
                                post sid<WS> Not PII

                                The Workspace SID for a new Task. Required when integrationType is task.

                                integration.workflow_sid
                                Optional
                                post sid<WW> Not PII

                                The Workflow SID for a new Task. Required when integrationType is task.

                                integration.channel
                                Optional
                                post string Not PII

                                The Task Channel SID (TCXXXX) or unique name (e.g., sms) to use for the Task that will be created. Applicable and required when integrationType is task. The default value is default.

                                integration.timeout
                                Optional
                                post integer Not PII

                                The Task timeout in seconds for a new Task. Default is 86,400 seconds (24 hours). Optional when integrationType is task, not applicable otherwise.

                                integration.priority
                                Optional
                                post integer Not PII

                                The Task priority of a new Task. The default priority is 0. Optional when integrationType is task, not applicable otherwise.

                                integration.creation_on_message
                                Optional
                                post boolean Not PII

                                In the context of outbound messaging, defines whether to create a Task immediately (and therefore reserve the conversation to current agent), or delay Task creation until the customer sends the first response. Set to false to create immediately, true to delay Task creation. This setting is only applicable for outbound messaging.

                                long_lived
                                Optional
                                post boolean Not PII

                                When enabled, Flex will keep the chat channel active so that it may be used for subsequent interactions with a contact identity. Defaults to false.

                                janitor_enabled
                                Optional
                                post boolean Not PII

                                When enabled, the Messaging Channel Janitor will remove active Proxy sessions if the associated Task is deleted outside of the Flex UI. Defaults to false.

                                integration.retry_count
                                Optional
                                post integer Not PII

                                The number of times to retry the Studio Flow or webhook in case of failure. Takes integer values from 0 to 3 with the default being 3. Optional when integrationType is studio or external, not applicable otherwise.

                                Example 1
                                Loading Code Sample...
                                      
                                      

                                      Update a Flex Flow

                                      Delete a Flex Flow

                                      delete
                                      https://flex-api.twilio.com/v1/FlexFlows/{Sid}
                                      Parameters
                                      Parameters in REST API format
                                      sid
                                      Path
                                      delete sid<FO> Not PII

                                      The SID of the Flex Flow resource to delete.

                                      Example 1
                                      Loading Code Sample...
                                            
                                            

                                            Delete a Flex Flow resource

                                            Rate this page:

                                            Need some help?

                                            We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

                                            Loading Code Sample...
                                                  
                                                  
                                                  

                                                  Thank you for your feedback!

                                                  Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

                                                  Sending your feedback...
                                                  🎉 Thank you for your feedback!
                                                  Something went wrong. Please try again.

                                                  Thanks for your feedback!

                                                  thanks-feedback-gif