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
andonMediaMessageSent
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
andTaskQueueEntered
events
Setup Web channel
- Access Flex Messaging Settings
- Edit
web
channel - Set
INTEGRATION TYPE
toTask
- Set
TASK CHANNEL
toProgrammable 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
field | description | required | signature | default | type |
---|---|---|---|---|---|
spec | Override the original spec for this element. | ○ | ○ | null | Spec |
enabled | Enables the integration, allowing it to process events and HTTP/WS entries. | ○ | ○ | true | bool |
filter | ○ | ○ | rx_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_token | The token to be verified for each incoming request. You need to add the verify_token=YOUR_TOKEN query parameter to integration's webhook URL. | ○ | ○ | null | str |
max_attachment_size | Controls maximum attachment size supported by the integration in bytes. | ○ | ○ | null | int |
account_sid | Twilio project Account SID. | ◉ | ○ | str | |
auth_token | Twilio 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-keys | ○ | ○ | null | str |
api_key_sid | Twilio API Key SID. Access https://www.twilio.com/console/project/api-keys to manage API Keys. | ○ | ○ | null | str |
api_key_secret | Twilio API Key secret. Access https://www.twilio.com/console/project/api-keys to manage API Keys. | ○ | ○ | null | str |
phone_number | Twilio 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. | ○ | ○ | null | str |
markdown | The markdown features that are supported by this integration. Check the Markdown guide for more info. | ○ | ○ | false | list bool |
typing | When set to false , all typing indicators received by the integration will be ignored. | ○ | ○ | true | bool |
avatar | ○ | ○ | crop: circle | CspIntegrationAvatar | |
agent_command_prefix | ○ | ○ | "/" | str | |
transcript | ○ | ○ | count: 25 user_prefix: user bot_prefix: bot agent_prefix: agent note_prefix: 📝 | CspIntegrationTranscript | |
agent | ○ | ○ | name: avatar: | AgentSpec | |
flex_flow_sid | ◉ | ○ | str | ||
flex_chat_service_sid | ◉ | ○ | str | ||
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