Saperly
Saperly is the phone carrier for AI agents — phone numbers, voice, SMS, and compliance in one API.
What agents can do
Actions30
Assign number connection
Attach a connection (the AI persona / answering brain from SAPERLY_CREATE_CONNECTION) to a phone number, so inbound calls and SMS to that number — and outbound calls placed from it — are handled by…
Check consent
Check whether a contact currently has active TCPA consent for one of your Saperly numbers, given numberId (your number) and peerNumber (the contact's E.164 number) as query params.
Create connection
Create a connection: the AI 'brain' that answers calls and (optionally) SMS on a Saperly phone number.
Delete connection
PERMANENTLY AND IRREVERSIBLY delete a connection (the AI answering brain / persona that handles calls and SMS) by its id.
End call
End an in-progress call by its id, hanging up and settling the metered cost.
Get call
Fetch a single call by its id, returning its status, per-minute rate, final duration (durationSec) and cost (costCents), and the hasRecording / hasTranscript flags.
Get call recording
Get the audio recording for a call and return it as a downloadable file.
Get call transcript
Fetch the transcript (conversation turns/segments) of a completed call by its id.
22 moreFewer
Get connection
Fetch a single connection (the AI answering brain / persona that handles calls and SMS) by its id, returning its full config: name, mode, backend, instructions, tts voice, language…
Get number
Fetch a single phone number by its id, returning its E.164 phoneNumber, bound connectionId, webhookUrl, country, numberType, pricing and lifecycle fields.
Get usage
Return the workspace usage summary and prepaid balance: calls {count, totalCostCents, totalDurationSec}, messages {count}, and balanceCents (the prepaid balance, in cents).
List calls
Return the full voice-call history (inbound + outbound) for the connected Saperly workspace.
List connections
Return every connection (the AI persona / answering 'brain' that handles calls and SMS) in the connected Saperly workspace.
List consent
Return every TCPA consent record in the connected Saperly workspace, with each record's id, numberId (the Saperly number contact is authorized FROM), peerNumber (the contact's E.164 number)…
List languages
Return the spoken languages Saperly supports for voice connections, each as a {code, name} pair (about 42 entries, e.g.
List messages
Return SMS messages in the connected Saperly workspace (both inbound and outbound).
List numbers
Return every phone number provisioned in the connected Saperly workspace, with each number's id, phoneNumber (E.164), the connectionId (answering brain) bound to it, webhookUrl, country, numberType…
List voices
List the text-to-speech voices available for Saperly connections.
Place call
PAID / METERED — places a REAL outbound voice call that RINGS A REAL PHONE and BILLS PER MINUTE (~26¢/min); it keeps billing until hung up — end it with SAPERLY_END_CALL to stop the meter.
Provision number
PAID / METERED: provision (buy) a new phone number in a country.
Quote number price
READ-ONLY and FREE: quote the price to provision a phone number in a country/type, returning { customerMonthlyCents, customerUpfrontCents }.
Record consent
Record TCPA consent for a contact so outbound SMS (SAPERLY_SEND_SMS) and calls (SAPERLY_PLACE_CALL) from your number are permitted.
Release number
PERMANENTLY AND IRREVERSIBLY release a phone number back to the carrier.
Revoke consent
Revoke a contact's TCPA consent for a given Saperly number, blocking further outbound contact to them.
Send sms
PAID / METERED: send a single SMS from one of your Saperly numbers to an E.164 destination.
Set number caller id
Set the outbound caller ID name / CNAM (1-15 characters: letters, digits, spaces) presented to recipients on outbound calls from a Saperly phone number, or pass callerIdName=null to CLEAR it.
Set number sms sender
Set the alphanumeric SMS sender id (1-11 alphanumeric chars, e.g.
Set number webhook
Set the HTTPS webhook URL that Saperly POSTs this number's events (inbound SMS/calls, status) to.
Transfer call
PAID / METERED — BLIND-transfers a LIVE, in-progress voice call to another destination `to` (an E.164 number like +15551230000, or a `sip:` URI).
Update connection
Partially update a connection (the AI answering brain bound to a number).
How it connects
You paste an API key from Saperly on a page Composio hosts, so the key never passes through Definable.
Keep the connection to yourself or share it with your workspace. Any action that writes or sends can wait for your approval.
More in Phone & SMS
ClickSend
phone & sms
ClickSend is a cloud-based SMS and email marketing platform that enables businesses to send and receive SMS messages, manage contacts, and track campaign performance.
Quo
phone & sms
Quo, formerly OpenPhone, is a business phone platform for managing calls, messages, contacts, conversations, tasks, users, and webhooks.
Telnyx
phone & sms
Telnyx is a communications platform offering voice, messaging, and data services through a global private network.
Callingly
phone & sms
Callingly is a lead response management software that automates immediate call and text follow-ups to new leads, integrating seamlessly with various CRMs and lead sources to enhance sales team responsiveness and conversion rates.
phone & sms
Enables interaction with customers through the WhatsApp Business API for messaging and automation. Only supports WhatsApp Business accounts, not WhatsApp Personal accounts.
SMS Alert
phone & sms
SMS Alert is a versatile multi-channel communication platform enabling businesses to engage with customers through SMS, RCS, Telegram, and WhatsApp via a unified REST API.