Have an AI wait on hold and patch you in

Short answer: Pass your phone number as transfer_to when your agent places the call. The voice assistant gets through the phone menu, waits on hold, and when a live person answers, it patches you into the call. You skip the menu and the wait, and the rep talks to you directly.

“Call my insurance company's claims line, get through the menu and hold, and connect me at (214) 555-0147 when a person picks up.”

Open this in ChatGPT and swap in your details before you send it. It needs the CallForMe plugin.

Add CallForMe to your agentTry a free demo call

Using ChatGPT? Add it from ChatGPT's plugin directory in one step, on any plan.

$1 when someone answers, first 2 minutes included. Nothing if nobody picks up. Connecting asks for nothing.

On your phone? Email yourself the setup steps

The short answer

You give your agent the business and your phone number. It places the call with transfer_to set to your number. The voice assistant handles the menu and waits through the hold. When someone picks up, your phone rings and you're connected. You never hear the hold music.

Why this is the most reliable kind of AI call

Some calls need you. Banks, phone carriers, airlines and insurers often need the account holder to verify identity, and privacy rules can stop a rep from talking about your account with anyone else. Some reps also hang up once they hear an AI.

Hold-and-patch-in sidesteps both. The assistant does the part nobody likes, the menu and the wait. The rep talks to you, the actual customer, so there's no verification problem and no reason to hang up.

The prompt

Call Southwest customer service, get through the menu to a live agent about changing a flight, wait on hold, and patch me in at 469-555-0142 when someone picks up. I'm Dana Ruiz.

What your agent does

  1. Looks up the number if you didn't give it, with find_business.
  2. Places the call:
{
  "phone": "+18005550142",
  "business_name": "Southwest Airlines",
  "goal": "Reach a live agent about changing a flight, then transfer the caller in.",
  "details": "Customer name Dana Ruiz. Confirmation ABC123.",
  "on_behalf_of": "Dana Ruiz",
  "transfer_to": "+14695550142",
  "constraints": "Do not make changes to the booking yourself. Only connect the customer."
}
  1. Watches the call with get_call, which shows in_progress while the assistant is in the menu and on hold. Your agent can tell you "still on hold, 12 minutes so far" as it goes.
  2. The assistant navigates the menu, pressing digits or saying "agent," and enters the confirmation number if the menu asks.
  3. When a person answers, the assistant says something like: "Hi, this is an assistant calling for Dana Ruiz, on a recorded line. I'm connecting her now." Then it patches you in.
  4. You talk to the rep. The transcript and summary still come back in get_call after the call ends.

Example result

Illustrative example: names, prices and times are made up.

Menu: For existing reservations, press 2. (assistant presses 2, then 1)

Menu: Your estimated wait time is more than 20 minutes. (18 minutes on hold)

Rep: Thanks for calling, this is Sam, how can I help?

Assistant: Hi Sam, this is an assistant calling for Dana Ruiz, on a recorded line. I'm calling about a change to Dana's flight, and I'm connecting her now. (call transferred to Dana)

What your agent tells you:

Field Value
Menu path 2 (existing reservation), then 1 (change)
Time on hold 18 minutes
Rep Sam
Status Transferred to your phone

Tips

  • Be reachable. Keep your phone nearby with the ringer on. When it rings, pick up. The rep is waiting.
  • Give the menu what it needs. Put confirmation, account or claim numbers in details so the assistant can get through menus that ask for them.
  • Say which department. "Billing," "claims," "changes to an existing reservation." The more specific the goal, the better the menu choices.
  • Mind the 30 minute limit. If a line is known for long holds, call early in the day.
  • Use a number you control. transfer_to must be a US or Canadian number.
  • Join whenever you want. With transfer_to set, you can tell your agent "connect me now" at any point in the call. It passes that on with answer_question, and the assistant brings you in right away, or as soon as a person answers if it's still in the menu or on hold. The assistant leaves the call once you're on.
  • Verify your identity yourself. The assistant never gives card numbers, SSNs or passwords. That part is for you once you're connected.

Try it free first

To see how the assistant handles a hold before you pay, have your agent call the Elm Avenue Garage demo line, (469) 300-6608. It's a fictional garage that puts you on a short hold before quoting a brake job. Demo calls need no account and cost nothing. (Demo lines can't patch you in to a real phone; that part needs a real call.)

Call Elm Avenue Garage at (469) 300-6608 and get a front brake quote for a 2019 Toyota RAV4. Wait if they put you on hold.

What it costs

You pay for the whole call, including hold. $1 covers the first 2 minutes once the call is answered, then $0.40 per minute.

Hold plus talk Cost
5 minutes $2.20
15 minutes $6.20
18 minutes (the example above) $7.40
30 minutes (max) $12.20

If the call never connects, there's no charge. See pricing.

To cap a call, have your agent pass max_cost_usd: the call ends by itself at that cost, so a hold that drags on can't run up the bill. 3 is about 7 minutes. For a long hold you'd rather not pay for in full, transfer_to patches you in when someone answers instead.

Good calls for hold-and-patch-in

Hold without the patch-in

If you don't need to talk to them yourself, leave transfer_to out. The assistant waits on hold, asks your questions when a person answers, and reports back. See how AI handles phone menus and hold.

What your agent sees while you wait

get_call shows the status as the call moves along: ringing, then in_progress once the menu picks up. Your agent can keep checking with wait_seconds up to 50, so it hears about changes quickly. If the menu asks for something that isn't in details, like a date of birth for a pharmacy line, the assistant asks your agent with a pending_question. Your agent has about 45 seconds to answer; after that the assistant says you'll follow up on that point and carries on. Put anything the menu is likely to ask for (date of birth, account number, ZIP) in details or if_asked so the hold isn't wasted.

After the transfer, the call result still comes back to your agent: the transcript up to the hand-off, the duration and the cost. For a full walkthrough of the most common case, see cancel a subscription by phone.

If you miss the transfer

If your phone rings and you don't pick up, the rep is left waiting. Keep your phone nearby and the ringer on. If a hold looks like it'll run long, you can ask your agent to end the call with hang_up and try again at a quieter time. Calls end on their own at 30 minutes.

Questions

How long will it wait on hold?

A CallForMe call can last up to 30 minutes, including hold. If no one answers in that time, the call ends.

What does the rep hear before I'm connected?

The assistant tells them it's an assistant calling for you and that it's connecting you now.

What does hold-and-patch-in cost?

The same as any call: $1 once answered, including the first 2 minutes, then $0.40 per minute. Hold time counts as call time.

What number do I need to give?

A US or Canadian phone number you can answer, in the transfer_to field. Your agent can ask you for it.

Why patch me in instead of letting the AI talk to the rep?

Airlines, banks and carriers often need to verify the account holder, and some reps won't discuss an account with an AI. Patching you in avoids both problems.

Is there a shortcut prompt for this?

Yes. The MCP server includes a hold-for-me prompt that sets up this kind of call.

Add CallForMe to your agent

One URL for any MCP agent. Connecting asks for nothing.

https://callforme.tel/mcp

Install steps for your agentTry a free demo callPricing

On your phone? Email yourself the setup steps

One email with the link, for when you're at your computer. Nothing else.