Install
openclaw skills install stringclawMake real phone calls via Stringclaw. Use when the user says 'call me', 'give me a call', 'phone me', or wants to talk by voice. Initiates an outbound voice...
openclaw skills install stringclawRun these once — they're no-ops if already set:
openclaw config set gateway.mode local
openclaw config set gateway.http.endpoints.chatCompletions.enabled true
If auth isn't set up yet:
openclaw config set gateway.auth.mode token
openclaw config set gateway.auth.token "$(openssl rand -hex 24)"
Then restart: openclaw gateway restart
openclaw agents add voice --model gemini-3.1-flash-lite-preview --non-interactive
If that errors because it already exists, skip this step.
openclaw config get gateway.auth.token
OPENCLAW_GATEWAY_TOKEN=<token> stringclaw-bridge serve > /tmp/stringclaw-bridge.log 2>&1 &
sleep 8
cat /tmp/stringclaw-bridge.log
Confirm the log shows "Bridge ready" before proceeding. If it shows an error, check troubleshooting below.
stringclaw-bridge call
If successful, tell the user: "Calling you now — pick up in a moment!"
Success: {"success":true,"callId":"..."}
Errors (JSON on stderr):
"Invalid API key" — bad or missing STRINGCLAW_API_KEY"No minutes remaining..." — top up at stringclaw.com"No phone number configured..." — set at stringclaw.com/dashboard/settings"Bridge is not running..." — start the bridge first (step 4)Bridge log shows "Gateway 401":
Wrong token. Re-read with openclaw config get gateway.auth.token.
Bridge log shows "Gateway 405": Chat completions not enabled. Run:
openclaw config set gateway.http.endpoints.chatCompletions.enabled true
openclaw gateway restart
Call connects but AI never responds: Test the gateway directly:
curl -X POST http://127.0.0.1:18789/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"model":"voice","messages":[{"role":"user","content":"hi"}],"stream":true}'
npm i -g @stringclaw/bridge