Integrations

Connect third-party services used by automations and DNS workflows — Twilio for SMS steps, plus Vercel and related account integrations for domain tooling.

Base URL: https://api.supersendtx.com

Auth: Bearer stx_… full-access API key (or dashboard session cookie). Sending-scoped keys cannot manage integrations.


Twilio (SMS)

Required before send_sms automation steps will deliver.

Get status

GET /integrations/twilio

SUPERSENDTX_API_KEY=stx_… npx -y --package=supersendtx-cli -- supersendtx integrations twilio status

Response (never includes raw credentials):

{
  "twilio": {
    "connected": true,
    "hint": "aaaa",
    "connectedAt": "2026-01-01T00:00:00.000Z",
    "defaultFrom": "+15551234567",
    "messagingServiceSid": null
  }
}

Connect

PUT /integrations/twilio

Validates Account SID + Auth Token against Twilio, encrypts them at rest, and stores a default from number and/or Messaging Service SID for send_sms steps.

SUPERSENDTX_API_KEY=stx_… npx -y --package=supersendtx-cli -- supersendtx integrations twilio connect \
  --account-sid AC… \
  --auth-token … \
  --from +15551234567

Or set env vars and omit flags:

export TWILIO_ACCOUNT_SID=AC…
export TWILIO_AUTH_TOKEN=…
export TWILIO_DEFAULT_FROM=+15551234567
supersendtx integrations twilio connect

Use --messaging-service-sid MG… instead of --from when you send via a Twilio Messaging Service.

npm

import { SuperSendTX } from 'supersendtx'

const client = new SuperSendTX('stx_…')

await client.integrations.connectTwilio({
  accountSid: 'AC…',
  authToken: '…',
  defaultFrom: '+15551234567',
})

const { twilio } = await client.integrations.getTwilio()
console.log(twilio.connected)

Disconnect

DELETE /integrations/twilio

supersendtx integrations twilio disconnect

Cloudflare (DNS)

Session cookie auth only (dashboard Settings → Integrations). For terminal DNS apply, pass CLOUDFLARE_API_TOKEN to domains apply instead, or rely on the stored dashboard token.


Vercel (DNS)

Session cookie auth only (dashboard Settings → Integrations). Save an API token and optional team id for domains that use Vercel nameservers. For terminal DNS apply, pass VERCEL_API_TOKEN and optional VERCEL_TEAM_ID to domains apply, or rely on the stored dashboard token.

Get status

GET /integrations/vercel

Connect

PUT /integrations/vercel

{
  "apiToken": "vercel_…",
  "teamId": "team_…"
}

Disconnect

DELETE /integrations/vercel