> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `claude plugin marketplace add scalekit-inc/claude-code-authstack && claude plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agentkit`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Twilio connector

Connect to Twilio to send SMS/MMS messages, make voice calls, verify phone numbers with OTP, manage phone numbers, and access usage records.

**Authentication:** Basic Auth
**Categories:** Communication, Automation
1. ### Install the SDK

   
     ### Node.js

```bash frame="terminal"
npm install @scalekit-sdk/node
```

     ### Python

```bash frame="terminal"
pip install scalekit
```

   

   Full SDK reference: [Node.js](/agentkit/sdks/node/) | [Python](/agentkit/sdks/python/)

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

```sh showLineNumbers=false title=".env"
SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
SCALEKIT_CLIENT_ID=<your-client-id>
SCALEKIT_CLIENT_SECRET=<your-client-secret>
```

3. ### Set up the connector

   Register your Twilio credentials with Scalekit so it can authenticate requests on your behalf. You do this once per environment.

   ## Dashboard setup steps

Connect Twilio to Scalekit using your Account SID and Auth Token. Scalekit stores these credentials securely and injects them into every tool call — your agent code never handles them directly.

1. ### Get your Account SID and Auth Token

   - Log in to the [Twilio Console](https://console.twilio.com).
   - On the **Account Dashboard**, scroll down to the **Account Info** section.
   - Copy your **Account SID** (starts with `AC`).
   - Click **Show** next to **Auth Token** to reveal it, then copy it.

   > Image: Twilio Account Dashboard showing Account SID and Auth Token

2. ### Create a connection in Scalekit

   - In the [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** → **Connections** → **Create Connection**.
   - Search for **Twilio** and click **Create**.
   - Enter your **Account SID** in the **Account SID** field.
   - Enter your **Auth Token** in the **Auth Token** field.
   - Click **Save** and note the **Connection name** — use this as `connection_name` in your code.

## What you can do

Connect this agent connector to let your agent:

- **List verify services, usage records, recordings** — List all Twilio Verify services on the account
- **Get verify service, verification, recording** — Retrieve details of a specific Twilio Verify service by its SID
- **Delete verify service, recording, message** — Delete a Twilio Verify service by its SID
- **Create verify service** — Create a new Twilio Verify service for sending verification codes via SMS, call, email, or WhatsApp
- **Today usage records** — Retrieve today's usage records for a Twilio account, optionally filtered by category
- **Free available numbers toll** — Search for available toll-free phone numbers that can be purchased in a given country

## Tool list

Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first.

## Tool list

### `twilio_account_get`

Retrieve details of a Twilio account by its SID.

### `twilio_available_numbers_local`

Search for available local phone numbers that can be purchased in a given country.

Parameters:

- `country_code` (`string`, required): The ISO 3166-1 alpha-2 country code to search for numbers in.
- `area_code` (`string`, optional): Filter by area code.
- `contains` (`string`, optional): A pattern to match phone numbers against. Use * for wildcards.
- `sms_enabled` (`string`, optional): Filter for numbers that are SMS-capable.
- `voice_enabled` (`string`, optional): Filter for numbers that are voice-capable.

### `twilio_available_numbers_toll_free`

Search for available toll-free phone numbers that can be purchased in a given country.

Parameters:

- `country_code` (`string`, required): The ISO 3166-1 alpha-2 country code to search for numbers in.
- `area_code` (`string`, optional): Filter by area code.
- `contains` (`string`, optional): A pattern to match phone numbers against. Use * for wildcards.

### `twilio_call_delete`

Delete a call record from the account. This permanently removes the call log entry.

Parameters:

- `call_sid` (`string`, required): The unique identifier of the Call resource to delete.

### `twilio_call_get`

Retrieve details of a specific phone call by its SID, including status, duration, and pricing information.

Parameters:

- `call_sid` (`string`, required): The unique identifier of the Call resource to retrieve.

### `twilio_calls_list`

Retrieve a list of phone calls made to and from the account, with optional filtering by number, status, and date.

Parameters:

- `end_time` (`string`, optional): Filter by calls started on or before this date (YYYY-MM-DD format).
- `from_number` (`string`, optional): Filter by the phone number that initiated the call.
- `page_size` (`integer`, optional): The number of results to return per page. Maximum is 1000.
- `start_time` (`string`, optional): Filter by calls started on or after this date (YYYY-MM-DD format).
- `status` (`string`, optional): Filter by call status. Values: queued, ringing, in-progress, completed, busy, failed, no-answer, canceled.
- `to` (`string`, optional): Filter by the phone number that received the call.

### `twilio_conference_get`

Retrieve details of a specific conference by its SID, including status, friendly name, and region.

Parameters:

- `conference_sid` (`string`, required): The unique identifier of the Conference resource to retrieve.

### `twilio_conferences_list`

Retrieve a list of conferences for the account, with optional filtering by name, status, date, and pagination.

Parameters:

- `date_created` (`string`, optional): Filter conferences created on this date (YYYY-MM-DD format).
- `friendly_name` (`string`, optional): Filter conferences by their friendly name.
- `page_size` (`integer`, optional): The number of results to return per page. Maximum is 1000.
- `status` (`string`, optional): Filter by conference status. Values: init, in-progress, completed.

### `twilio_conversation_delete`

Delete a Twilio Conversation by its SID. This permanently removes the conversation and all associated data.

Parameters:

- `conversation_sid` (`string`, required): The unique SID of the conversation to delete.

### `twilio_conversation_get`

Retrieve the details of a specific Twilio Conversation by its SID.

Parameters:

- `conversation_sid` (`string`, required): The unique SID of the conversation to retrieve.

### `twilio_conversation_message_delete`

Delete a specific message from a Twilio Conversation by its SID.

Parameters:

- `conversation_sid` (`string`, required): The unique SID of the conversation containing the message.
- `message_sid` (`string`, required): The unique SID of the message to delete.

### `twilio_conversation_messages_list`

List all messages in a Twilio Conversation. Optionally control the sort order and page size.

Parameters:

- `conversation_sid` (`string`, required): The unique SID of the conversation to list messages for.
- `order` (`string`, optional): The sort order of messages. One of: asc, desc.
- `page_size` (`integer`, optional): The number of messages to return per page.

### `twilio_conversation_participants_list`

List all participants in a Twilio Conversation.

Parameters:

- `conversation_sid` (`string`, required): The unique SID of the conversation to list participants for.
- `page_size` (`integer`, optional): The number of participants to return per page.

### `twilio_conversations_list`

List all Twilio Conversations. Optionally filter by state and control page size.

Parameters:

- `page_size` (`integer`, optional): The number of conversations to return per page.
- `state` (`string`, optional): Filter conversations by state. One of: active, inactive, closed.

### `twilio_message_delete`

Permanently delete a message resource from your Twilio account. This action cannot be undone.

Parameters:

- `message_sid` (`string`, required): The unique identifier of the message to delete

### `twilio_message_get`

Retrieve the details of a specific message by its SID.

Parameters:

- `message_sid` (`string`, required): The unique identifier of the message to retrieve

### `twilio_message_media_list`

Retrieve a list of media resources associated with a specific message.

Parameters:

- `message_sid` (`string`, required): The SID of the message to list media for
- `page_size` (`integer`, optional): Number of media resources to return per page (1-1000, default 50)

### `twilio_messages_list`

Retrieve a list of messages associated with your Twilio account, with optional filtering by recipient, sender, or date sent.

Parameters:

- `date_sent` (`string`, optional): Filter by date sent (YYYY-MM-DD format)
- `from_number` (`string`, optional): Filter by messages sent from this phone number in E.164 format
- `page_size` (`integer`, optional): Number of messages to return per page (1-1000, default 50)
- `to` (`string`, optional): Filter by messages sent to this phone number in E.164 format

### `twilio_messaging_services_list`

Retrieve a list of all Messaging Services associated with your Twilio account.

Parameters:

- `page_size` (`integer`, optional): Number of Messaging Services to return per page (1-1000, default 50)

### `twilio_phone_number_get`

Retrieve details of a specific incoming phone number by its SID.

Parameters:

- `phone_number_sid` (`string`, required): The SID of the incoming phone number to retrieve.

### `twilio_phone_numbers_list`

List all incoming phone numbers on the Twilio account.

Parameters:

- `friendly_name` (`string`, optional): Filter by friendly name of the phone number.
- `page_size` (`integer`, optional): Number of results to return per page.
- `phone_number` (`string`, optional): Filter by phone number in E.164 format.

### `twilio_recording_delete`

Permanently delete a call recording from the account. This action cannot be undone.

Parameters:

- `recording_sid` (`string`, required): The unique identifier of the Recording resource to delete.

### `twilio_recording_get`

Retrieve details of a specific call recording by its SID, including duration, status, and source.

Parameters:

- `recording_sid` (`string`, required): The unique identifier of the Recording resource to retrieve.

### `twilio_recordings_list`

Retrieve a list of call recordings for the account, with optional filtering by call SID, date, and pagination.

Parameters:

- `call_sid` (`string`, optional): Filter recordings by the Call SID they are associated with.
- `date_created` (`string`, optional): Filter recordings created on this date (YYYY-MM-DD format).
- `page_size` (`integer`, optional): The number of results to return per page. Maximum is 1000.

### `twilio_usage_records_list`

Retrieve usage records for a Twilio account, optionally filtered by category and date range.

Parameters:

- `category` (`string`, optional): The usage category to filter by (e.g., sms, calls, phonenumbers).
- `end_date` (`string`, optional): The end date for the usage records in YYYY-MM-DD format.
- `page_size` (`integer`, optional): Number of results to return per page.
- `start_date` (`string`, optional): The start date for the usage records in YYYY-MM-DD format.

### `twilio_usage_records_today`

Retrieve today's usage records for a Twilio account, optionally filtered by category.

Parameters:

- `category` (`string`, optional): The usage category to filter by (e.g., sms, calls, phonenumbers).

### `twilio_verification_get`

Retrieve the status and details of a specific verification by its SID.

Parameters:

- `service_sid` (`string`, required): The SID of the Verify service.
- `verification_sid` (`string`, required): The SID of the verification to retrieve.

### `twilio_verify_service_create`

Create a new Twilio Verify service for sending verification codes via SMS, call, email, or WhatsApp.

Parameters:

- `friendly_name` (`string`, required): A descriptive name for the Verify service.
- `code_length` (`integer`, optional): The length of the verification code to generate. Must be between 4 and 10.
- `lookup_enabled` (`string`, optional): Whether to perform a lookup on the phone number before sending verification.
- `psd2_enabled` (`string`, optional): Whether to enable PSD2 compliance for the service.
- `skip_sms_to_landlines` (`string`, optional): Whether to skip sending SMS to landline phone numbers.

### `twilio_verify_service_delete`

Delete a Twilio Verify service by its SID. This action is irreversible.

Parameters:

- `service_sid` (`string`, required): The unique SID of the Verify service to delete.

### `twilio_verify_service_get`

Retrieve details of a specific Twilio Verify service by its SID.

Parameters:

- `service_sid` (`string`, required): The unique SID of the Verify service to retrieve.

### `twilio_verify_services_list`

List all Twilio Verify services on the account.

Parameters:

- `page_size` (`integer`, optional): Number of results to return per page. Maximum is 1000.


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
