← Back to Skills Marketplace
mrbese

Call My Agent

by Omer Bese · GitHub ↗ · v0.1.2 · MIT-0
cross-platform ⚠ pending
41
Downloads
1
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install call-my-agent
Description
Create a private phone line between you and your OpenClaw agent. Call your agent from your phone, or let your agent call you, without Twilio or phone number...
README (SKILL.md)

Call My Agent

Source

  • Public app repository: https://github.com/mrbese/call-my-agent
  • V1 runtime: OpenClaw only.
  • Roadmap only: Hermes, custom command adapters, Codex, and ChatGPT App.

Security Review Notes

This skill describes setup for a local voice app. It must treat the following actions as explicit user-confirmation gates:

  • Cloning, downloading, or updating the external app repository.
  • Running npm install or any package install command.
  • Writing or enabling macOS LaunchAgent or Linux systemd user-service files.
  • Enabling, changing, or disabling Tailscale Serve routes.
  • Starting a long-running local service.

The agent must show the target source before install:

https://github.com/mrbese/call-my-agent

The agent must prefer the latest tagged or release version when available. If installing from a branch, it must say so plainly before proceeding.

The agent must not request, print, paste, or store OpenAI API keys in chat. OpenAI keys should be resolved from existing OpenClaw auth profiles first. If a new key is needed, use OpenClaw's normal local auth flow.

The app must bind to 127.0.0.1 by default. If the user explicitly asks for another bind host, explain the LAN/public exposure risk and ask for confirmation before changing it. Never silently bind to 0.0.0.0.

Remote access must use Tailscale Serve by default, not a public tunnel, and must require confirmation before it is enabled.

Every persistence or remote-access setup path must include the corresponding teardown command before or immediately after enabling it.

Contract

This skill guarantees:

  • Sets up one private voice line for one OpenClaw agent, usually main.
  • Reuses existing OpenClaw openai:* auth profiles before asking for a key.
  • Stores any newly supplied OpenAI key in OpenClaw auth, not in a Call My Agent-specific secret store.
  • Runs the voice app locally and binds to 127.0.0.1 by default.
  • Uses Tailscale Serve as the default remote access boundary.
  • Prints a privacy check that explains what leaves the machine.

Phases

  1. Inspect the host.
    • Confirm OpenClaw is installed.
    • List available OpenClaw agents.
    • Default to main unless the user chooses another agent.
    • Check whether Tailscale is installed and logged in.
  2. Resolve OpenAI auth.
    • Check the target agent's OpenClaw openai:* auth profiles.
    • Honor OpenClaw provider order when profiles exist.
    • If no usable profile exists, ask for an OpenAI API key once and save it through OpenClaw's normal auth flow.
    • Do not send keys to any Call My Agent service. There is no hosted backend.
  3. Install the local app.
    • Ask for confirmation before cloning, downloading, or updating the call-my-agent app in the configured local app directory.
    • Show the public app repository before install: https://github.com/mrbese/call-my-agent.
    • Prefer a tagged release or pinned commit. If using a branch, say so.
    • Run npm run setup:openclaw to generate .env.local, preserve existing local values, create a local incoming-call token, and inspect OpenClaw auth without printing secrets.
    • Ask for confirmation before running npm install.
    • Keep generated local state out of publishable artifacts.
  4. Configure service management.
    • Start the app bound to 127.0.0.1 by default.
    • If the user requests another bind host, explain the exposure risk and ask for confirmation before changing it.
    • Offer, but do not silently install, deploy/macos/ai.openclaw.call-my-agent.plist.
    • Offer, but do not silently install, deploy/linux/call-my-agent.service.
    • Ask for confirmation before writing or enabling any persistence file.
    • Provide the clean stop/uninstall path before or immediately after enabling persistence.
  5. Configure private phone access.
    • Offer Tailscale Serve for remote access: npm run tailscale:setup.
    • Use npm run tailscale:teardown to disable the Serve route.
    • Do not set up public tunnels by default.
    • Ask for confirmation before enabling or changing Tailscale Serve.
    • For incoming calls, require a call token when remote access is enabled.
  6. Verify and report.
    • Run npm run doctor.
    • Check that the local page loads.
    • Check that /api/tools returns the expected tools.
    • Check that OpenAI Realtime session creation works.
    • Print the private Tailscale URL and privacy check.

Output Format

Good setup output looks like:

Call My Agent is ready.

Agent:             OpenClaw main
Local URL:         http://127.0.0.1:3000
Private phone URL: https://your-machine.your-tailnet.ts.net:8443/

Privacy check:
App hosting:        your machine
Voice transport:    OpenAI Realtime API
Agent runtime:      local OpenClaw
Remote access:      your Tailscale network
Phone provider:     none
Hosted backend:     none
Call My Agent API:  none
App account:        none
API keys collected: no

Anti-Patterns

  • Claiming this creates carrier/PSTN phone calls. These are private internet voice sessions.
  • Asking users to create a Twilio account or rent a phone number.
  • Binding the app to 0.0.0.0 during default setup.
  • Creating a public tunnel as the default remote access path.
  • Storing OpenAI keys in a Call My Agent-specific remote service.
  • Presenting Hermes, Codex, ChatGPT Apps, or custom command support as v1 features before those adapters exist.

Tools Used

  • Shell commands for OpenClaw, npm, Tailscale, LaunchAgent, and systemd setup.
  • Filesystem edits for local app configuration and service files.
  • OpenClaw auth profile commands for key storage and provider ordering.
Capability Tags
requires-sensitive-credentials
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install call-my-agent
  3. After installation, invoke the skill by name or use /call-my-agent
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.2
Clarify bind-host policy: 127.0.0.1 remains the default, with explicit confirmation and exposure warning for advanced overrides.
v0.1.1
Clarify user-confirmation gates for GitHub app install, npm install, service persistence, Tailscale Serve, and local service startup.
v0.1.0
Initial OpenClaw voice line skill with local Call My Agent setup, Tailscale access guidance, and no-hosted-backend privacy contract.
Metadata
Slug call-my-agent
Version 0.1.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is Call My Agent?

Create a private phone line between you and your OpenClaw agent. Call your agent from your phone, or let your agent call you, without Twilio or phone number... It is an AI Agent Skill for Claude Code / OpenClaw, with 41 downloads so far.

How do I install Call My Agent?

Run "/install call-my-agent" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Call My Agent free?

Yes, Call My Agent is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Call My Agent support?

Call My Agent is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Call My Agent?

It is built and maintained by Omer Bese (@mrbese); the current version is v0.1.2.

💬 Comments