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.
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
- Looks up the number if you didn't give it, with
find_business. - 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."
}
- Watches the call with
get_call, which showsin_progresswhile the assistant is in the menu and on hold. Your agent can tell you "still on hold, 12 minutes so far" as it goes. - The assistant navigates the menu, pressing digits or saying "agent," and enters the confirmation number if the menu asks.
- 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.
- You talk to the rep. The transcript and summary still come back in
get_callafter 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
detailsso 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_tomust be a US or Canadian number. - Join whenever you want. With
transfer_toset, you can tell your agent "connect me now" at any point in the call. It passes that on withanswer_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
- Airlines, for changes and rebooking
- Cable and internet billing (negotiate an internet bill)
- Insurance claims (insurance claim status)
- Anything with "your call is important to us"
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.
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.