---
title: "Connect Twilio for SMS automations"
method: PUT
path: "/integrations/twilio"
tags: ["Integrations"]
---

# Connect Twilio for SMS automations

`PUT /integrations/twilio`

## Request

- Base URL: `https://api.groundmail.dev`
- URL: `https://api.groundmail.dev/integrations/twilio`
- Auth: HTTP bearer

Bearer `gm_…` (full-access key) or dashboard session cookie.
Validates credentials against Twilio, then encrypts them at rest.
Provide `defaultFrom` and/or `messagingServiceSid` for `send_sms` automation steps.

## Request body

- TwilioConnectRequest
  - `accountSid` string, required: Twilio Account SID (AC…)
  - `authToken` string, required: Twilio Auth Token
  - `defaultFrom` string: Default E.164 From number (required if messagingServiceSid omitted)
  - `messagingServiceSid` string: Default Messaging Service SID (required if defaultFrom omitted)

## Response `200`

Twilio connected

- TwilioIntegrationResponse
  - `twilio` TwilioIntegrationStatus, required
    - `connected` boolean, required
    - `hint` string, nullable, required: Last 4 characters of the stored Account SID
    - `connectedAt` string, date-time, nullable, required
    - `defaultFrom` string, nullable, required: Default E.164 From number for send_sms steps
    - `messagingServiceSid` string, nullable, required: Default Twilio Messaging Service SID for send_sms steps

## Other responses

- `400`: Validation or Twilio rejected credentials
- `401`: Unauthorized
- `403`: Sending-scoped API key
- `503`: Encryption key not configured

---

[API](https://skmtc.dev/groundmail/apis/groundmail-api.md) · [All operations](https://skmtc.dev/groundmail/apis/groundmail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/groundmail/apis/groundmail-api/revisions/479821c9fecf?raw)
