Cross-call memory

Cross-Call Memory for Your AI Phone Agent

Spellar remembers meetings. AgentCall lets your own AI agent remember every phone call. Every transcript, summary, and call outcome is pushed to your agent platform after each call ends.

Free
Webhook tier
HMAC
Signed payloads
JSON
Structured transcripts
< 5s
Post-call delivery

Phone calls vanish the moment they end.

Your AI agent handled a customer call this morning. By tomorrow, it has no idea that conversation happened. Same caller dials back, gets routed to the same agent, asks the same question, and your AI starts from zero. Every time.

Meeting tools solved this for Zoom and Google Meet. Spellar, Granola, Fireflies, Otter: all capture meeting context and feed it back to humans for review. Phone calls have been stuck in the past, treated as ephemeral, deleted by the carrier the moment they finish.

AgentCall changes the loop. Every call your AI handles becomes structured memory delivered to your agent platform. Your agent reads it back into context for the next call, looks up callers it has spoken to before, and stops asking the same questions twice.

How cross-call memory works

Three pieces, all live today. No multi-week integration.

Step 1

Caller dials your AgentCall number

Your AI receptionist answers with the system prompt you wrote, or AgentCall hands the call to your own agent platform via the pre-call context webhook.

Step 2

AgentCall transcribes and summarizes

Every word both sides say is captured with timestamps. When the call ends, an LLM writes a plain-English summary of what was said, what the caller wanted, and what was decided.

Step 3

Posted to your webhook

The transcript, summary, recording URL, and call metadata POST to your endpoint as signed JSON. Your agent platform stores it and has it ready before the next call.

A working webhook receiver in 30 lines

Drop this into any Node, Bun, or Cloudflare Worker endpoint. Verify the HMAC signature, store the transcript, hand it to your agent.

import { createHmac, timingSafeEqual } from "crypto";

app.post("/webhooks/agentcall", async (req, res) => {
  const signature = req.headers["x-agentcall-signature"];
  const expected = createHmac("sha256", process.env.AGENTCALL_WEBHOOK_SECRET)
    .update(JSON.stringify(req.body))
    .digest("hex");

  if (!timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
    return res.status(401).send("Invalid signature");
  }

  if (req.body.event === "call.transcript") {
    const { callId, from, transcript, summary, completedAt } = req.body.data;

    // Persist for cross-call memory. Your agent reads from here next time.
    await db.callMemory.upsert({
      where: { callId },
      create: { callId, callerNumber: from, transcript, summary, completedAt },
      update: { transcript, summary }, // dedup on retries
    });
  }

  res.status(200).send("ok");
});

Full payload shape and event types at /docs/post-call-webhook.

AgentCall vs Spellar for memory

Different surfaces, different consumers. Spellar is read by humans after a meeting. AgentCall is read by your agent before the next call.

SpellarAgentCall
SurfaceZoom, Google Meet, Teams meetingsInbound and outbound phone calls
ConsumerHumans reviewing meeting notesYour AI agent reading prior context
DeliveryPost-meeting summary in their appHMAC-signed JSON webhook to your platform
Cross-session memory
Acts on the data
AI agent can dial out using the memory
Free tierLimited meetingsWebhook included, 1 number, 5 min AI voice/mo

For the full comparison and architecture breakdown, read AgentCall vs Spellar: Cross-Call Memory for AI Phone Agents.

What you can build with cross-call memory

Every example below has at least one AgentCall customer running it in production today.

AI receptionist that remembers callers

Your customer calls Tuesday about a quote. They call again Friday. Your AI greets them by context: 'Hi, are you calling back about the quote we discussed Tuesday?' Built on top of the post-call webhook plus the pre-call context webhook.

Sales agent that learns from every call

Each call transcript and summary feeds your CRM. Your AI agent reads the prior conversation history before dialing the next prospect, references what was already discussed, and never restarts the qualification process.

Support agent that picks up where the last left off

Customer calls Monday and gets routed to your AI for triage. Calls back Tuesday. Your agent already knows the issue, the troubleshooting steps tried, and what to try next.

Outbound campaign that doesn't repeat itself

Your AI agent makes follow-up calls based on outcomes from the previous round. Anyone who said 'call me Tuesday' gets a Tuesday call referencing the previous conversation.

Give your AI agent a memory.

Free tier includes the post-call transcript webhook, one US local number, and 5 minutes of inbound AI voice per month. No card required to start.

Or read the docs: Post-call Transcript Webhook · Hermes integration · MCP Server

Frequently asked questions

What is cross-call memory for an AI phone agent?+

Cross-call memory means your AI agent remembers every previous phone conversation. AgentCall delivers a full transcript, AI-generated summary, and call metadata to your webhook after every call. Your agent platform stores it, so the next time the same caller (or your agent) needs context, it is already there.

How is this different from Spellar?+

Spellar records and summarizes meetings on Zoom and Google Meet for human consumption. AgentCall does it for phone calls handled by your AI agent. The data is delivered as structured JSON to your webhook so your agent can act on it, not just review it.

Do I need an AI receptionist on AgentCall, or can I use my own agent?+

Both work. AgentCall can run an AI receptionist with the system prompt you write, or you can route calls to your own agent platform via the pre-call context webhook plus the post-call transcript webhook. Either way you receive the same structured memory after the call ends.

What does the post-call webhook payload look like?+

POST to your URL with: callId, direction, from, to, duration, recordingUrl (if recording is enabled), transcript (array of role and text entries with timestamps), summary (LLM-generated plain English), and completedAt. Signed with HMAC-SHA256 so you can verify it came from AgentCall.

What does this cost?+

The post-call transcript webhook is included free on every AgentCall plan. AI voice calls (where AgentCall handles the conversation autonomously) are $0.40 per minute on the Pro plan at $19.99 per month. Inbound calls forwarded to your own agent platform are at carrier voice rates.