BotPhone Docs

BotPhone MCP

A phone line for your AI agent. BotPhone's receptionist answers your business phone, places calls you ask for, takes messages, and reports back to the assistant you connect: Muse, Grok Bot, ChatGPT, Claude, OpenClaw, Hermes, or any MCP client. Ask your assistant who called, and tell it what your callers should hear.

How it works

  1. You get a phone number. Pick an area code and BotPhone sets up a US number for your receptionist.
  2. You tell it about your business. Name, hours, services, common questions, and what counts as urgent.
  3. Callers reach the AI. It says it's an AI assistant, answers from what you told it, and takes a message with the caller's name, number, and reason.
  4. You hear about it. A summary is emailed to you, and you can ask your connected assistant about any call.

The receptionist only states facts you gave it. If it doesn't know something, it says so and offers to take a message.

Get started

  1. Open the sign-in page and continue with Google, or create an account with email and password.
  2. Tell us your business name, your website if you have one, and anything callers should know. We read your website so your receptionist knows your services, prices, and hours.
  3. Choose an area code and pick your number.
  4. Choose how to pay: the monthly plan, or pay as you go (setup costs $4, see pricing). Eligible launch-offer accounts have the setup fee and first month waived.
  5. Call your new number to hear your receptionist. Call summaries go to the email you signed up with; change that under Call summaries on the dashboard.

Everything else lives on the dashboard: tap Business details to change what your receptionist knows. Answer a few questions, or choose Write it myself to write its instructions in your own words. Every change is kept under Past versions.

Forward your business calls

Most owners keep their current business number and forward it to the BotPhone number when they can't answer. On the dashboard, tap Your business number and pick your phone company. It shows the one code to dial, filled in with your number, plus steps for other carriers and office phone systems.

Forwarding is set up with your own phone carrier, and any carrier charges are yours. After setting it up, call your business number from another phone and let it ring to test it.

Book meetings with Calendly

Your receptionist can put callers straight onto your Calendly during the call. It asks a question or two to pick the right meeting type, offers two or three open times, confirms the caller's name and email, and books it. Calendly sends the caller its usual confirmation and calendar invite.

  1. On the dashboard, tap Booking, then Connect Calendly.
  2. Sign in to Calendly if asked, and tap Allow. You come straight back to your dashboard, connected.
  3. Turn on the meeting types your receptionist may book. For each one, write who it's for, like "qualified leads ready to talk pricing" or "anyone curious, group intro session". The receptionist uses these lines to choose.
  4. Tap Check my next open times to confirm it can see your calendar, then call your number to try it.

Booking by API needs a paid Calendly plan. On Calendly's free plan, the receptionist offers to email callers your booking link instead. If the connection stops working, we email you and the receptionist falls back to the booking link until you tap Reconnect Calendly.

Connect your assistant

BotPhone is a remote MCP server. Any assistant that can add a remote MCP server with OAuth can connect, and you can connect more than one to the same line. They all use the same server URL. Most sign in with OAuth; Muse uses an API key instead (see Muse).

https://auth.botphone.tel/mcp

After you add it, a BotPhone sign-in opens. Sign in (or create your account), review what the assistant can do, and tap Allow. If your line isn't set up yet, you can set it up then or later.

Grok Bot

  1. Ask Grok Bot in a chat: "Add a custom server as an MCP connector called BotPhone with the server URL https://auth.botphone.tel/mcp". Saying "custom server" keeps it from installing a catalog plugin instead. It shows the name and URL; check them and tap Add. Or add it yourself in the Grok Bot app under Settings, Connectors, Add custom connector.
  2. Sign in to BotPhone and tap Allow.

ChatGPT and Dots

  1. In ChatGPT, open Settings, Apps & Connectors, Advanced, and turn on Developer mode. Workspace admins may need to allow it.
  2. Choose Create, name it BotPhone, paste the server URL, and pick OAuth.
  3. Sign in to BotPhone and tap Allow. Dots reach apps through the same ChatGPT connectors, so a dot you allow to use BotPhone can check and place calls.

Codex

codex mcp add botphone --url https://auth.botphone.tel/mcp
codex mcp login botphone

Claude and Claude Code

  1. In Claude, open Settings, Connectors, Add custom connector. Name it BotPhone and paste the server URL.
  2. Sign in to BotPhone and tap Allow.

In Claude Code, run this, then run /mcp, choose botphone, and sign in:

claude mcp add --transport http botphone https://auth.botphone.tel/mcp

OpenClaw

Add this under mcp.servers in ~/.openclaw/openclaw.json, then run openclaw mcp login botphone. Open the link it prints, sign in to BotPhone, tap Allow, and return to the terminal:

"botphone": {
  "url": "https://auth.botphone.tel/mcp",
  "transport": "streamable-http",
  "auth": "oauth"
}

Hermes Agent

Add this under mcp_servers in ~/.hermes/config.yaml, then run hermes mcp login botphone in a fresh terminal and start a new session:

mcp_servers:
  botphone:
    url: "https://auth.botphone.tel/mcp"
    auth: oauth

Any other MCP client

Use the server URL above with OAuth 2.0 (authorization code with PKCE, dynamic client registration). Discovery is at https://auth.botphone.tel/.well-known/oauth-protected-resource.

If your client takes an API key instead, create one in the dashboard under Connect your AI assistant and send it as Authorization: Bearer <key> or X-API-Key: <key>.

Muse

Muse connects to BotPhone with an API key. There's no sign-in step, so it works the same in the Muse app on iPhone, Android, and desktop.

  1. Sign in to your BotPhone dashboard (or create a free account) and tap Muse.
  2. Copy the message (below, or from the dashboard) and send it in a chat with Muse. Muse shows a Connect button.
  3. Back in the dashboard, tap Get my Muse key and Copy key. Copy the key last, right before you tap Connect in Muse, so it is what's on your clipboard.
  4. Paste the key in Muse's secure box and tap Add. Never paste the key into the chat itself.
Add BotPhone as a custom connector. Server: https://auth.botphone.tel/mcp. It uses an API key, not sign-in. Open the secure form so I can paste my key.

Your key gives Muse access to your line, including placing calls on your credit. If you ever paste it somewhere it shouldn't be, revoke it in the dashboard and create a new one. Revoking takes effect immediately.

Manual setup

  1. In Muse, ask it to add a custom connector.
  2. Server URL: https://auth.botphone.tel/mcp. Use the full URL, including /mcp.
  3. Authentication: API key, sent as Authorization: Bearer <key>. BotPhone also accepts the key in an X-API-Key header.
  4. Paste your key into Muse's secure credentials form.
Prefer to sign in instead of using a key?

Muse can also connect with BotPhone sign-in. When Muse asks for a Client ID, enter 59ca045f-f57c-4f33-bb63-dbcf97a6a0da, then sign in to BotPhone and tap Allow. On iPhone this needs you signed in to Muse at muse.ai in Safari first, which is why we recommend the API key.

Then try:

Muse asks you to confirm before it changes your agent's instructions or knowledge. Muse can place calls when you ask it to, and placed calls spend your prepaid credit. It can also give you a payment link, and nothing is charged until you pay.

Tool reference

These are the tools a connected assistant can use. Each one acts only on your own line. Nothing takes a line or account ID as input, so one owner can never reach another's data.

list_calls read only

Recent calls the receptionist answered, newest first, with caller, time, summary, reason, urgency, and the message left.

ParameterDescription
sinceOnly calls at or after this time (ISO 8601, for example 2026-09-19T00:00:00Z).
unread_onlyOnly calls you haven't marked read.
urgent_onlyOnly calls flagged high or urgent.
limitHow many to return, 1 to 50 (default 20).
beforePaging cursor. Pass the previous result's next_before.

get_call_details read only

One call in full: summary, the caller's message and callback number, urgency, and the full transcript.

ParameterDescription
call_idThe call's ID from list_calls.

mark_calls_read

Marks calls as read so they stop showing as new. Safe to repeat.

ParameterDescription
call_idsOptional list of call IDs. Leave out to mark every unread call.

get_agent_config read only

Your agent's saved prompt (what it should do), the starting-point presets, its phone line, and how many knowledge sources it has.

update_agent_prompt changes your agent

Replaces the agent's one saved prompt. The same prompt governs inbound and outbound calls and applies from the next call. A changed prompt clears the optional name used in emails; set it again if it still fits. The previous version stays in history. Your assistant summarizes the change and confirms with you first.

ParameterDescription
promptThe complete new prompt, up to 12,000 characters.
change_summaryOptional one-line note shown in the history.

The agent always tells callers it's an AI assistant and follows BotPhone's call, consent and billing rules. The prompt can't change those.

update_agent_name changes email name

Sets the optional name shown in call summary and low-balance emails. It does not change what the agent says on calls. Leave it blank to use “your BotPhone line.” A changed prompt clears the name so an old business name cannot carry over.

ParameterDescription
nameCurrent agent name, up to 80 characters; empty string clears it.

get_prompt_history read only

Recent versions of the saved prompt, newest first, with when each changed, which connected assistant or the web changed it, and why.

ParameterDescription
limitHow many versions to return (default 10).

restore_agent_prompt_revision changes your agent

Makes an earlier prompt version current again. The restore is saved as a new version, so it can be undone too.

ParameterDescription
revision_idA version's ID from get_prompt_history.

list_knowledge_sources read only

The agent's knowledge sources with status (queued, fetching, indexing, ready, or failed), progress, and any error.

add_knowledge_text

Adds written knowledge the agent can look up during calls, such as prices, hours, policies, or FAQs.

ParameterDescription
titleA short name, for example Pricing.
contentThe text, up to 100,000 characters.

add_knowledge_website reads a public website

Adds a public website as knowledge: one page, or a crawl of up to 25 pages of the same site. Only public web addresses are read. Your assistant tells you the domain and whether it is one page or a crawl first.

ParameterDescription
urlThe public web address.
titleOptional name. Defaults to the domain.
crawl_siteTrue to read the whole site (or the section under the address). Default false.
max_pagesPage limit for a crawl, 1 to 25 (default 25).

refresh_knowledge_source

Retries a failed source, or re-reads a website to pick up changes.

ParameterDescription
source_idThe source's ID from list_knowledge_sources.

remove_knowledge_source deletes knowledge

Deletes a knowledge source and everything indexed from it. Your assistant confirms with you first.

ParameterDescription
source_idThe source's ID from list_knowledge_sources.

get_receptionist_profile read only

Deprecated: use get_agent_config. The old structured profile: business name, greeting, hours, services, FAQs, urgent-call rules, languages, extra instructions, and the emails that get call summaries.

update_receptionist_profile changes your receptionist

Deprecated for agent behavior: use update_agent_prompt. The old profile fields no longer control calls or email names. This tool can still edit the summary-email recipient list. Only the fields you pass are changed. Your assistant confirms with you first.

ParameterDescription
business_name, greeting, hours, services, faqs, urgent_rules, languages, extra_instructionsText, up to 4,000 characters each. An empty string clears the field.
notification_emailsUp to 5 addresses for call summaries. An empty list turns summary emails off.

The saved prompt and knowledge sources control the agent's behavior. These old profile fields are kept for historical compatibility.

get_account_status read only

Your phone line and its status, prepaid balance, about how many minutes that covers, launch-offer status, unread calls, and whether setup is finished. If you're signed in but have no line yet, it returns a setup link.

get_top_up_link read only

A secure Stripe payment link to add credit. It only shares a link and charges nothing until you pay.

ParameterDescription
amount_usdCredit pack: 5, 10, 25 (default), or 50.

place_call sensitive write rings a real person

Have the receptionist phone someone on your behalf, using your BotPhone number as the caller ID. Just tell your assistant who to call. The call spends your prepaid credit at the per-minute call rate. Calls go only to US and Canadian numbers, and the caller is told it is an AI assistant. If the person asks not to be called again, that number is blocked. Use list_calls with direction outbound, or get_call_details, to see how it went.

ParameterDescription
phone_numberWho to call, with country code, e.g. +14155551234.
goalThe temporary mission for this one call. It doesn't change your agent's saved prompt.
relationshipWhy this person expects the call, e.g. a customer who booked an appointment.
scriptOptional talking points or wording to follow.

Connecting the MCP endpoint directly

Hosted MCP endpoint (Streamable HTTP):

https://auth.botphone.tel/mcp

Sign-in uses the OAuth 2.0 authorization code flow with PKCE (S256). Discovery metadata is published at /.well-known/oauth-protected-resource. Clients that use API keys send a dashboard key as Authorization: Bearer <key> or X-API-Key: <key>.

Pricing

Two ways to pay, both in minutes: buy minutes as you go, or take the monthly plan. No contract, and you can switch any time.

Limited launch offer: The first 100 qualifying signups get the $2 setup fee waived, their first month of number rental free, and $2 in prepaid account credit (about 10 minutes of inbound calls). One offer per person, tied to your BotPhone account. One spot was claimed before the automated offer launched, so it began with 99 spots remaining.
Pay as you goMonthly plan
PriceNo monthly fee$25 per month
Your phone number$2 per month (10 minutes)Included
Setup (one time)$2Included
Minutes$0.20 per minute, in packs of 25 ($5), 50 ($10), 125 ($25), or 250 ($50) minutes150 a month included (about 15¢ a minute), plus packs whenever you need more
Unused minutesNever expirePlan minutes reset each month; minutes you buy never expire

Calls are billed by the second. Answering a call uses one minute per minute of talk time, so a 30-second call uses half a minute. Calls your agent places use minutes the same way.

Getting started on pay as you go costs $4: the $2 setup fee plus the first month of the number. On the monthly plan, your first $25 covers the number and 150 minutes.

For an eligible launch-offer account, getting started costs $0. After the free first month, the normal $2 monthly number fee comes out of your minutes, or you can move to the monthly plan. Unused promotional credit can be used toward that renewal.

Example months

BusinessCallsTalk timePay as you goMonthly plan
Light20 calls, about 2 minutes each40 min$10$25
Typical60 calls120 min$26$25
Busy150 calls300 min$62$55

Pay-as-you-go estimates include the $2 monthly number fee. The plan pays off once you use about 115 minutes a month. Taxes may apply.

How minutes work

Limits and requirements

Data and privacy

What we store

Where call details are sent

AI disclosure

The receptionist tells every caller at the start of the call that it's an AI assistant.

What a connected assistant can see

When you connect an assistant, it can read your call list, summaries, full transcripts, your receptionist's settings, your line status, and your balance. It can change your receptionist's settings, with your confirmation, and place calls when you ask it to. You can disconnect BotPhone at any time from your assistant's connector settings.

Who processes data

To run the service we use: Twilio (phone numbers and calls), LiveKit (real-time audio and AI inference), Deepgram (speech to text), Fish Audio (text to speech through LiveKit), Gemma (conversation and call summaries through LiveKit), OpenAI (knowledge-base search embeddings), Supabase (database and sign-in), Render (hosting), Stripe (payments), Resend (email), Google (optional sign-in), and, if you connect it, Calendly (booking meetings during calls).

How data is protected

Deleting your data

Text transcripts, summaries, and messages are kept while your BotPhone account is active. To delete your account and data, email info@botphone.tel. Deletion excludes logs, backups, and copies held by subprocessors, which are removed on their own schedules.

Read the full privacy policy and terms.

Sign-in and security

Troubleshooting

Muse says "Something went wrong" when connecting

That happens with the sign-in method, mostly on iPhone. Connect with an API key instead: in the dashboard, open Connect your AI assistant, tap Create API key, and follow the steps under Muse. Your BotPhone account and number are kept, so nothing needs setting up twice.

My assistant says no phone line is set up

Finish setup in the dashboard: describe your business and get your number.

Calls aren't being answered

Check three things: your balance isn't $0, your number is active in the dashboard, and call forwarding on your business line points to your BotPhone number. Then call it from another phone to test.

I'm not getting summary emails

Check the address under Call summaries on the dashboard, and look in your spam folder. Emails come from a botphone.tel address.

The receptionist gave a wrong answer

It only knows what's in your prompt and knowledge. Add or correct the details in the dashboard or through your assistant, and the next call uses them. Read the call's transcript to see exactly what was said.

I want to change or add credit

Tap Add minutes on the dashboard, or ask your assistant for a top-up link.

Support

Email info@botphone.tel. We're a small team and read everything.