# Send phone calling to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "phone-calling",
    "name": "phone calling",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/adisahani/phone-calling",
    "canonicalUrl": "https://clawhub.ai/adisahani/phone-calling",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/phone-calling",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=phone-calling",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "CHANGELOG.md",
      "openapi.json",
      "ringez-api-spec.md",
      "ringez-implementation-guide.md",
      "ringez-quickstart-guide.md",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "phone-calling",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T02:25:12.417Z",
      "expiresAt": "2026-05-09T02:25:12.417Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=phone-calling",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=phone-calling",
        "contentDisposition": "attachment; filename=\"phone-calling-1.0.7.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "phone-calling"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/phone-calling"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/phone-calling",
    "downloadUrl": "https://openagent3.xyz/downloads/phone-calling",
    "agentUrl": "https://openagent3.xyz/skills/phone-calling/agent",
    "manifestUrl": "https://openagent3.xyz/skills/phone-calling/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/phone-calling/agent.md"
  }
}
```
## Documentation

### Ringez Phone Calling API

Make affordable international phone calls from anywhere. No hidden fees, no subscriptions — just pay for the minutes you use.

### What is Ringez?

Ringez is a simple, privacy-focused international calling service that lets you make phone calls to 200+ countries without complicated setups or expensive plans.

Perfect for:

Calling family abroad
Business calls to international clients
AI agents making reservations or appointments
Quick calls without buying a calling plan

### 1. Create an Account

First, check if your email is already registered:

POST https://ringez-api.vercel.app/api/v1/auth/check-email
Content-Type: application/json

{"email": "you@example.com"}

Response:

new_user → Continue to OTP verification
existing_user → Login with password

For New Users: Verify with OTP

Step 1: Request OTP

POST https://ringez-api.vercel.app/api/v1/auth/send-otp
Content-Type: application/json

{"email": "you@example.com"}

Step 2: Verify OTP

POST https://ringez-api.vercel.app/api/v1/auth/verify-otp
Content-Type: application/json

{
  "email": "you@example.com",
  "otp": "123456"
}

Response:

{
  "session_id": "sess_abc123xyz",
  "user": {
    "email": "you@example.com",
    "balance_minutes": 5
  }
}

Save the session_id — you will need it for all API calls.

For Existing Users: Login

POST https://ringez-api.vercel.app/api/v1/auth/login
Content-Type: application/json

{
  "email": "you@example.com",
  "password": "your-password"
}

### 2. Check Your Balance

See how many minutes you have before making a call:

GET https://ringez-api.vercel.app/api/v1/auth/me
X-Session-ID: sess_abc123xyz

Response:

{
  "balance_minutes": 5,
  "balance_usd": 0,
  "email": "you@example.com"
}

### 3. Make a Phone Call

Use the idempotency_key to prevent accidental duplicate calls:

POST https://ringez-api.vercel.app/api/v1/calls/initiate
X-Session-ID: sess_abc123xyz
Content-Type: application/json

{
  "to_number": "+919876543210",
  "idempotency_key": "sess_abc123xyz_1700000000000_xyz789"
}

Response (Success):

{
  "call_id": "call_xyz789",
  "status": "initiated",
  "mode": "bridge",
  "to_number": "+919876543210",
  "from_number": "+17623713590",
  "twilio_call_sid": "CAxxxxx"
}

Response (Duplicate Call):

{
  "alreadyInitiated": true,
  "callSid": "CAxxxxx"
}

### Call Modes Explained

Ringez supports two ways to make calls:

### Bridge Mode (Default)

How it works: Calls your phone first, then connects you to the destination
Best for: Personal calls where you want to talk
Your phone: Will ring first

### Direct Mode

How it works: Calls the destination directly
Best for: AI agents, automated calls, or when you do not want your phone to ring
Your phone: Does not ring

Force Direct Mode:

POST /api/v1/calls/initiate
X-Session-ID: sess_abc123xyz
Content-Type: application/json

{
  "to_number": "+919876543210",
  "mode": "direct"
}

### Preventing Duplicate Calls

When making calls through an API, network delays or retries can accidentally create multiple calls. Use an idempotency key to prevent this.

### What is an Idempotency Key?

A unique identifier for each call attempt. If you use the same key within 5 minutes, the API returns the original call instead of creating a new one.

### How to Use It

Generate a unique key for each user action:

const idempotencyKey = \`${sessionId}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}\`;
// Example: sess_abc123_1700000000000_xyz789abc

### Important Notes

5-minute window: Same key within 5 minutes returns the existing call
After 5 minutes: Same key creates a new call
Generate fresh keys: Create a new key for each button click, not for API retries
Response: If duplicate detected, you get {alreadyInitiated: true, callSid: "..."}

### Pricing

Pay only for what you use. No monthly fees, no subscriptions.

### USD Plans

PlanPriceMinutesRate per MinuteStarter$530$0.17Popular$15120$0.13Best Value$30300$0.10

### INR Plans

PlanPriceMinutesRate per MinuteStarter₹997₹14/minPopular₹19919₹10/minValue₹49960₹8/minPower₹999143₹7/min

Billing: Rounded up to the nearest minute. A 2-minute 30-second call = 3 minutes charged.

### Check Call Status

See if your call is still ringing, connected, or completed:

GET https://ringez-api.vercel.app/api/v1/calls/call_xyz789
X-Session-ID: sess_abc123xyz

Response:

{
  "call_id": "call_xyz789",
  "status": "in-progress",
  "duration": 120,
  "estimated_cost": {
    "minutes": 2,
    "amount": 0.25,
    "currency": "USD"
  }
}

### End a Call Early

Hang up a call before it finishes:

DELETE https://ringez-api.vercel.app/api/v1/calls/call_xyz789
X-Session-ID: sess_abc123xyz

### Navigate Phone Menus (DTMF)

Press numbers during a call (useful for bank menus, customer support):

POST https://ringez-api.vercel.app/api/v1/calls/call_xyz789/actions
X-Session-ID: sess_abc123xyz
Content-Type: application/json

{
  "action": "dtmf",
  "parameters": {
    "digits": "1"
  }
}

Common DTMF uses:

{"digits": "1"} — Press 1 for English
{"digits": "1234"} — Enter PIN
{"digits": "w"} — Wait 0.5 seconds

### Call History

See your past calls:

GET https://ringez-api.vercel.app/api/v1/calls?limit=10&offset=0
X-Session-ID: sess_abc123xyz

Response:

{
  "calls": [
    {
      "call_id": "call_abc123",
      "to_number": "+919876543210",
      "status": "completed",
      "duration": 300,
      "cost": 0.375,
      "started_at": "2026-02-09T10:00:00Z"
    }
  ],
  "pagination": {
    "total": 25,
    "has_more": true
  }
}

### Personal Call to Family

User: Call my mom in India
AI: I will help you call India. First, let me check your balance...
      You have 15 minutes available.
      Calling +91 98765 43210 now...
      
AI: Your phone is ringing. Pick up and I will connect you.

### AI Agent Making a Reservation

User: Book a table at Taj Restaurant for 7 PM
AI: I will call Taj Restaurant for you.
      
      [AI uses direct mode — your phone does not ring]
      
AI: Calling +91 12345 67890...
      
AI: Hello, I would like to make a reservation for 2 people at 7 PM today.
      
AI: ✅ Reservation confirmed! Table for 2 at 7 PM under your name.

### Free Minutes

New accounts get 5 free minutes to test the service. These are for testing only — please add credits for regular use.

### Adding Credits

This skill cannot add credits. To add minutes:

Visit: https://ringez.com/wallet
Pay with PayPal (USD) or UPI (INR)
Credits appear instantly

Why? Payment processing requires secure browser redirects and PCI compliance that APIs cannot handle.

### Low Balance Handling

If someone tries to call with insufficient balance:

AI: Let me check your balance...
      
      You have 0 minutes left. You will need to add credits first.
      
      💳 Add credits at: https://ringez.com/wallet
      
      The rates are:
      • USA: $0.05/min
      • India: $0.08/min
      • UK: $0.06/min
      
      Come back after adding credits and I will make that call!

### API Reference Quick Reference

ActionMethodEndpointHeadersCheck EmailPOST/auth/check-emailContent-TypeSend OTPPOST/auth/send-otpContent-TypeVerify OTPPOST/auth/verify-otpContent-TypeLoginPOST/auth/loginContent-TypeCheck BalanceGET/auth/meX-Session-IDMake CallPOST/calls/initiateX-Session-ID, Content-TypeCall StatusGET/calls/:call_idX-Session-IDEnd CallDELETE/calls/:call_idX-Session-IDCall HistoryGET/callsX-Session-IDDTMF/ActionsPOST/calls/:call_id/actionsX-Session-ID, Content-Type

### Support

Need help? Contact us at support@ringez.com

About Ringez: Built by an independent creator, not a big corporation. Your support keeps the service running! 🙏
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: adisahani
- Version: 1.0.7
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-02T02:25:12.417Z
- Expires at: 2026-05-09T02:25:12.417Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/phone-calling)
- [Send to Agent page](https://openagent3.xyz/skills/phone-calling/agent)
- [JSON manifest](https://openagent3.xyz/skills/phone-calling/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/phone-calling/agent.md)
- [Download page](https://openagent3.xyz/downloads/phone-calling)