# Give your OpenClaw agent its own phone number

- **URL:** https://agentline.cloud/build/openclaw
- **Runtime:** OpenClaw
- **Keywords:** OpenClaw phone number, OpenClaw voice calling, phone number for AI agents, OpenClaw SMS, agentic calling

AgentLine is the fastest way to give an OpenClaw agent a real US or Canadian number. Outbound calls, inbound voice, and an SMS inbox — installed as a skill, not a telecom project.

## One skill file

Drop the AgentLine skill into OpenClaw. The installer detects the runtime, starts a persistent relay, and your agent can dial, answer, and read inbound SMS.

```
Get yourself a phone number and call me. Follow https://agentline.cloud/skill.md
```

## Why OpenClaw needs its own number

### Native skill, not a Twilio project

OpenClaw already runs tools. AgentLine is one more: numbers, calls, transcripts, and live utterance events over the relay.

### A number the agent owns

Each agent gets its own E.164 identity. It never borrows your cell phone or a shared call-center trunk.

### Live turns, not voicemail dumps

The persistent relay streams call.utterance so OpenClaw can push context while the caller is still on the line.

## Python

```python
from agentline import AgentLine

client = AgentLine(api_key="al_live_...")

agent = client.agents.create(
    name="Voice Agent",
    system_prompt="You are a helpful voice agent. Keep spoken turns under 15 words.",
    initial_greeting="Hey, this is your agent. How can I help?",
    voice_id="female-1",
)

number = client.numbers.buy(agent_id=agent.id, country="US", area_code="415")
call = client.calls.create(agent_id=agent.id, to="+14155557890")
print("Number:", number)
print("Call:", call)
```

## Node.js

```ts
import AgentLine from "agentline";

const client = new AgentLine({ apiKey: "al_live_..." });

const agent = await client.agents.create({
  name: "Voice Agent",
  systemPrompt: "You are a helpful voice agent. Keep spoken turns under 15 words.",
  initialGreeting: "Hey, this is your agent. How can I help?",
  voiceId: "female-1",
});

const number = await client.numbers.buy({
  agentId: agent.id,
  country: "US",
  areaCode: "415",
});
const call = await client.calls.create({
  agentId: agent.id,
  to: "+14155557890",
});
console.log("Number:", number);
console.log("Call:", call);
```

## FAQ

**Does AgentLine work with OpenClaw?**

Yes. Install https://agentline.cloud/skill.md, set AGENTLINE_API_KEY, create an agent, and buy a number. OpenClaw can then place and receive calls.

**Do I need to configure Twilio or SIP?**

No. AgentLine handles number provisioning, transcription, and voice. OpenClaw only reads and writes text.

**Can OpenClaw receive SMS too?**

Inbound SMS lands as sms.received on the same number. Outbound SMS is not enabled.
