twilio.flex

Meya app setup

  • Add Twilio Flex integration to your Meya app
  • Get integration webhook and save for later
    meya webhooks | grep twilio_flex

Twilio Flex setup

Create API Key

  • Access API Key management
    https://www.twilio.com/console/project/api-keys
  • Create a new API Key
  • Add the new SID and secret to
    (@ vault.twilio.api_key_sid ) and (@ vault.twilio.api_key_secret )
    respectively

Enable Flex

  • Access your Twilio account
    https://www.twilio.com/console
  • Add account SID to (@ vault.twilio_flex.account_sid )
  • Enable Twilio Flex
    https://www.twilio.com/console/flex/overview

Enable Programmable Chat webhooks

  • Access Flex Channel Service created by Flex setup
  • Add service SID to (@ vault.twilio_flex.flex_chat_service )
  • Go to webhooks on side menu and add Meya webhook saved earlier to "Post-Event Webhooks"
  • Enable onMessageSent and onMediaMessageSent

Enable Task Router webhooks

  • Access your Task Router Workspace
  • Go to settings on side menu and add Meya webhook to Event Callbacks
  • Enable Reservation Accepted, Reservation Completed, Task Canceled and TaskQueueEntered events

Setup Web channel

  • Access Flex Messaging Settings
  • Edit web channel
  • Set INTEGRATION TYPE to Task
  • Set TASK CHANNEL to Programmable Chat

Launch Twilio Flex

  • Access your Flex Instance
  • Inside Flex instance go to Admin > Developer setup
  • Add flexFlowSid to (@ vault.twilio_flex.flex_flow_sid )

Element details

type: meya.twilio.flex.integration
class: TwilioFlexIntegration
path: /meya/twilio/flex/integration/integration.py
signature: -

Fields

fielddescription               requiredsignaturedefaulttype
specOverride the original spec for this element.nullSpec
enabledEnables the integration, allowing it to process events and HTTP/WS entries.truebool
filterrx_sub: true
rx: true
tx: "\nmeya.event.entry.interactive\nOR meya.csp.event\nOR meya.button.event.click\n
OR meya.form.event.submit\n"
tx_pub: true
IntegrationFilter
verify_tokenThe token to be verified for each incoming request. You need to add the verify_token=YOUR_TOKEN query parameter to integration's webhook URL.nullstr
max_attachment_sizeControls maximum attachment size supported by the integration in bytes.nullint
account_sidTwilio project Account SID.str
auth_tokenTwilio project auth token. This field is being deprecated, switch to api_key_sid and api_key_secret as soon as possible. For more information, see https://www.twilio.com/console/project/api-keysnullstr
api_key_sidTwilio API Key SID. Access https://www.twilio.com/console/project/api-keys to manage API Keys.nullstr
api_key_secretTwilio API Key secret. Access https://www.twilio.com/console/project/api-keys to manage API Keys.nullstr
phone_numberTwilio active number for use with Meya. Note, this can also be a Message Service ID. For SMS/calls this will generally be a standard E.164 number e.g. +15554440000. For WhatsApp this needs to be a prefixed E.164 number e.g. whatsapp:+15554440000. For a message service, you just use the Message Service ID directly e.g. MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.nullstr
markdownThe markdown features that are supported by this integration. Check the Markdown guide for more info.falselist
bool
typingWhen set to false, all typing indicators received by the integration will be ignored.truebool
avatarcrop: circle
CspIntegrationAvatar
agent_command_prefix"/"str
transcriptcount: 25
user_prefix: user
bot_prefix: bot
agent_prefix: agent
note_prefix: 📝
CspIntegrationTranscript
agentname:
avatar:
AgentSpec
flex_flow_sidstr
flex_chat_service_sidstr

Usage reference

Basic

type: meya.twilio.flex.integration
account_sid: STRING
flex_flow_sid: STRING
flex_chat_service_sid: STRING

Full

type: meya.twilio.flex.integration
spec:
  type: STRING
  data:
    STRING: ANY
  timeout: 123
  trigger_when: ANY
enabled: false
filter:
  rx_sub: STRING
  rx: STRING
  tx: STRING
  tx_pub: STRING
verify_token: STRING
max_attachment_size: 123
account_sid: STRING
auth_token: STRING
api_key_sid: STRING
api_key_secret: STRING
phone_number: STRING
markdown:
  - format|linkify|breaks|typographer
typing: false
avatar:
  crop: circle|square
agent_command_prefix: STRING
transcript:
  count: 123
  user_prefix: STRING
  bot_prefix: STRING
  agent_prefix: STRING
  note_prefix: STRING
agent:
  name: full|first|first_initial|first_last_initial|first_initial_last_initial
  avatar:
    image: STRING
    crop: circle|square
    monogram: full|first|first_initial|first_last_initial|first_initial_last_initial
flex_flow_sid: STRING
flex_chat_service_sid: STRING