- Brand
- Unknown
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
Openline is a communication plugin. A signed-in chat sends and reads email, places and reviews phone calls, and sends and reads SMS from an inbox and a US phone number that Openline provides. It uses only the inbox and number on the account you connect. It does not read another person's inbox, send bulk unsolicited messages, or take a sign-in code in chat. Sign-in happens on Openline's page.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- Unknown
- Access
- Account required
- First tracked
- 2026-10-22
- Tool count
- 58
- Geography
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Openline
Get updates when Openline’s Discoverability Score or category rank changes.
Competitive lineup
58 tools agents can invoke
Save the human's own mobile number or email so texts or emails from that address to their Openline number are owner instructions. Phone: add_my_channel(kind='phone', address='+1...') or address as a list. Email: the sign-in email is already saved. add_my_channel(kind='email', address='[email protected]') or address as a list adds other addresses. Each address is saved immediately. There is no confirmation code. Do not pass a token.
Execute the drafted actions of a dry-run agent run (sends, callbacks) exactly as drafted. Do not pass a token.
Check whether this MCP client is signed in to Openline. Do not pass a token or OTP. If not signed in, Openline returns HTTP 401 so the host starts OAuth. Do not ask for a code in chat.
Place an outbound call from the user's Openline number; a voice agent speaks on the call. The other person just answers — they do not verify anything. Required: to (E.164 number or a saved contact name), goal (what to accomplish). voice is optional (quartz, ripple, vesper, willow, stone, gleam, meridian, bossa, tempo, beacon, delta, cinder, marin, cedar); omit it and the standard voice is used. background_noise is optional (off, office, cafe, street): a quiet bed under the agent. Omit it and the call stays quiet. When persona is omitted, the call uses the person who matches that voice. Pass everything the user told you about the call so the prompt is complete: persona (object: name, company, role, personality), context (facts, offers, or background the agent may use), style (tone, pacing, persistence, e.g. 'friendly, push hard, do not give up'), constraints (things never to say or do), next_step (what to steer toward, e.g. book a test drive), language (if not English). outcome_schema: what structured data you need back, either a preset name (default, booking, lead_qualification, message_taken, reminder, support_case, quote, survey, screening) or an object of field -> description; the agent collects these and get_call returns them under 'outcome'. target_person (who to ask for if someone else answers), privacy (what never to disclose to third parties), disclose_ai (if_asked | always | never_volunteer), on_drop (redial_once | followup | none), on_complete (list: email_summary_to_user, sms_recap_to_peer, notify_user, agent_followup - the reply agent sends the agreed recap/next step by text or email after a real conversation), on_no_answer (list: sms - text them once a day from the dialling number when the call is not answered/busy/voicemail/failed; no_answer_text overrides the default wording), available_slots (user's free times), callee_timezone (IANA), reference_call_id + include_transcript (memory | excerpt | full) to continue an earlier call. Omitting reference_call_id starts a new call: the agent still knows earlier calls with this number and does not open as a follow-up. Optional: polish (true = an LLM tightens the generated prompt, adds ~2 s), wait (true = block until the call ends). Do not pass a token.
Cancel a recurring outreach chain. It will not contact the person again. Do not pass a token.
Cancel a pending scheduled call by scheduled_call_id. Do not pass a token.
Cancel a scheduled SMS or email that has not run. schedule_id is the id returned when it was booked. Do not pass a token.
Start or confirm Openline sign-in. Do not pass email, OTP, or token. If not signed in, Openline returns HTTP 401 so the MCP host opens the OAuth redirect. The human signs in on Openline's page. If already signed in, returns the session email.
Disconnect and disable a provisioned inbox. Argument: account_id from list_email_accounts. Do not pass a token.
Release the user's Openline phone number. Call history is kept. Optional: account_id from get_phone_number. Do not pass a token.
One agent run with its full step trace (model turns, tool calls and results, drafts). Do not pass a token.
Read one call: status, voicemail text, contact snapshot, and full transcript. While status is queued, ringing, or in_progress, turns is empty and note says the transcript will be available after the call ends. Argument: call_id from list_calls. Do not pass a token.
Look up a customer by contact_id, phone_number, email, or name. Returns identities (all phones/emails), tags, consent flags (do_not_call/do_not_text/do_not_email), details, and a memory summary. Do not pass a token.
Credit balance for this billing cycle (calendar month, UTC): allowance, top-ups, spent, balance, resets_at, and spend by kind (call minutes, GPT-Live minutes, SMS segments, emails, LLM tokens, rentals) with cost and credits. 1 credit = 1 US cent. When a tool returns insufficient_credits, tell the human the balance and reset date; do not retry. Optional cycle 'YYYY-MM'. Do not pass a token.
Everything Openline knows about one customer, token-budgeted, for personalising outreach: rolling memory (summary, facts, promises, open items, sentiment trend), a timeline of recent calls/texts/emails with summaries and outcomes, consent flags, and last_contacted_at. Identify by contact_id, email, or phone. budget_tokens (default 1500) trims oldest history first; include limits sections (memory, calls, texts, emails, consent). Do not pass a token.
Read the full body of one email plus thread_summary (how many earlier messages with this person, when) and a reply hint (account_id, reply_to_message_id, to, subject). Before replying, call get_email_thread so you have the whole exchange, then send_email with the reply hint. Argument: message_id from list_emails. Do not pass a token.
The whole conversation with one customer before you reply: every email (bodies with quoted history stripped), text, call summary, and agent reply, oldest first. Target by message_id (from list_emails/get_email), thread_id, contact_id, or contact_email. Returns items (structured, with UTC timestamps), turns (role user = the customer, each starting with <timestamp>...</timestamp>; role assistant = what was sent on the user's behalf) ready to drop into your context, now (current UTC time), and reply (account_id, reply_to_message_id, to, subject) to pass to send_email so the answer leaves from the inbox that received it and threads correctly. Do not pass a token.
Effective inbound policy for one endpoint (account_id) or for every endpoint when omitted, plus the defaults. Do not pass a token.
Read one SMS: body, status, and peer number. Argument: message_id from list_messages. Do not pass a token.
Return the signed-in user's Openline phone number. If none exists yet, one is created automatically (US local DID). Anyone can call this number; the agent answers. Do not pass a token.
One outreach chain: its wake-ups, the agent runs they started, and the calls tied to it. Do not pass a token.
Bulk-import customers. rows: list of objects with any of name, phone, email, tags (list or comma string), notes, plus free-form fields (company, role, ...). Rows are merged into existing contacts by phone or email identity; a person known by both becomes one contact. Max 2000 rows per call. Returns imported/merged/skipped counts and tag totals. Do not pass a token.
What the reply agent did on the user's behalf: runs with trigger, status (queued|running|done|escalated|failed|dry_run), and summary. Filter by contact_id, thread_id, status. Do not pass a token.
List recent calls for the signed-in user (inbound and outbound). Optional: limit (max 25), direction (inbound|outbound), status. Do not pass a token.
List the user's customers/contacts, newest activity first, with keyset pagination. Filters: tags (list or comma string; all must match), has_email, has_phone, updated_since (ISO). include_memory=true adds a one-line memory summary and last_contacted_at per contact. Pass the returned next_cursor to get the next page. limit up to 200. Do not pass a token.
Itemised credit charges for a cycle, newest first (kind, reference, units, cost, credits). Optional cycle, kind, limit. Do not pass a token.
List Openline inboxes for the signed-in user. Returns account_id, email address, provider ('openline'), and status. An inbox is created automatically on first send_email or list_emails. Do not pass a token.
Read recent messages from the user's Openline inbox. If none exists yet, one is created automatically. Optional: account_id, limit (max 25), unread_only, query (email address or free text). Pass contact_id (or contact_email) to get the cached conversation with one customer instead, both directions, newest first; optional since (ISO). Do not pass a token.
Things the voice agent promised, was asked for, or wants the user to know: callbacks, info to send, status checks, reminders. Optional: status (pending|done|scheduled|failed|cancelled), call_id, limit. Do not pass a token.
List recent SMS messages for the signed-in user (inbound and outbound). Optional: limit (max 25), direction (inbound|outbound), peer (E.164). Do not pass a token.
Show the Openline numbers/addresses assigned to the user and their verified personal channels. Do not pass a token.
List recurring outreach chains for this account. Optional status: active, paused, completed, abandoned, expired, cancelled. Do not pass a token.
List upcoming (pending) scheduled calls, or pass status=done|cancelled|missed|failed for history. Do not pass a token.
List this user's scheduled SMS and email. Optional kind: sms or email. Do not pass a token.
Sign this MCP client out of Openline. Uses the host Bearer token. Do not pass a token. The human must call connect again (OAuth) to sign back in.
Record that a customer asked not to be contacted again. Identify by contact_id, phone, or email; channels is a subset of calls, texts, emails (default all); quote their words. Future sends on those channels are refused. Do not pass a token.
Pause a recurring outreach chain. Nothing is sent until it is resumed. Do not pass a token.
The user takes over a customer conversation: no agent replies or automatic texts for this contact until `until` ('in 2 days', 'tomorrow 9am', ISO; default 7 days). Inbound messages still notify the user. Do not pass a token.
Delete one saved customer. Pass contact_id, phone_number (E.164), and/or email; every identifier you pass must belong to the same contact. Their calls, texts, emails, scheduled calls, and follow-ups stay, but are no longer linked to a contact. Do not pass a token.
Remove a verified personal phone or email so texts or mail from it are no longer owner commands. One address: kind plus address. Several of the same kind: address as a list. All phones or all emails: kind and all=true. Every personal channel: all=true. Does not disconnect an Openline number or inbox. Do not pass a token.
Resume a paused outreach chain and schedule the next wake-up. Do not pass a token.
Hand a paused customer conversation back to the endpoint policy. Do not pass a token.
Have Openline's reply agent act on one customer conversation under your instruction, e.g. 'answer their question about delivery and offer Thursday', using the same history, persona, consent, and tools it uses for automatic replies. Target by contact_id or thread_id. allowed_actions narrows what it may do (reply_same_channel, schedule_callback, mark_do_not_contact, notify_user, search, call_phone, email_new_address, send_sms_other_number, save_contact, remove_contact, schedule_message); default is the endpoint policy. dry_run=true drafts sends without executing; approve_agent_run executes them. Returns the run with its trace. Do not pass a token.
Save or update a customer. Pass phone_number (E.164) and/or email; optional name, tags, and details (JSON object: company, role, relationship, language, timezone, notes). Merges into an existing contact that shares the phone or email. Do not pass a token.
Schedule an outbound call for later, e.g. 'call them back next month about the EQ pricing'. Arguments: to, run_at (ISO-8601 with offset, or 'in 2 hours', 'tomorrow 3pm', 'next month'), goal, plus any call_phone brief fields (persona, voice, context, style, outcome_schema, ...). voice is optional (quartz, ripple, vesper, willow, stone, gleam, meridian, bossa, tempo, beacon, delta, cinder, marin, cedar); omit it and the standard voice is used. background_noise is optional (off, office, cafe, street): a quiet bed under the agent. Omit it and the call stays quiet. When persona is omitted, the booked call uses the person who matches that voice. reference_call_id makes this a follow-up to that earlier call (summary, promises, key quotes); omit it to start a new call that still knows earlier calls with this number and does not open as a follow-up. include_transcript memory|excerpt|full controls how much of the referenced call is included. callee_timezone (IANA) keeps the call inside the callee's 8am-9pm window. max_attempts > 1 retries on no answer. Do not pass a token.
Schedule one email for later. Arguments: to, subject, body, run_at (ISO-8601 with offset, or 'in 2 hours', 'tomorrow 3pm'). Optional: contact_id, account_id, callee_timezone (IANA). Books a one-shot workflow schedule; the email is sent at that time. Do not pass a token.
Schedule one SMS for later. Arguments: to (E.164 or a saved contact name), body, run_at (ISO-8601 with offset, or 'in 2 hours', 'tomorrow 3pm', 'next month'). Optional: contact_id, from_account_id, callee_timezone (IANA). Books a one-shot workflow schedule; the text is sent at that time. A time inside quiet hours moves to when they end. Do not pass a token.
Full-text search across past call transcripts, call summaries, SMS, and emails. Arguments: query; optional contact (E.164 or saved name) to scope to one person, since (ISO date), channel (call_turn|call_summary|sms|email), limit. Returns matching lines with surrounding context. Do not pass a token.
Send an email from the user's Openline inbox. If none exists yet, one is created automatically. Arguments: to, subject, body (to may be empty when contact_id is given). Optional: account_id (if multiple inboxes), reply_to_message_id, contact_id (links the message to that customer's history and drives consent), idempotency_key (repeat sends with the same key return the first message instead of sending again; use e.g. '<campaign>:<contact_id>' when looping over customers), unsubscribe (default true: adds an unsubscribe footer + List-Unsubscribe header; set false for one-off transactional replies). The first successful send may include tell_the_user: explain that to the user (verified personal emails, what they are, and that they can name one or more addresses to verify with no code). Errors: do_not_email (customer opted out), email_invalid (bounced), rate_limited with retry_after_sec. Do not pass a token.
Send several emails in one call; each item is {to?, contact_id?, subject, body, idempotency_key?, unsubscribe?}. Same consent, caps, and idempotency rules as send_email, applied per item; returns per-item results in order (ok or error with retry_after_sec). Stops early when rate_limited and reports the remaining items as skipped so you can retry them. No composition happens here; write each message yourself. Max 100 items. The first successful batch may include tell_the_user once on the result: explain that to the user. Do not pass a token.
Openline ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Openline's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.