Give your Hermes agent a voice and a phone number
Talk To My Agent puts a real phone line on your Hermes agent. A tiny local shim bridges each call to Hermes's API, so every call becomes a live, reasoning-native conversation - your persona carried straight over.
The short answer
Yes - you can give a Hermes agent a phone number and a voice with Talk To My Agent (TTMA). TTMA's voice gateway runs on the same host as Hermes and connects through a tiny zero-dependency loopback shim that maps each call's session into Hermes's /v1/responses API on 127.0.0.1:8642. Your SOUL.md persona and memory carry straight over, so every inbound or outbound call is a live, reasoning-native conversation in a natural voice. Add --agent-profile hermes to the installer and you're live.
Hermes Agent + Talk To My Agent - at a glance
Generally available- Agent framework
- Hermes Agent (reasoning-native)
- How it connects
- TTMA gateway → session shim (
:8788) → Hermes/v1/responses(:8642) - Persona
- Your
SOUL.md/USER.md/MEMORY.mdport directly, auto-synced - In-call memory
- Yes - session threaded into Hermes on every turn
- Voice
- Natural, human-sounding · pick your voice · 20+ languages
- Setup
- Installer with
--agent-profile hermes
What is the Hermes Agent?
Hermes is a lightweight, reasoning-native agent framework. Where traditional agents lean on long tool chains, a Hermes agent is built to reason - thinking a request through end to end - which makes it a strong fit for natural, free-flowing conversation.
A Hermes agent normally runs headless behind its API server. Talk To My Agent gives it the phone: the same persona and memory, now answering and placing real calls.
Why give a Hermes agent a phone number?
Hermes brings the reasoning. A phone number brings the reach - inbound and outbound, to anyone, with no app.
- Natural conversation, end to end. Hermes reasons through the whole call, so it handles open-ended, messy, real-world requests.
- Your persona, on the phone. Your
SOUL.mdidentity and memory carry straight over - callers hear your agent, not a generic bot. - Reachable by anyone. Just a phone number - no app, no login, no link.
- Answers 24/7 and can place outbound calls too: reminders, follow-ups, confirmations.
- Self-hosted. The gateway and the shim run on your own host, next to Hermes.
How to give a Hermes agent a phone number
Two small pieces: turn on Hermes's API server, then let the TTMA installer wire up the voice gateway and the session shim.
- 1
Enable the Hermes API server
Start Hermes with its API server on, listening on localhost - for example
API_SERVER_ENABLED=true, anAPI_SERVER_KEY, andAPI_SERVER_PORT=8642. Confirm it's up:curl -s http://127.0.0.1:8642/v1/health - 2
Run the installer with the Hermes profile
On the same host, run the installer with
--agent-profile hermes. It provisions the voice gateway and a tiny zero-dependency loopback shim on:8788that maps each call's session key into Hermes'sconversationfield - the one bridging difference between the two APIs.curl -sSL https://api.talktomyagent.io/install.sh | bash -s -- --token <YOUR_TOKEN> --agent-profile hermes --accept-license - 3
Persona syncs automatically
Your Hermes
SOUL.md,USER.md, andMEMORY.mdare copied into the voice workspace and re-synced periodically, so the voice and the brain stay aligned. - 4
Pick a voice, number, and publish
Choose a voice and a local number in the dashboard, then publish it. Your Hermes agent now answers and places calls in a natural voice, 24/7.
What your Hermes agent can do on a call
Reasoning-native conversation, over the phone, in a natural voice.
Reasons through the call
Hermes thinks the request through end to end, so it handles open-ended, multi-part conversations naturally.
Speaks as your persona
Your SOUL.md identity and memory carry over - tone, knowledge, and all.
Remembers the conversation
The session is threaded into Hermes on every turn, so it keeps context across the whole call.
Inbound and outbound
Answers your number and can place calls - reminders, follow-ups, confirmations.
Speaks 20+ languages
Auto-matches the caller's language on the fly.
Crystal-clear audio
Built-in noise cleanup keeps the line clear on both ends.
Frequently asked questions
Can a Hermes agent answer the phone?+
Yes - with Talk To My Agent. A Hermes agent runs behind its API server by default; TTMA's voice gateway connects to it through a local shim and gives it a real phone number, so it can answer inbound calls and place outbound ones in a natural voice.
What is the Hermes session shim, and why is it needed?+
TTMA's gateway threads each call's identity in an x-openclaw-session-key header, while Hermes expects the conversation id in the request body's conversation field. The shim is a tiny zero-dependency process on 127.0.0.1:8788 that translates between the two and forwards to Hermes on :8642. The installer sets it up for you with --agent-profile hermes.
Does my Hermes SOUL.md persona work on calls?+
Yes. Your SOUL.md, USER.md, and MEMORY.md are copied into the voice workspace and kept in sync, so the voice agent speaks and remembers exactly like your Hermes agent.
How is this different from giving OpenClaw a voice?+
The voice experience is the same; the wiring differs. OpenClaw is auto-detected and connected directly, while Hermes uses a small loopback shim to bridge the session-id difference between the two APIs. A few OpenClaw-only extras (built-in knowledge-base search, CRM capture) aren't part of Hermes, but you can add equivalents as Hermes skills.
Does it keep my data on my own infrastructure?+
Yes. The gateway, the shim, and Hermes all run on your host and talk over localhost. Only the carrier (telephony) leg leaves the box, which is required to place and receive calls.
Do I have to write any code?+
No. The installer creates the gateway and the shim, syncs your persona, and you pick a voice and number in the dashboard.
Give any agent a phone number
Put a phone number on your Hermes agent
Turn on the API server, run one installer command with --agent-profile hermes, and your reasoning-native Hermes agent answers the phone in a natural voice.