Saperly
for LuumenAI

Phone numbers, voice, and SMS your agent can read and act on

Saperly gives your team phone numbers, outbound voice, and SMS behind one API. Connected to Luumen, the agent reads call history, transcripts, message logs, consent records, and your prepaid balance on request. Placing a call, sending a message, or provisioning a number is previewed first and sent for approval before anything bills or rings.

The Saperly toolbox

30 tools: 15 read, 15 write. Reads answer instantly. Writes require approval by default. Everything is logged.

  • ReadCheck ConsentCheck 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.
  • ReadGet CallFetch a single call by its id, returning its status, per-minute rate, final duration (durationSec) and cost (costCents), and the hasRecording / hasTranscript flags.
  • ReadGet Call RecordingGet the audio recording for a call and return it as a downloadable file.
  • ReadGet Call TranscriptFetch the transcript (conversation turns/segments) of a completed call by its id.
  • ReadGet ConnectionFetch 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…
  • ReadGet Phone NumberFetch a single phone number by its id, returning its E.164 phoneNumber, bound connectionId, webhookUrl, country, numberType, pricing and lifecycle fields.
  • ReadGet Usage & BalanceReturn the workspace usage summary and prepaid balance: calls {count, totalCostCents, totalDurationSec}, messages {count}, and balanceCents (the prepaid balance, in cents).
  • ReadList CallsReturn the full voice-call history (inbound + outbound) for the connected Saperly workspace.
  • ReadList ConnectionsReturn every connection (the AI persona / answering 'brain' that handles calls and SMS) in the connected Saperly workspace.
  • ReadList Consent RecordsReturn 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)…
  • ReadList LanguagesReturn the spoken languages Saperly supports for voice connections, each as a {code, name} pair (about 42 entries, e.g.
  • ReadList MessagesReturn SMS messages in the connected Saperly workspace (both inbound and outbound).
  • ReadList Phone NumbersReturn 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…
  • ReadList VoicesList the text-to-speech voices available for Saperly connections.
  • ReadQuote Number PriceREAD-ONLY and FREE: quote the price to provision a phone number in a country/type, returning { customerMonthlyCents, customerUpfrontCents }.
  • WriteBind Connection to NumberAttach 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… Approval by default
  • WriteCreate ConnectionCreate a connection: the AI 'brain' that answers calls and (optionally) SMS on a Saperly phone number. Approval by default
  • WriteDelete ConnectionPERMANENTLY AND IRREVERSIBLY delete a connection (the AI answering brain / persona that handles calls and SMS) by its id. Approval by default
  • WriteEnd CallEnd an in-progress call by its id, hanging up and settling the metered cost. Approval by default
  • WritePlace CallPAID / 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. Approval by default
  • WriteProvision Phone NumberPAID / METERED: provision (buy) a new phone number in a country. Approval by default
  • WriteRecord ConsentRecord TCPA consent for a contact so outbound SMS (SAPERLY_SEND_SMS) and calls (SAPERLY_PLACE_CALL) from your number are permitted. Approval by default
  • WriteRelease Phone NumberPERMANENTLY AND IRREVERSIBLY release a phone number back to the carrier. Approval by default
  • WriteRevoke ConsentRevoke a contact's TCPA consent for a given Saperly number, blocking further outbound contact to them. Approval by default
  • WriteSend SMSPAID / METERED: send a single SMS from one of your Saperly numbers to an E.164 destination. Approval by default
  • WriteSet Number Caller ID NameSet 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. Approval by default
  • WriteSet Number SMS Sender IDSet the alphanumeric SMS sender id (1-11 alphanumeric chars, e.g. Approval by default
  • WriteSet Number WebhookSet the HTTPS webhook URL that Saperly POSTs this number's events (inbound SMS/calls, status) to. Approval by default
  • WriteTransfer CallPAID / METERED — BLIND-transfers a LIVE, in-progress voice call to another destination `to` (an E.164 number like +15551230000, or a `sip:` URI). Approval by default
  • WriteUpdate ConnectionPartially update a connection (the AI answering brain bound to a number). Approval by default

One prompt, start to finish

What a governed Saperly run looks like inside Luumen.

Questions

How does LuumenAI connect to Saperly?

Authorize once with API token. Luumen lists the scopes each action needs before you approve the connection, and credentials never appear in the chat.

Can LuumenAI change things in Saperly on its own?

Read actions answer immediately. Anything that writes — bind connection to number, create connection, delete connection, end call, and more — is shown as a plan and requires approval by default, including the 4 actions classified as destructive. Administrators configure that per tool, so you decide exactly which actions can ever run unattended.

Who gets access to the integration?

You decide. Actions are granted per agent, skill, and team, and per environment — production is not staging. Read access can be broad while writes stay narrow.

Is there an audit trail?

Every call to Saperly — read or write, approved or declined — is recorded with the actor, the input, and the result, and can be linked to the ticket or change record.

Put Saperly to work with Luumen

Connect in minutes. Every action scoped, approved, and audited from day one.