<
mx.sendgrid.net
https://yourtunnel.ngrok.io/inbound
.
Navigate to your TaskRouter Workspace (it should be named Flex Task Assignment
), then to Task Channels and create a new Task Channel named Email
.
Create an email Flex Flow
You'll need your webhook URL handy, in this quickstart I will use ngrok in this example. You'll also need your ChatServiceSid
which can be found here.
Run the following curl
:
curl -X POST https://flex-api.twilio.com/v1/FlexFlows \
--data-urlencode 'ChannelType=custom' \
--data-urlencode 'Enabled=true' \
--data-urlencode 'ContactIdentity=null' \
--data-urlencode 'IntegrationType=external' \
--data-urlencode 'Integration.Url=https://yourtunnel.ngrok.io/flexflow' \
--data-urlencode 'FriendlyName=Email FlexFlow' \
--data-urlencode 'ChatServiceSid=ISxxxxxxxxx' \
--data-urlencode 'LongLived=true' \
-u ACxxxxxxxx:[AUTH_TOKEN]
This should yield a Flex Flow Sid like FOxxxxxxxxx
-- note it down.
Hopefully you've already cloned this repository and ran npm install
. Next:
server
foldercp .env.example .env
node index.js
ngrok http 8080
If you followed the steps above correctly, sending an e-mail should now yield some logs and a task within Flex.
Of course, Flex doesn't know how to render tasks for our new e-mail channel yet, so we can't see the contents. For that, let's add a plugin!
In the root of the plugin-email
directory execute
Then upload the resulting distribution file to Twilio Assets.
It should now look like this:
If you find yourself wanting to update the URL for your express server, you'll need to update the URL in two places:
curl -X POST https://flex-api.twilio.com/v1/FlexFlows/FOxxx \
--data-urlencode 'Integration.Url=https://yourtunnel.ngrok.io/flexflow' \
-u ACxxxxxxxx:[AUTH_TOKEN]
This software is to be considered "sample code", a Type B Deliverable, and is delivered "as-is" to the user. Twilio bears no responsibility to support the use or implementation of this software.