How to connect Saperly MCP with ChatGPT Work

Connect ChatGPT Work to Saperly MCP. Send appointment reminder by sms, provision a new support phone number, and more using natural language, with authentication handled for you.

Saperly logoSaperly
Api Key

Saperly is a phone carrier API for AI agents, offering phone numbers, voice, SMS, and compliance tools. It gives agents reliable telecom infrastructure without stitching together carrier, messaging, and compliance systems yourself.

30 Tools

How to connect Saperly MCP with ChatGPT Work

ChatGPT Work is an agent inside ChatGPT built for your most ambitious work. It takes action across your apps and files, stays with a project for hours, and turns a goal into finished materials like sheets, slides, and docs - not just answers.

In this guide, I will explain the easiest and most secure way to connect your Saperly account to ChatGPT Work via Composio Connect, so it can send appointment reminder by sms, provision a new support phone number, check compliance status for messaging campaign through natural language commands without ever putting your account credentials at risk.

Also integrate Saperly with

Why use Composio over default connectors?

  • Apps with read and write access. Default connectors mostly can read your data. Composio's Saperly integration lets ChatGPT Work take actions like creating drafts, sending updates, labeling records, and more.
  • 1,000+ SaaS toolkits out of the box. Composio gives you instant access to a vast catalog of pre-built connectors, from Gmail and Slack to Notion, Linear, and Salesforce.
  • One MCP server for every app. Connect any of your applications on demand through a single endpoint, rather than juggling a separate server for each app.
  • Smart, context-aware tool loading. Unlike traditional MCP servers that dump every available tool into the LLM context window, Composio searches for and loads only the tools relevant to the task at hand.
  • Cross-app automation. Chain actions across multiple apps in a single run - fetch a thread, summarize it in Notion, and post highlights to Slack without leaving the conversation.

Prerequisites

  • A ChatGPT account with access to ChatGPT Work (rolling out across Pro, Enterprise, Edu, Plus, and Business plans). We will use the ChatGPT desktop app, which is available on every plan.
  • Access to the Saperly workspace you want to connect.
  • Composio MCP.

Note: Composio connects through OAuth. You will be asked to sign in and approve specific permissions. Review the permission screen carefully if you are using a work account.

Step-by-step: Connect Saperly to ChatGPT Work

1. Open the MCP settings

In ChatGPT Work, go to Settings and open the Plugins section. Inside the Plugins page, click the MCP tab.

ChatGPT Work settings showing the Plugins page with the MCP tab selected

2. Add the server

Click Add server. In the Name field enter Composio, for Type select Streamable HTTP, and in the URL field paste the Composio MCP server URL:

bash
https://connect.composio.dev/mcp
ChatGPT Work Add server dialog with the name Composio, type Streamable HTTP, and the Composio MCP URL

Then click Save. The Composio server now appears in your MCP plugins list.

ChatGPT Work Plugins page showing the Composio MCP server added to the list

3. Authenticate

Click Authenticate, log in via Composio, and click Allow access to authorize ChatGPT Work to use your Composio account.

Composio login and Allow access screen for ChatGPT Work MCP setup

4. Start using Composio

That is it - Composio tools are now available in ChatGPT Work. Ask it to work with your Saperly account and it will run the actions you authorize.

What you can do after connecting Saperly

  • Send appointment reminder by SMS
  • Provision a new support phone number
  • Check compliance status for messaging campaign

Security + privacy notes (important)

  • Use least-privilege access: Only grant permissions you actually need.
  • Review OAuth permissions before approving: Make sure requested scopes match what you expect Composio and ChatGPT Work to do.
  • Keep write actions human-reviewed: For actions like sending messages, creating labels, or editing drafts, keep manual confirmation enabled.
  • Be careful with sensitive data: Avoid using this setup with highly sensitive information unless allowed by your personal, company, or client policies.
TOOLS

Supported Tools

Every Saperly action and event your agent gets out of the box.

Bind Connection to Number

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 that connection.

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.

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.

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, compliance/disclosure settings, recordingEnabled, and manual webhook URL.

Get Phone Number

Fetch a single phone number by its id, returning its E.

Get Usage & Balance

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 Records

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.

List Languages

Return the spoken languages Saperly supports for voice connections, each as a {code, name} pair (about 42 entries, e.

List Messages

Return SMS messages in the connected Saperly workspace (both inbound and outbound).

List Phone Numbers

Return every phone number provisioned in the connected Saperly workspace, with each number's id, phoneNumber (E.

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 Phone 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 Phone 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.

Set Number Caller ID Name

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 ID

Set the alphanumeric SMS sender id (1-11 alphanumeric chars, e.

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.

Update Connection

Partially update a connection (the AI answering brain bound to a number).

FRAMEWORKS

How to build Saperly MCP Agent with another framework

FAQ

Frequently asked questions

With a standalone Saperly MCP server, the agents and LLMs can only access a fixed set of Saperly tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Saperly and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. ChatGPT Work fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Saperly tools.

Yes, absolutely. You can configure which Saperly scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Saperly data and credentials are handled as safely as possible.

Start with Saperly.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Saperly tool your agent needs.Free to start.

Start building