Have OpenClaw Call You on the Phone

Set up your agent to ring you—for a morning brief, a failure alert, or a quick check-in

You can already talk to OpenClaw with Voice Wake and Talk Mode. This guide flips it: your agent calls you—on your actual phone. Think morning wake-up brief, “your coding agent just failed” alert, or a nudge to log your gym session. Whenever you want the agent to reach out by voice, this is how.

Under the hood you’re combining ElevenAgents (from ElevenLabs) for the voice side and Twilio for the phone number. OpenClaw uses a skill to place the call through that stack.

How this fits with other voice features: Voice Wake and Talk Mode are for you talking to OpenClaw (wake word, then two-way speech). Some setups also let you call in to your bot. Here we’re only covering outbound—the agent initiates the call to your phone. Different use case, same idea: voice in the middle.

In this guide you’ll: install the ElevenLabs agents skill, add your API key and IDs, place your first outbound call, optionally tie calls to one agent or to a schedule, and know where to look when something breaks.

What you’ll need first

Two things have to be in place before we get to “call me”:

  • ElevenAgents – This is your voice layer. It’s what turns the conversation into a real phone call.
  • Twilio – Hooked up in ElevenAgents so you have a number to call from (and to reach your phone).

If that’s not set up yet, you’ll need to get ElevenAgents talking to OpenClaw and add Twilio in the ElevenAgents dashboard. Community guides and the providers’ own docs walk through that; here we’re only covering the outbound bit—getting your agent to dial you.

Pro tip: If the full setup feels like a lot, paste a step-by-step guide into your OpenClaw coding agent and ask it to do most of the work. It’s surprisingly good at that.

Enable the skill

First, give OpenClaw the skills it needs to talk to the ElevenLabs API. In chat, ask your bot:

Ask your bot
Install these skills globally: npx skills add elevenlabs/skills

That pulls in the skills that know how to use the ElevenLabs/Agents API.

Then add your ElevenLabs API key so the agent can actually authenticate:

  1. Open the dashboard: openclaw dashboard
  2. Head to the Skills tab.
  3. Find “agents” and drop your ElevenLabs API key in the field next to it.

Worth doing: create an API key with scope limited to agents-write and a sensible spend limit. Keeps things tighter if something goes sideways.

Actually making a call

With the skill and API key in place, just ask your bot to call you. Something like:

Ask your bot
Call <your phone number> using agents skill

The agent will use the key you added, then prompt you for two IDs:

  • Agent ID – Grab it from your ElevenAgent page.
  • Outbound Phone ID – In the phone numbers tab (that’s the Twilio side of ElevenAgents).

Once a call works, tell OpenClaw to remember those so it doesn’t have to ask every time:

Ask your bot
Put these IDs in your memory

It’ll stick them in memory. Next time you say “call me,” it can use the same Agent ID and Outbound Phone ID without bothering you.

One agent for all calls (optional)

Out of the box, each call might start a fresh OpenClaw agent. They all share memory, but not the same live conversation—so no “remember what we talked about last call” unless you do something extra.

If you want one agent that handles every call and keeps context between them, send a stable session id to your custom LLM using the x-openclaw-session-key header. Then the same logical agent answers every time.

Handy if you’re building a dedicated “calling” agent that should remember the last conversation or carry state from call to call.

Let it call you on a schedule

To have the agent ring you automatically—say, 7am brief or when something needs your attention—use OpenClaw’s scheduling:

  • Add a cron job in the OpenClaw UI, or
  • Just ask your bot: e.g. “Set up a cron that runs at 7am and has you call me with the day’s brief.”

At the scheduled time the agent runs, pulls together the brief (or checks status, failures, whatever you asked for), and places the call using the agents skill and the IDs it saved. More on patterns like this in Automation and Example Setups & Cost.

Ideas for using it

  • Morning brief – Ring at a set time with calendar, tasks, and a quick summary. The agent runs on a cron, gathers the info, and calls you so you can listen while you get ready.
  • Failure alerts – When a pipeline or coding agent fails, the agent calls you to say so. Pair with a cron or webhook that checks status and triggers “call me and report” when something’s wrong.
  • Check-ins – Nudge you to log gym, do a standup, or whatever you want a reminder for. One scheduled call: “Hey, time to log your workout” or “Quick standup reminder.”
  • Whenever you want – “Call me and tell me the status of X” and it does. No schedule—you ask once and the agent places the call with the IDs it has in memory.

Example prompts for scheduled calls

When you set up cron (or ask the bot to set it up), you need to tell the agent what to do when it runs. Here are some concrete prompts you can adapt:

  • “At 7am every weekday, call me with a 2‑minute brief: today’s calendar, top 3 tasks, and any urgent messages.”
  • “When this cron runs, check the build status. If the main branch is red, call me and say which pipeline failed and the link to the run.”
  • “Every day at 6pm, call me and ask me to rate my day 1–10 and log one win. Store the answer in memory.”

The agent uses the same “call me using agents skill” flow; the cron just decides when it runs and what context (brief, status check, etc.) to prepare before placing the call.

When something goes wrong

Common issues and what to check:

  • “Agent doesn’t have API key” or call never starts – Make sure the ElevenLabs API key is in the dashboard under Skills → agents, and that the key has agents-write (or the scope your skill needs). Restart or re-open the dashboard and try again.
  • Wrong or missing Agent ID / Outbound Phone ID – Copy the Agent ID from the ElevenAgents page (the agent you configured for voice). The Outbound Phone ID is in the phone numbers tab in ElevenAgents (Twilio integration). If the IDs change (e.g. you created a new agent), tell the bot to “put these IDs in your memory” again after the next successful call.
  • Call fails or doesn’t connect – Check Twilio: number is active, region/country is supported, and you’re not over limits. Verify the phone number you’re calling is in E.164 format when you ask the bot (e.g. +1234567890).
  • Cron runs but no call – Confirm the cron job is actually firing (check OpenClaw logs or the automation UI). Ensure the agent has the Agent ID and Outbound Phone ID in memory; if it doesn’t, it may prompt for them and then not have a way to get input in a cron context. Store the IDs in memory during a normal chat first.

For general OpenClaw issues, see Troubleshooting; for Gateway and channel problems, Setup Channel and provider docs (ElevenLabs, Twilio) are useful.

Costs and limits

Outbound calls use two paid services: ElevenLabs (ElevenAgents) and Twilio. You’re charged per minute of voice and per phone segment (Twilio) and by usage on the ElevenLabs side. Rates depend on region and plan—check each provider’s dashboard and set spend limits or alerts so you’re not surprised. Storing the Agent ID and Outbound Phone ID in memory and reusing them doesn’t change cost; it just avoids re-entering them. If you schedule a lot of calls (e.g. many crons), keep an eye on usage.

Privacy and security

When your agent places a call, the conversation is handled by ElevenLabs (voice) and Twilio (telephony). Your phone number and the call content pass through those providers according to their policies. OpenClaw only orchestrates the request (e.g. “call this number with this context”); it doesn’t store the audio. For best practices on API keys, scoped access, and data handling, see our Security guide and the providers’ own privacy and security docs.

See also