> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pyai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenClaw: Hear, Speak, Recap and Calling

> Install four live PyAI skills from ClawHub. Transcribe recordings, create speech, retrieve conversation summaries and prepare user-approved phone calls.

Give OpenClaw speech input, spoken output, useful conversation notes and phone calls you approve. Choose the skills your workflow needs; each uses the **official PyAI CLI** with your selected PyAI project.

[Explore the skills and example prompts](https://pyai.com/integrations/openclaw) or [create your PyAI account](https://console.pyai.com/playground?signup=1\&path=api\&utm_source=docs.pyai.com\&utm_medium=guide\&utm_campaign=openclaw\&utm_content=general\&intent=openclaw).

## Choose your skill

| Skill | Use it for | Live version | ClawHub |
| - | - | - | - |
| Hear | Transcribe supplied recordings, voice notes and interviews | 1.0.0 | [Install Hear](https://clawhub.ai/atomsai/skills/pyai-hear) |
| Speak | Turn supplied text into a spoken answer or audio file | 1.0.0 | [Install Speak](https://clawhub.ai/atomsai/skills/pyai-speak) |
| Recap | Retrieve summaries or submit suitable timed customer/agent utterances | 1.0.1 | [Install Recap](https://clawhub.ai/atomsai/skills/pyai-recap) |
| Calling | Preview, authorize and place a phone call; inspect its returned status | 1.0.0 | [Install Calling](https://clawhub.ai/atomsai/skills/pyai-calling) |

## Connect your account

1. Install OpenClaw and the [official PyAI CLI](https://docs.pyai.com/guides/cli.md).
2. Run `pyai login` and complete browser sign-in. Run `pyai whoami --json` to check the selected project and scopes. Never paste credentials into an assistant conversation.
3. Run the install command for each skill you want. A skill installation does not create a remote MCP connection, fund a project or authorize processing or calls.
4. Start a new OpenClaw session if newly installed skills are not visible.

```bash theme={null}
openclaw skills install @atomsai/pyai-hear
openclaw skills install @atomsai/pyai-speak
openclaw skills install @atomsai/pyai-recap
openclaw skills install @atomsai/pyai-calling
```

These are skill names, not new `pyai-hear` or `pyai-recap` executables. The assistant runs the `pyai` CLI according to the installed skill.

## First useful workflows

### Hear: a recording becomes text

Supply a short audio file you are authorized to process, then ask:

> Use PyAI Hear to transcribe this recording. Return the transcript and mark uncertain words.

Expect the actual transcript, plus segments or timestamps when returned. Local transcription needs `hear:transcribe`; asynchronous URL jobs also need `transcribe:jobs`. This skill processes supplied audio; it does not continuously listen to your microphone. [Hear guide](https://docs.pyai.com/guides/hear-overview.md).

### Speak: text becomes an audio file

> Use PyAI Speak to read “Your appointment is confirmed for tomorrow at ten.” Save the audio and tell me where it is.

Expect a real output file from Speak, not a simulated playback response. Choose a supported stock voice or a voice you have permission to use. Generation needs `speak:synthesize`; audio playback depends on the OpenClaw host. [Speak guide](https://docs.pyai.com/guides/speak-overview.md).

### Recap: a conversation gets a useful handoff

Supply a known Recap call ID, then ask:

> Use PyAI Recap to retrieve this call's summary and action items. Do not send follow-ups or create tasks.

Recap must be enabled and the project must allow `recap:read`. A new recap needs supplied utterances with `speaker_role`, `text`, `offset_s` and `duration_s`. Preserve customer/agent roles and timing; do not fabricate missing values or automatically assign meeting participants to these roles. A plain Hear transcript may need preparation before Recap can accept it.

The successful status is `complete`, with the result in the nested `record` object. Pending processing is not a finished summary. [Recap guide](https://docs.pyai.com/guides/recap-call-intelligence.md).

### Calling: preview first, dial with approval

> Use PyAI Calling to prepare a call to the number I provide. Ask for the purpose, caller number and agent. Show me the preview and wait for approval before dialing.

Calling requires an eligible project, `telephony:manage`, an owned caller number, a configured agent and credits. Sandbox access alone cannot place a real call. Confirm the destination, caller number, purpose, agent and duration limit. A dry run does not dial or prove that a real call will succeed.

After authorization, the assistant places the call and reports its returned status. Use returned artifact IDs for available summaries and transcripts; do not substitute a telephony request ID for a Recap ID. `omni:read` is needed for managed-call summary/transcript access. An uncertain timeout must not trigger an automatic redial. [Calling setup and contract](https://pyai.com/agents/speech-calling.md).

## Usage and privacy

Audio and supplied transcripts go to the selected PyAI project for processing. Use only inputs you have permission to process, keep credentials and private artifacts out of chat logs or public repositories, and authorize any onward sharing separately. Installing a skill does not authorize number purchases, CRM changes or sending follow-ups.

Processing and real calls can consume usage. See [current pricing and billing](https://pyai.com/pricing); OpenClaw model and hosting costs are separate.

## If the first request does not complete

* **Skill unavailable:** verify installation and open a fresh OpenClaw session.
* **Sign-in or permission error:** inspect `pyai whoami --json` and confirm the intended project. Stop rather than repeatedly submitting.
* **Missing CLI command:** check `pyai --version` and update through the [CLI guide](https://docs.pyai.com/guides/cli.md).
* **Pending job or recap:** keep its returned ID, wait within a bounded deadline, and read its status. Do not create a duplicate job.
* **Credits or budget limit:** inspect the project's billing settings before trying again. No automatic top-up or plan change.

Using a different assistant? See [remote MCP setup](https://docs.pyai.com/guides/mcp.md). Building a realtime voice app? Use the [LiveKit](https://docs.pyai.com/guides/livekit-agents.md) or [Pipecat](https://docs.pyai.com/guides/pipecat.md) speech adapters.

## Start with a specific skill

Create your PyAI account for [Hear](https://console.pyai.com/playground?signup=1\&path=api\&utm_source=docs.pyai.com\&utm_medium=guide\&utm_campaign=openclaw\&utm_content=hear), [Speak](https://console.pyai.com/playground?signup=1\&path=api\&utm_source=docs.pyai.com\&utm_medium=guide\&utm_campaign=openclaw\&utm_content=speak), [Recap](https://console.pyai.com/playground?signup=1\&path=api\&utm_source=docs.pyai.com\&utm_medium=guide\&utm_campaign=openclaw\&utm_content=recap) or [Calling](https://console.pyai.com/playground?signup=1\&path=api\&utm_source=docs.pyai.com\&utm_medium=guide\&utm_campaign=openclaw\&utm_content=calling). Use the setup steps above to connect the intended project and permissions.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.