Buyer roleplay voice agent: practice your real objections out loud before the call

Gong + ElevenLabs

Who it's for

AEs and SDRs who want to rehearse the objections buyers actually raise, and managers who want a repeatable practice drill. Gong can be swapped for Fireflies or Granola. EU residency workspaces use ElevenLabs EU residency instead of ElevenLabs.

What you get

Top objections, the buyer persona and one debrief. Sample output: every company and person in it is fictional.

Objections from Gong, 4 deals, last 60 days (Gong answers, not quotes):

| # | Objection (rewritten, no names) | Seen in |
|---|---|---|
| 1 | "We already built something like this in-house." | 3 deals |
| 2 | "Your price is well above the other vendor we're looking at." | 3 deals |
| 3 | "My team doesn't have time for a rollout this quarter." | 2 deals |
| 4 | "Security review takes our team three months." | 2 deals |
| 5 | "I need to see this work for a company our size." | 1 deal |

Persona instructions (not created yet):
You are Morgan Hale, VP of Operations at Tidewell Robotics (fictional), a 400-person manufacturer. You agreed to a 20-minute call but you are skeptical and busy. Open by saying you have 20 minutes and ask what this is about. Raise these objections one at a time, in this order, when the conversation gives you an opening: (1) we built something in-house, (2) your price is above the other vendor, (3) no time for a rollout this quarter, (4) our security review takes three months, (5) show me a company our size. Don't accept a vague answer. Push back once if the rep gives no number, example or next step. Soften only after a specific answer, and say what convinced you. Never invent product facts for the rep. If the rep asks for a next meeting after handling at least three objections well, agree to a 30-minute follow-up. Stay in character. Keep each reply under three sentences.

Waiting for approval: create ElevenLabs agent 'Practice buyer - Alex Rivera - Oct 16'. Nothing has been created yet.

---
Debrief, practice round 1 (Alex Rivera, fictional), 9 min 40 s:

| Objection | Score | Why |
|---|---|---|
| Built in-house | 4/5 | Asked what the in-house tool misses before answering. |
| Price | 2/5 | "We're worth it" with no number. Never asked what the other quote includes. |
| No time this quarter | 3/5 | Offered a phased rollout, but didn't check if that solved it. |
| Security review | 4/5 | Named the security pack and offered to start the review now. |
| Company our size | not reached | Call ended first. |

Fix first: price. Try: "Fair. Before I defend the number, what does their quote include for setup and support? Teams like Quarry Lane Analytics (fictional) compared year-one cost, not list price."

Time and cost

Estimate About 20–30 minutes to set up, then 10 minutes per practice round and debrief.

Assumptions: One rep, four recent deals in Gong, one practice agent and two practice rounds.

Exact credit costs depend on your plan with each vendor. Check the tool pages before a large run.

MCP servers

Every server is confirmed in: ClaudeChatGPT

Set up in a chat app

Every server in this recipe is confirmed for Claude and ChatGPT. Connect each one, then paste the prompts below into one conversation.

Developer setup

Auth setup and mcp.json for Claude Code and Cursor
  • Gong: Sign in with OAuth in your client (run /mcp in Claude Code). Do it once interactively, and the client stores and refreshes the token.
  • ElevenLabs: Sign in with OAuth in your client (run /mcp in Claude Code). Do it once interactively, and the client stores and refreshes the token.

Put this in .mcp.json (Claude Code, project root) or ~/.cursor/mcp.json (Cursor). Swap the example keys for your own, and don't commit real ones. Remove the // comment lines if your client requires strict JSON.

{
  "mcpServers": {
    "gong": {
      "url": "https://mcp.gong.io/mcp"
    },
    "elevenlabs": {
      "url": "https://api.elevenlabs.io/v1/mcp"
    }
  }
}

Step-by-step prompts

  1. Use Gong ask_deal once for each of these deals: {deal_list}. Ask which objections the buyer raised in calls and emails in the last {days} days, and how our rep answered. Say which call each objection came from, and say when Gong found nothing. Show me a table.
  2. Pick the five objections that came up most often. Rewrite each one in generic words, with no customer names, people, prices or contract terms. Then write persona instructions for a skeptical buyer at a fictional company called {fictional_company} in {industry}. The buyer raises the objections one at a time, pushes back once on any vague answer, and softens only after a specific one. Show me the text. Don't create anything yet.
  3. After I approve the persona text, create one ElevenLabs agent named 'Practice buyer - {rep_name} - {date}' with that text as its instructions. Tell me the agent's name and ID. Don't add knowledge base documents or tools to it.
  4. I've finished a practice round with '{agent_name}'. Get the transcript of my most recent conversation with that agent from ElevenLabs, and show me its start time and length so I can confirm it's the right one. If you can't find it, say so and I'll paste the transcript or my notes.
  5. Score each of my answers from 1 to 5: did I acknowledge the concern, ask a question before answering, give specific proof, and check the buyer was satisfied? Quote my words for each score, and mark objections we never reached. End with the two answers to fix first and a better version of each, in my voice. Keep it here as text and don't change the agent.

Run it on a schedule (optional)

Where this goes wrong

Gotchas

Download

Get the prompts, guardrails and expected output as one Markdown file. Paste it into a Claude Project or ChatGPT project's instructions, or save it as CLAUDE.md for Claude Code.

Download buyer-roleplay-voice-agent.md