Back to Blog
EngineeringMay 14, 20268 min read

How to Give Your AI Agent a Phone Number That Remembers Every Call [2026]

Most AI phone agents forget every call the moment you hang up. This walks through how to give an agent like Hermes a real phone number, load today's context onto every inbound call, and feed the transcript back into the agent so tomorrow's brief references yesterday's conversation. With concrete use cases for solo founders and small teams.

Most AI phone agents are amnesiac. You call, you talk, they answer with whatever was in their static system prompt, you hang up, and the conversation vanishes. Call back tomorrow and the agent has no idea you talked yesterday. AgentCall closes that loop. Your AI agent gets a real US or Canadian phone number, the call is answered with today's context loaded (latest brief, current priorities, recent emails), and the full transcript flows back into your agent platform when you hang up. Tomorrow's brief can reference yesterday's call. The result is an AI assistant that behaves like a physical one, not a scripted IVR.

What Was Missing Before

Traditional voice AI products either give you a phone number with a static prompt (the call sounds smart but forgets everything the moment it ends), or they expect you to build the whole loop yourself: hosting the inbound webhook, parsing the transcript, deciding what to do with it. Solo founders and small teams don't want to be on the hook for that plumbing. They want to plug in their existing agent (Hermes, a custom Python script, an n8n flow, anything) and have the agent answer the phone with memory.

The two missing pieces are direction-of-flow problems:

  • Before the call: the agent has fresh context (today's email summary, calendar, recent decisions) but no way to push it to the phone agent at call time.
  • After the call: the agent never finds out what was said. The transcript dies in a dashboard nobody reads.

AgentCall ships both directions as part of every inbound AI number. Customers wire them up once and the loop runs forever.

The Loop That Makes Agents Remember

Here is the end-to-end shape, in plain English:

  1. Your agent generates today's brief on its own schedule (every morning, every hour, on demand). It POSTs the brief to a small always-on bridge sitting on your domain.
  2. Someone calls your AgentCall number. AgentCall pings the bridge for the latest brief, merges it onto the AI's system prompt, and answers the call with that context loaded. The caller hears an agent who already knows what's going on this week.
  3. The call ends. AgentCall transcribes the whole conversation, has a fast LLM extract a structured summary (intent, urgency, callback time, caller name), and POSTs the full package to a webhook URL you control. Signed with HMAC, retried on failure.
  4. Your agent ingests the transcript into memory. Tomorrow's brief now references yesterday's call. The decisions you made on the phone show up in the next morning's summary, the action items get acted on, the conversation isn't lost.

The architecture has two short docs pages: the pre-call context webhook covers step 2, and the post-call transcript webhook covers steps 3 and 4. Both are reference implementations you can clone and deploy in an afternoon.

Worked Example: David and Laura

David is a CEO. Laura is his AI strategist, running on Hermes (a self-hosted agent platform) inside a Docker container on his VPS. Laura reads David's inbox overnight via IMAP, builds a morning brief, and chats with him on Telegram. Tonight we added one more capability: David can call Laura on a phone number and have a real conversation.

Here is a normal Tuesday for David and Laura once the integration is wired up:

7:00 AM. Laura reads David's overnight inbox. She drafts a brief: Sarah at Acme replied about the enterprise deal and wants a 30-minute call this week, his cofounder confirmed the Tuesday strategy session, and an investor needs the Q3 update by Friday. Laura emails David the brief, and her cron job also POSTs the same content to the AgentCall bridge. AgentCall now has the brief stored, ready for any inbound call.

8:15 AM. David reads the brief in Gmail on his phone. He wants to talk through Sarah.

8:30 AM. David is driving. He calls his AgentCall number on Bluetooth. Laura answers in a natural voice:

Laura: Hey David, what do you want to dig into?

David: Walk me through what's on the table this morning.

Laura: Three updates from your inbox. Sarah at Acme is asking for a 30-minute slot this week, sounds positive on the enterprise deal. Your cofounder confirmed Tuesday. Bridgewater needs Q3 by Friday. What do you want to tackle first?

David: Sarah. Set up Wednesday 2 PM CT with her. Outline three talking points I should hit. And tell my cofounder I'm in for Tuesday.

Laura: Got it. I'll handle those when we hang up.

8:38 AM. Call ends. AgentCall sends the full transcript and a one-line summary to Laura's endpoint. Laura extracts three action items: schedule Wednesday 2 PM CT with Sarah, confirm Tuesday with the cofounder, prep talking points. She drafts and sends the emails, creates the calendar invite, and saves the talking points so they're loaded for the Wednesday call.

8:40 AM. David gets a Telegram ping from Laura: “Sent Sarah a calendar invite for Wed 2 PM CT and proposed three talking points. Confirmed Tuesday with your cofounder. Bridgewater email drafted for tomorrow. Anything else?”

The key bit is what happens the next morning. When Laura builds Wednesday's brief, she references Tuesday's call: “You agreed yesterday to walk Sarah through the three talking points; here's a draft.” She didn't lose the context. That's the difference between a phone agent and a real one.

Use Cases for Solo Founders

If you're running a one-person company, the loop above replaces a chief of staff. Some real patterns we've seen:

  • Drive-time strategy calls. You think better out loud. Call your agent during a commute, talk through priorities for 15 minutes, hang up, and the agent has the action items in writing by the time you get to the office.
  • Decision logging. Most founders make 20+ small decisions a week and forget half of them. Call the agent, say what you decided, hang up. The agent stores the decision, surfaces it later when relevant, and can reference it in next week's customer email.
  • Catch-up replays. After a customer call, give your agent a 60-second summary on the phone. The agent files it, drafts the follow-up email in your voice, and pre-fills your CRM.
  • Founder-voice receptionist. Give your agent a dedicated number for inbound leads. The agent answers in a polished voice with today's context (current pricing, ongoing campaigns), captures intent, and emails you a structured summary. You stop missing calls and you stop being a 24/7 hotline.
  • Idea capture without losing flow. Voice memos are okay. A voice memo that gets transcribed, summarized, filed, and referenced in your next brief is better. Same gesture, much more downstream value.

Use Cases for Small Businesses

For teams under fifty people, the same primitive replaces an entire category of front-office labor:

  • After-hours receptionist with memory. Your number rings 24/7. The agent answers with today's context (this week's promotions, current inventory if you feed it in, ongoing service outages), captures the caller's reason, and emails the on-call owner a clean summary by the time the call ends. Tomorrow morning's brief lists every after-hours caller and their intent.
  • Sales qualification line. Inbound demo requests hit a dedicated AgentCall number. The agent answers with the current sales playbook in context (top objections to handle, this quarter's offers, the competitor we're differentiating against this week). Hot leads get tagged urgent and pushed to the AE; cold ones get nurture sequences. Every call gets logged.
  • Customer service deflection. Give the agent your FAQ as the system prompt and the current week's known issues as the live context. Callers get accurate answers about shipping delays, billing questions, or feature requests. Anything the agent can't handle gets escalated with full context attached, so the human doesn't start from zero.
  • Appointment-only intake. The agent captures name, preferred slot, and reason. It doesn't actually book the calendar (you control that backend); it just promises a confirmation email. The transcript flows to your CRM, your scheduler picks it up, confirms the slot, and the cycle closes.
  • Multi-line teams sharing one agent platform. One Hermes instance can answer the phone on multiple numbers, each with a different persona (receptionist on one, screener on another, sales agent on a third). Same brain, different phone identities, all transcripts flow back into the same memory. Per-number system prompts let you A/B different voices, scripts, or escalation policies without provisioning separate brains.

How to Wire It Up

If you already have an agent platform you trust (Hermes, n8n, a custom Python service, anything that can push and pull JSON on a cron), the integration is two steps:

Step 1, brief in. On your agent's daily brief job, add a POST to the bridge:

curl -X POST https://hermes.your-domain.com/hermes/push \
  -H "X-Hermes-Push-Key: $HERMES_PUSH_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contextBlock":"Today: Sarah at Acme wants 30 min this week. Tuesday strategy session confirmed. Bridgewater Q3 update due Friday."}'

AgentCall fetches that brief on every inbound call and merges it onto the AI's system prompt. The exact deploy steps for the bridge (it's a small Cloudflare Worker, free tier) are at /docs/hermes.

Step 2, transcript out. Subscribe a webhook for call.transcript events:

curl -X POST https://api.agentcall.co/v1/webhooks \
  -H "Authorization: Bearer ac_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://hermes.your-domain.com/agentcall/transcript","events":["call.transcript"]}'

After every call, AgentCall POSTs the full transcript plus a one-paragraph LLM summary (caller name, intent, urgency, callback time, spam flag) to that URL. Verify the X-AgentCall-Signature header, dedupe on callId, ack with 2xx, then feed the transcript into your agent's memory layer. Full payload schema and reference parsers in JavaScript and Python at /docs/post-call-webhook.

Your agent doesn't need to be Hermes. Anything that can POST JSON and accept signed POSTs works: n8n, Zapier with a code step, a Cloudflare Worker, a Python Flask app on a $5 droplet.

What This Replaces

For solo founders, it replaces the cognitive load of remembering every decision and the busywork of typing up every customer call.

For small businesses, it replaces a $50,000-a-year part-time receptionist who only works business hours and forgets context the moment they go off shift. Or it replaces a voicemail box nobody checks. Or it replaces a generic IVR that nobody likes.

For developers building on top of Hermes (or any agent platform), it replaces the “voice” gap in their stack. The agent already reads email, writes Telegram, manages a calendar. Phone was the missing modality. Now it's there, and it remembers.

Pricing

The Free tier includes one US local number and 5 minutes of inbound AI voice per month, no credit card required. Pro is $19.99/month for unlimited numbers and $0.40/minute for inbound AI voice with no cap. Both tiers get the pre-call context webhook and the post-call transcript webhook included. See pricing for the full breakdown.

Get Started

Create a free account, provision your first number, and have your AI agent answer it in under five minutes. If you're running Hermes or another self-hosted agent platform, the full walkthrough (with Telegram-prompt examples) is at /docs/hermes and the post-call setup is at /docs/post-call-webhook.

AI agents that read your email but can't answer the phone are only half-built. Close the loop.

Ready to get started?

Give your AI agents their own phone numbers in minutes.

Start Building