Install
openclaw skills install amber-phone-capabilitiesGive your OpenClaw agent real phone capabilities. Setup uses a short wizard; after setup, run calls and phone tasks with one natural-language prompt.
openclaw skills install amber-phone-capabilitiesAmber gives any OpenClaw deployment real phone capabilities for agents. It ships with a production-ready Twilio + OpenAI Realtime bridge (runtime/) for confirmed phone workflows: inbound answering, call screening, prepared outbound workflows, and confirmed scheduling over a real telephone number.
✨ New in v5.4.0: Amber now ships as an MCP plugin with 9 tools — prepare confirmed calls by name, check call history, query CRM contacts, manage calendar, and control call screening. It works with Claude Desktop/Cowork and other MCP-capable clients or agent harnesses once configured. Includes Apple Contacts integration and a code-enforced call confirmation safeguard to prevent wrong-number dials.
✨ Also: Interactive setup wizard (npm run setup) validates credentials in real-time and generates a working .env file — no manual configuration needed. Once setup is complete, Amber is prompt-based: ask your OpenClaw agent to prepare confirmed calls, answer/screen callers, schedule confirmed appointments, or handle phone workflows in natural language.

▶️ Watch the interactive demo on asciinema.org (copyable text, adjustable speed)
The interactive wizard validates credentials, detects ngrok, and generates a complete .env file in minutes.
runtime/) — a complete Node.js server that connects Twilio phone calls to OpenAI Realtime with OpenClaw brain-in-the-loopamber-skills/) — modular mid-call capabilities (CRM, calendar, log & forward message) with a spec for building your owndashboard/) — browse call history, transcripts, and captured messages; includes manual Sync button to pull new calls on demandAmber ships with a growing library of Amber Skills — modular capabilities that plug directly into live voice conversations. Each skill exposes a structured function that Amber can call mid-call, letting you compose powerful voice workflows without touching the bridge code.
Amber remembers every caller across calls and uses that memory to personalize every conversation.
~/.config/amber/crm.sqlite; CRM records are not cloud-hosted. Live call audio/transcripts still pass through Twilio/OpenAI as part of the phone bridge.better-sqlite3 (native build). macOS: sudo xcodebuild -license accept before npm install. Linux: build-essential + python3.Query the operator's calendar for availability or schedule a new event — all during a live call.
ical-query — local-only, zero network latencyLet callers leave a message that is automatically saved and forwarded to the operator.
Amber's skill system is designed to grow. Each skill is a self-contained directory with a SKILL.md (metadata + function schema) and a handler.js. You can:
See amber-skills/ for examples and the full specification to get started.
Note: Each skill's
handler.jsis reviewed against its declared permissions. When building or installing third-party skills, review the handler source as you would any Node.js module.
cd dashboard && node scripts/serve.js # → http://localhost:8787
runtime/logs/ and refreshes the dashboard. Use this right after a call ends rather than waiting for the background watcher.node scripts/watch.js) auto-syncs every 30 seconds when running.npm install, configure .env, npm startBefore deploying, users must personalize:
Do not reuse example values from another operator.
The easiest way to get started:
cd runtimenpm run setup.env filenpm startBenefits:
.env editingcd runtime && npm ci../references/env.example to runtime/.env and fill in your values.npm run build && npm starthttps://<your-domain>/twilio/inboundreferences/env.example to your own .env and replace placeholders.TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_CALLER_ID, OPENAI_API_KEY, OPENAI_PROJECT_ID, OPENAI_WEBHOOK_SECRET, PUBLIC_BASE_URL).scripts/setup_quickstart.shUse least-privilege credentials for every provider:
OPENCLAW_GATEWAY_TOKEN if you need brain-in-the-loop lookups; keep token scope minimal.runtime/package-lock.json; review dependency changes before publishing updates.These controls reduce blast radius if a host or config file is exposed.
AMBER_ENABLE_OUTBOUND_CALLS=false to disable the outbound call endpoint.make_call), confirmation is enforced at the MCP server layer in code (the tool returns a preview and requires confirmed=true on a second call before dialing) — this is not LLM-only instruction. The LLM instruction layer provides an additional reminder, but the code gate is the primary enforcement mechanism.ask_openclaw is slow/unavailable.Confirm scope for V1
Document architecture + limits
references/architecture.md.Run release checklist
references/release-checklist.md.Smoke-check runtime assumptions
scripts/validate_voice_env.sh on the target host.Publish
clawhub publish <skill-folder> --slug amber-voice-assistant --name "Amber Voice Assistant" --version 1.0.0 --tags latest --changelog "Initial public release"Ship updates
1.0.1, 1.1.0, 2.0.0) with changelogs.latest on the recommended version..env values and re-run scripts/validate_voice_env.sh.runtime/, with dependencies pinned in runtime/package-lock.json.better-sqlite3 (native module), which compiles locally on your machine.runtime/package.json dependencies before deployment in regulated environments.runtime/ (full source + README)references/architecture.mdreferences/release-checklist.mdreferences/env.examplescripts/setup_quickstart.shscripts/validate_voice_env.sh