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
You get a phone number. Pick an area code and BotPhone sets up a US number for your receptionist.
You tell it about your business. Name, hours, services, common questions, and what counts as urgent.
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.
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
Open the sign-in page and continue with Google, or create an account with email and password.
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.
Choose an area code and pick your number.
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.
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.
On the dashboard, tap Booking, then Connect Calendly.
Sign in to Calendly if asked, and tap Allow. You come straight back to your dashboard, connected.
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.
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
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.
Sign in to BotPhone and tap Allow.
ChatGPT and Dots
In ChatGPT, open Settings, Apps & Connectors, Advanced, and turn on Developer mode. Workspace admins may need to allow it.
Choose Create, name it BotPhone, paste the server URL, and pick OAuth.
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.
In Claude, open Settings, Connectors, Add custom connector. Name it BotPhone and paste the server URL.
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:
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.
Sign in to your BotPhone dashboard (or create a free account) and tap Muse.
Copy the message (below, or from the dashboard) and send it in a chat with Muse. Muse shows a Connect button.
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.
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.
Copied.
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
In Muse, ask it to add a custom connector.
Server URL: https://auth.botphone.tel/mcp. Use the full URL, including /mcp.
Authentication: API key, sent as Authorization: Bearer <key>. BotPhone also accepts the key in an X-API-Key header.
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:
"Who called my business today?"
"Did I get any urgent messages?"
"What did the last caller want? Read me the details."
"Tell callers we're closed on Monday."
"Read this website so my agent can answer questions about it."
"Show me what my agent's instructions used to say."
"How much credit do I have left on my phone line?"
"Send me a link to add more credit."
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_callsread only
Recent calls the receptionist answered, newest first, with caller, time, summary, reason, urgency, and the message left.
Parameter
Description
since
Only calls at or after this time (ISO 8601, for example 2026-09-19T00:00:00Z).
unread_only
Only calls you haven't marked read.
urgent_only
Only calls flagged high or urgent.
limit
How many to return, 1 to 50 (default 20).
before
Paging cursor. Pass the previous result's next_before.
get_call_detailsread only
One call in full: summary, the caller's message and callback number, urgency, and the full transcript.
Parameter
Description
call_id
The call's ID from list_calls.
mark_calls_read
Marks calls as read so they stop showing as new. Safe to repeat.
Parameter
Description
call_ids
Optional list of call IDs. Leave out to mark every unread call.
get_agent_configread 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_promptchanges 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.
Parameter
Description
prompt
The complete new prompt, up to 12,000 characters.
change_summary
Optional 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_namechanges 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.
Parameter
Description
name
Current agent name, up to 80 characters; empty string clears it.
get_prompt_historyread only
Recent versions of the saved prompt, newest first, with when each changed, which connected assistant or the web changed it, and why.
Parameter
Description
limit
How many versions to return (default 10).
restore_agent_prompt_revisionchanges your agent
Makes an earlier prompt version current again. The restore is saved as a new version, so it can be undone too.
Parameter
Description
revision_id
A version's ID from get_prompt_history.
list_knowledge_sourcesread 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.
Parameter
Description
title
A short name, for example Pricing.
content
The text, up to 100,000 characters.
add_knowledge_websitereads 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.
Parameter
Description
url
The public web address.
title
Optional name. Defaults to the domain.
crawl_site
True to read the whole site (or the section under the address). Default false.
max_pages
Page 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.
Parameter
Description
source_id
The source's ID from list_knowledge_sources.
remove_knowledge_sourcedeletes knowledge
Deletes a knowledge source and everything indexed from it. Your assistant confirms with you first.
Parameter
Description
source_id
The source's ID from list_knowledge_sources.
get_receptionist_profileread 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_profilechanges 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.
Text, up to 4,000 characters each. An empty string clears the field.
notification_emails
Up 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_statusread 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_linkread only
A secure Stripe payment link to add credit. It only shares a link and charges nothing until you pay.
Parameter
Description
amount_usd
Credit pack: 5, 10, 25 (default), or 50.
place_callsensitive writerings 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.
Parameter
Description
phone_number
Who to call, with country code, e.g. +14155551234.
goal
The temporary mission for this one call. It doesn't change your agent's saved prompt.
relationship
Why this person expects the call, e.g. a customer who booked an appointment.
script
Optional 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 go
Monthly plan
Price
No monthly fee
$25 per month
Your phone number
$2 per month (10 minutes)
Included
Setup (one time)
$2
Included
Minutes
$0.20 per minute, in packs of 25 ($5), 50 ($10), 125 ($25), or 250 ($50) minutes
150 a month included (about 15¢ a minute), plus packs whenever you need more
Unused minutes
Never expire
Plan 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
Business
Calls
Talk time
Pay as you go
Monthly plan
Light
20 calls, about 2 minutes each
40 min
$10
$25
Typical
60 calls
120 min
$26
$25
Busy
150 calls
300 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
Your dashboard shows the minutes you have left. Buy minute packs by card or Link through Stripe. Your setup fee, the monthly number fee on pay as you go, and calls all come out of the same minutes.
On the monthly plan, you get 150 plan minutes each month. Calls use plan minutes first. Plan minutes reset when the plan renews, and end with the plan if you cancel. Minutes you buy as packs never expire.
Auto top-up is optional: pick a threshold (10, 25, or 50 minutes) and a pack, and we charge your saved card when you drop below it. If a charge fails, auto top-up turns off and we email you.
We email you once when you drop below 15 minutes.
If you run out of minutes, the receptionist stops answering calls until you add more. Your number stays yours.
On pay as you go, if the $2 number fee can't be paid, you have 7 days to add minutes, with email reminders before the deadline. After that the number is released and can't be recovered.
On the monthly plan, the plan pays for your number. If a plan payment fails, Stripe retries the card, and if the plan ends we hold your number for 30 days before releasing it.
Cancel the plan any time from Manage billing in the dashboard. It stays active until the end of the month you paid for.
Limits and requirements
US phone numbers, for US small businesses. The receptionist answers inbound calls, and places outbound calls only when you ask, to US and Canadian numbers of people who expect them.
Phone calls today. WhatsApp calling isn't available yet.
One phone line per account.
A single call is capped at 10 minutes.
Up to 5 email addresses for call summaries. Profile text fields hold up to 4,000 characters each.
Not for emergencies. The receptionist can't reach 911 or emergency services, so keep another way to reach them.
You need a BotPhone account (Google or email sign-in) and prepaid credit.
Data and privacy
What we store
Your account and business details, and your receptionist's settings.
For each call: the caller's number, the transcript, a summary, the reason for the call, urgency, and any message left.
We don't record call audio. Only transcripts and summaries are kept.
Card payments are handled by Stripe. We never see or store card numbers.
Where call details are sent
Call summary emails go to the addresses you set and include the summary, the caller's message, call details, and the full transcript.
If you place calls through the BotPhone API with a webhook and ask for transcripts, the transcript is also sent to the webhook URL you choose.
If you connect Calendly, callers who book give their name and email, which go to your Calendly account, and callers who ask for your booking link get one email with it. Meetings booked during a call show in the call summary.
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
Your data is encrypted at rest in our database. The access Calendly grants BotPhone is also encrypted before it's stored. Disconnecting revokes it.
Staff access to account data is limited, and admin actions and transcript views are logged.
Call audio is never recorded.
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.
Most assistants connect with the OAuth 2.0 authorization code flow and PKCE (S256). You approve access on a BotPhone page, and you can revoke it any time.
Muse and other API-key clients use a key you create in the dashboard. Only a hash of each key is stored, it is shown once, and you can see when it was last used and revoke it any time.
Every request is verified and limited to your own line.
The receptionist tells every caller it's an AI, and it only states facts from your saved prompt and knowledge.
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.