Communication · Integration
TwilioAGNT

AI agents for Twilio

SMS and voice when the alert genuinely cannot wait. AGNT connects to Twilio so agents can read what happens there, reason about it, and act — with a receipt for every run.

Twilio and AGNT, in brief

What it doesLets an AGNT agent read from and act in Twilio.
Connects withBasic — held in the local vault
AGNT nodecustom-api, or the zapier-action bridge
Runs whenAn SMS arrives
Typical build timeTen minutes
Where data goesNowhere by default — AGNT runs on your machine and credentials never leave it.

What you can automate

Reacts when…

  • an SMS arrives
  • a call completes

Agents can…

  • send SMS alerts
  • trigger call flows
  • notify on-call

Teams use it for

  • critical alerts that bypass the inbox
  • customer notifications from workflows
  • two-way SMS approval gates

The Twilio workflow, ready to paste

Take the simplest useful version: an SMS arrives in Twilio. Instead of a rule firing blindly, an agent reads the item in full, works out whether it matters and what it means, and then decides whether to send SMS alerts. Over a week that turns critical alerts that bypass the inbox from something a person checks into something that reports to a person.

Three nodes carry that: something happens in Twilio, an agent reads it and forms a view, and it acts only where that view says it should. The definition below is the whole thing — paste it into a new workflow and it loads exactly as drawn.

Twilio workflow: run on a schedule → work out what should change → call the twilio api TRIGGER trigger-timer Run on a schedule Every fifteen minutes. ACTION agnt-agent Work out what should change Decides what to change, and why. ACTION custom-api Call the Twilio API POST · basic
Nothing here calls out to us: AGNT talks to Twilio directly from your machine, and each run leaves a receipt you can read line by line afterwards.
Twilio — read, decide, actpaste into a new workflow
{
  "id": "5509991f-2afb-4d0c-a761-b7538015b9c8",
  "name": "Twilio — read, decide, act",
  "nodes": [
    {
      "id": "e725b8c9-5291-4a71-a2a2-9d4e9d7e0f16",
      "text": "Run on a schedule",
      "x": 512,
      "y": 144,
      "isEditing": false,
      "type": "trigger-timer",
      "icon": "clock",
      "category": "trigger",
      "isSelected": false,
      "parameters": {
        "interval": "15",
        "unit": "minutes"
      },
      "description": "Checks Twilio every fifteen minutes.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "8dfccf80-33b3-4b3e-a588-9f98e1afa5a4",
      "text": "Work out what should change",
      "x": 512,
      "y": 336,
      "isEditing": false,
      "type": "agnt-agent",
      "icon": "agnt",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "instructions": "Decide what needs to happen in Twilio. Explain your reasoning."
      },
      "description": "Decides what needs to happen in Twilio, and why.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "c3969117-bd0d-4b34-a5ea-612bcdf1c1e0",
      "text": "Call the Twilio API",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "custom-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "url": "https://api.twilio.com/2010-04-01/Accounts/{accountSid}/Messages.json",
        "method": "POST",
        "authType": "Basic",
        "headers": "{\"Content-Type\": \"application/json\"}"
      },
      "description": "POST against the Twilio API, authenticated with basic.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "dd9a8c79-22c8-4dc3-a253-a59289c70062",
      "start": {
        "id": "e725b8c9-5291-4a71-a2a2-9d4e9d7e0f16",
        "type": "output"
      },
      "end": {
        "id": "8dfccf80-33b3-4b3e-a588-9f98e1afa5a4",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "45a45ff5-5a72-49f7-a4a7-54ba7fbfb856",
      "start": {
        "id": "8dfccf80-33b3-4b3e-a588-9f98e1afa5a4",
        "type": "output"
      },
      "end": {
        "id": "c3969117-bd0d-4b34-a5ea-612bcdf1c1e0",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Run this against your own Twilio

Free to download, local by default — your Twilio credentials stay in a vault on your own disk.

For the alerts that genuinely cannot wait

Email and chat are both easy to miss. SMS and voice are the escalation path for the small number of events that warrant interrupting someone — and being deliberate about which events those are is most of the design work.

Two-way approval

Because SMS is bidirectional, it can carry an approval gate to someone with no laptop open. For on-call and out-of-hours decisions, that is often the difference between a workflow that waits and one that proceeds.

How to reach Twilio from a workflow

Twilio has no dedicated node in AGNT so far. That is not a blocker — it authenticates with basic, which the custom-api node handles directly, and the exact call is below.

What you needValue
Endpointhttps://api.twilio.com/2010-04-01/Accounts/{accountSid}/Messages.json
MethodPOST
AuthenticationBasic
HeaderAuthorization: Basic base64({accountSid}:{authToken})
ReferenceTwilio API documentation

Worth knowing: The body is form-encoded, not JSON — a JSON payload is accepted and then ignored.

The part that catches people out

The body is form-encoded, not JSON — a JSON payload is accepted and then ignored.

Everything else about Twilio behaves the way you would expect, so once that is handled the rest of the build is ordinary. The POST above is the shape every other call takes.

Connect Twilio in two minutes

  1. Download AGNT Community Core — free, local-first, no account needed to run.
  2. Connect by pasting an API key into AGNT’s vault — stored encrypted on your machine, never uploaded.
  3. Drop the Twilio node into a workflow or hand it to an agent — the first run produces a receipt you can read line by line.

Twilio + AGNT — common questions

When should a workflow use SMS?

Rarely and deliberately — for events where missing the notification has real consequences.

Can customers reply?

Yes, and an inbound SMS can trigger a workflow of its own.

How is Twilio connected?

With API credentials held encrypted in the local vault.

More communication integrations

Give AI a job. Get the proof.