Skip to main content

Twilio Resources

The Twilio Resources page holds the parts of your Twilio account that human escalation runs on: an API key, the TaskRouter workspace and workflow that route work to people, and the voice and messaging resources that carry calls and chats. It also lists the webhook URLs Twilio uses to reach this environment, and shows whether each one is set correctly in Twilio.

The page appears under Contact Centre once human escalation is turned on.

Before You Start​

  • Role: the Organisation Admin role.
  • Twilio connected on the Twilio page. Until it is, this page shows "Connect a Twilio account to manage these resources." with an Open Twilio button, and every field is read only.
  • Access to your Twilio Console, to create or copy the values below.

API Key​

An API key is a separate credential for your Twilio account, made of a key SID and a secret. It can be created and revoked without touching your auth token. See Twilio's API key docs. Human escalation needs one: it lets your team take calls in the browser, and lets Agentic check that the connection is healthy.

  1. In Twilio, create an API key on the same account as the account SID on the Twilio page. Copy the secret when Twilio shows it, because Twilio only shows it once.
  2. In the API Key section, enter the API key SID.
  3. Enter the API key secret.
  4. Select Save changes.

Like the auth token, the API key secret is write only. Once saved, its row reads Saved. To change it, select Replace and enter the new secret.

While human escalation is on and no API key is saved, the page shows "Human escalation needs an API key. Add one below so people can take calls."

Resources​

The Resources section holds the IDs of four resources in your Twilio account, grouped by the part of Twilio they belong to. Each field name has a link icon that opens the matching page in the Twilio Console.

GroupFieldWhat it is
TaskRouterWorkspace SIDThe TaskRouter workspace holding this environment's activities, queues and people. A workspace is the container for all of TaskRouter's routing setup. See Twilio's workspace docs.
TaskRouterWorkflow SIDThe workflow that decides which queue each task goes to. You edit it on Routing.
VoiceTwiML App SIDA TwiML app is a Twilio object that holds the address Twilio calls for instructions when a call needs handling. This one holds the voice webhook used when a call is answered by your team. See Twilio's TwiML app docs.
MessagingConversations Service SIDTwilio Conversations carries chat and SMS. This service holds the webhook for those messages. See Twilio's Conversations docs.

Enter the values and select Save changes. Agentic checks each value with Twilio before saving.

Message on a fieldWhat it means
Twilio did not accept this value.Twilio could not find this resource on your account. Copy the ID again from the Twilio Console.
Not checked. The account SID and auth token have to work before this one can be tried.Fix the connection on the Twilio page first.
Not checked. The workspace SID has to work before this one can be tried.The workflow is looked up inside the workspace, so correct the Workspace SID first.

Webhook URLs​

A webhook is an address Twilio calls to tell Agentic that something has happened, such as a call arriving or a task being offered to someone. See Twilio's webhook docs. Human escalation needs four of them set on your Twilio resources.

Agentic generates the four URLs for this environment, so you cannot edit them. Each one either matches what Twilio has, or needs pushing to Twilio.

WebhookWhere it is set in TwilioWhat it carries
Voice webhookThe TwiML appCalls answered by your team.
Assignment callbackThe workflowThe moment Twilio offers a contact to someone on your team.
Conversations webhookThe Conversations serviceChat and SMS messages.
TaskRouter event callbackThe workspaceSession history and live availability.

The section header shows how many are in sync, for example "3 of 4 synced".

Pushing the URLs​

  1. In the Webhook URLs section, check each row. A row with a Synced badge needs nothing.
  2. Select Push on a row to write that URL to Twilio, or select Push all to write every URL that is out of date.

Pushing happens straight away and is separate from Save changes. While any URL is out of date, the save bar reminds you, for example "1 webhook needs pushing. Not part of Save". Save the resources first, so Twilio knows which TaskRouter workspace, workflow, TwiML app and Conversations service to push to.

When a URL in Twilio points somewhere else, the row shows the difference between the two: the part Twilio has now is struck through, and the part it should have is underlined.

When Webhooks Point Somewhere Else​

If a webhook in Twilio has been changed so it no longer points at this environment, the page shows a warning that names what has stopped arriving:

  • "Your chat and SMS webhook points somewhere else, so messages aren't reaching your team."
  • "A contact centre webhook points somewhere else, so calls and tasks aren't reaching your team."
  • "Your chat, SMS and contact centre webhooks point somewhere else, so messages, calls and tasks aren't reaching your team."

Select Push all to replace them with the URLs this environment needs. The Twilio Resources entry in the sidebar carries a marker until they are back in sync.

Warnings only appear for the webhooks this environment actually uses. When the warning adds "Your agents answer without these webhooks, so anything they handle is unaffected.", calls answered by agents are still working, and only work meant for your team is affected.

One set of Twilio resources per environment

The most common cause of a drifted webhook is two environments sharing the same TaskRouter workspace, TwiML app or Conversations service. Each push points the shared resource at the environment that pushed, which takes it away from the other one. The Voice webhook row says so directly: "Twilio is pointing at a different environment, so calls to this number are reaching the wrong place." Give each environment its own Twilio resources.

Turning Human Escalation Off​

The Human Escalation section at the bottom of this page has a Status switch. Switching it to Off and selecting Save changes turns human escalation off for this environment. See Turning Off Human Escalation.

What Happens Next​

Once the resources are saved and the webhooks this environment uses show Synced, the Getting started checklist in the sidebar shows Human Escalation Ready. Next, set up Routing so tasks have somewhere to go.