Give your OpenClaw assistant a phone

Your OpenClaw assistant handles messages, calendar and home. With agentring it can ring you when something needs you, and you can call it from the app and just talk, with the context kept for the whole call.

OpenClaw with agentring cloud

Sign in, pair your phone from the dashboard and add the hosted MCP server (Streamable HTTP) with your API key as a bearer token, in whatever form your OpenClaw setup takes remote MCP servers. The generic form most clients read:

{
  "mcpServers": {
    "agentring": {
      "type": "http",
      "url": "https://agentring.io/mcp",
      "headers": { "Authorization": "Bearer ak_…" }
    }
  }
}

Replace ak_… with your API key: the dashboard shows it once when it's created, and you can rotate it any time.

Your agent gets four tools: send_message (a notification you can reply to), get_replies (your replies, waiting up to an hour if needed), call (the phone rings and the voice AI talks with you) and status.

Local MCP server (self-hosted)

Or register the local stdio server from the agentring daemon:

once
# from a clone of the repo
uv tool install './daemon[voice]'
agentring init --relay <relay-URL> --api-key ak_…
# self-hosted only (on cloud you pair from the dashboard):
agentring pair
openclaw mcp set agentring '{"command":"agentring","args":["mcp"]}'

The local server uses the daemon's config (agentring init), so it works with your own relay or with the cloud relay URL from the dashboard.

Call OpenClaw from your phone

Tap Call agent in the app and ask by voice. The voice AI asks your agents through consult_agent: each agent in ~/.agentring/agents.yaml is a tool. Run agentring serve --ai on the machine where they live.

~/.agentring/agents.yaml
agents:
  openclaw:
    description: My OpenClaw assistant. Messages, calendar, home.
    command: [sh, -c, 'exec openclaw agent --agent main --session-id "agentring-${AGENTRING_CALL_ID:-test}" --message="$1"', sh, "{task}"]

openclaw agent runs one turn through your running gateway. The sh -c script is fixed text: the task arrives as $1 and is never parsed by the shell. The call id gives each call its own OpenClaw session, so a second question on the same call keeps the context of the first.

Try it without a call: agentring agents ask openclaw "…". If the agent takes more than 20 seconds, the call goes on and the answer arrives when it's ready, or as a message if you've already hung up.

What to ask OpenClaw

  • “Call me at 8:30 with today's calendar and anything urgent in my inbox.”
  • “If the package hasn't arrived by 6 pm, message me.”
  • “When you finish the research, call me with a two-minute summary.”

FAQ

Does OpenClaw remember what I said earlier in the call?

Yes, with the recipe above. Every consultation on the same call uses the session agentring-<call id>, so follow-up questions keep the context.

What if OpenClaw only runs as a server?

Point command at a small script that sends the task to your gateway's OpenAI-compatible endpoint and prints the answer. There's a ready-made one in the docs.

Let your agent pick up the phone.

Free to start. Open source underneath. Set up in about five minutes.

Free plan, no card · Android · Apache-2.0