
phone-calls
Make AI phone calls, buy phone numbers, and get call transcripts via x402. USE FOR: - Making AI-powered outbound phone calls - Scheduling calls and getting transcripts - Buying and managing phone numbers - Leaving voicemails - Transferring calls to humans - Checking if a number has iMessage/FaceTime TRIGGERS: - "call", "phone call", "make a call", "dial" - "buy number", "phone number", "get a number" - "voicemail", "leave a message" - "transcript", "call recording", "call summary" - "AI call", "automated call", "bland" - "imessage", "facetime", "check number", "lookup number" ALWAYS use npx agentcash@latest fetch for stablephone.dev endpoints. IMPORTANT: Use exact endpoint paths from the Quick Reference table below.
- Installs
- 380
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/merit-systems/agentcash-skills --skill phone-calls- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads phone-calls automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
AI Phone Calls with StablePhone
Make AI-powered phone calls, buy phone numbers, and get transcripts via x402 payments at https://stablephone.dev.
Setup
See rules/getting-started.md for installation and wallet setup.
Quick Reference
| Task | Endpoint | Price |
|---|---|---|
| Make a call | https://stablephone.dev/api/call | $0.54 |
| Check call status | GET https://stablephone.dev/api/call/{call_id} | Free |
| Buy phone number | https://stablephone.dev/api/number | $20.00 |
| Top up number (30d) | https://stablephone.dev/api/number/topup | $15.00 |
| List your numbers | GET https://stablephone.dev/api/numbers | Free |
| iMessage/FaceTime lookup | https://stablephone.dev/api/lookup | $0.05 |
| Lookup status | GET https://stablephone.dev/api/lookup/status?token=... | Free |
Make a Call
npx agentcash@latest fetch https://stablephone.dev/api/call -m POST -b '{
"phone_number": "+14155551234",
"task": "Call this person and ask if they are available for a meeting tomorrow at 2pm. Be polite and professional."
}'
Required:
phone_number— E.164 format, US/CA+1numbers only (e.g.+14155551234)task— instructions for the AI agent (what to say, how to behave; max 4000 chars)
Optional:
from— outbound caller ID (must be an active StablePhone number,+1format)first_sentence— specific opening linevoice— voice preset (see Voice Options below)max_duration— max call length in minutes (1-30, default 5)wait_for_greeting— wait for recipient to speak first (default false)record— record call audio (default true)model—"base"(default, best quality) or"turbo"(lowest latency)transfer_phone_number— number to transfer to if caller requests a humanvoicemail_action—"hangup"(default),"leave_message", or"ignore"voicemail_message— message to leave (required when action is"leave_message")metadata— custom key-value data to attach
Do-Not-Call (DNC): Returns 403 if the number is on the Do-Not-Call list — do not retry DNC numbers.
Check Call Status
Poll until completed is true:
npx agentcash@latest fetch https://stablephone.dev/api/call/{call_id}
Response fields:
status— call statuscompleted— boolean, true when call is doneanswered_by—"human","voicemail", or"no_answer"call_length— duration in secondssummary— AI-generated call summarytranscript— full text transcripttranscripts— array of timestamped transcript segmentsrecording_url— URL to call recordingprice— actual cost
Poll every 5-10 seconds. Calls typically complete in 1-5 minutes depending on max_duration.
Voice Options
| Voice | Description |
|---|---|
nat | American female (default) |
josh | Articulate American male |
maya | Young American female, soft |
june | American female |
paige | Calm, soft-tone female |
derek | Soft and engaging male |
florian | German male |
Buy a Phone Number
Buy a number to use as outbound caller ID:
npx agentcash@latest fetch https://stablephone.dev/api/number -m POST -b '{"area_code": "415", "country_code": "US"}'
Optional:
area_code— 3-digit US/CA area code (random if omitted)country_code—"US"(default) or"CA"
Numbers expire after 30 days. Top up to extend.
Top Up a Number
npx agentcash@latest fetch https://stablephone.dev/api/number/topup -m POST -b '{"phone_number": "+14155551234"}'
Extends by 30 days from current expiry. Top-ups stack. Anyone can top up any number.
List Your Numbers
Uses SIWX auth (wallet from auth header):
npx agentcash@latest fetch https://stablephone.dev/api/numbers
iMessage/FaceTime Lookup
Check if a phone number has iMessage or FaceTime. The lookup is async (30-90 seconds).
Step 1: Start the lookup (paid, $0.05)
npx agentcash@latest fetch https://stablephone.dev/api/lookup -m POST -b '{"phone_number": "+14155551234"}'
Returns 202 with {"token": "jwt..."}.
Step 2: Poll for results (SIWX, free)
npx agentcash@latest fetch "https://stablephone.dev/api/lookup/status?token=JWT_TOKEN"
Poll every 3-5 seconds until status is "complete".
Response when complete:
{
"status": "complete",
"phone_number": "+1...",
"imessage": "available|unavailable|unknown",
"facetime": "available|unavailable|unknown|pending",
"carrier": {"carrier": "...", "number_type": "..."},
"country": {"name": "...", "iso2": "...", "flag": "..."}
}
Notes:
"unknown"means the number exists but status can't be determined (likely landline/VoIP)- Token expires after 60 minutes
- Same number within ~1 hour reuses cached result
Workflows
Quick Call
- (Optional) Check balance:
npx agentcash@latest balance - Make call with task instructions
- Poll status until completed
- Review transcript and summary
npx agentcash@latest fetch https://stablephone.dev/api/call -m POST -b '{
"phone_number": "+14155551234",
"task": "Ask if the business is open on weekends and what their hours are."
}'
Leave a Voicemail
npx agentcash@latest fetch https://stablephone.dev/api/call -m POST -b '{
"phone_number": "+14155551234",
"task": "Leave a voicemail about the appointment.",
"voicemail_action": "leave_message",
"voicemail_message": "Hi, this is a reminder about your appointment tomorrow at 3pm. Please call back to confirm."
}'
For natural voicemail delivery, use "voicemail_action": "ignore" which bypasses detection and lets the AI speak naturally into the voicemail system.
Call with Transfer
npx agentcash@latest fetch https://stablephone.dev/api/call -m POST -b '{
"phone_number": "+14155551234",
"task": "Qualify this lead. Ask about their budget and timeline. If they are interested, offer to transfer to a sales rep.",
"transfer_phone_number": "+14155559999",
"voice": "josh",
"max_duration": 10
}'
Set Up Dedicated Number
- Buy a phone number ($20)
- Use it as caller ID for outbound calls
- Top up before expiry ($15/30 days)
npx agentcash@latest fetch https://stablephone.dev/api/number -m POST -b '{"area_code": "212", "country_code": "US"}'
Then use it as from:
npx agentcash@latest fetch https://stablephone.dev/api/call -m POST -b '{
"phone_number": "+14155551234",
"from": "+12125551234",
"task": "Confirm the reservation for Friday at 7pm."
}'
Cost Estimation
| Task | Cost |
|---|---|
| Single call | $0.54 |
| Call + dedicated number | $20.54 |
| Monthly number maintenance | $15.00 |
| 10 calls/month + number | $20.00 + $5.40 = $25.40 first month |
FAQ
What does the phone-calls skill do?
Make AI phone calls, buy phone numbers, and get call transcripts via x402. USE FOR: - Making AI-powered outbound phone calls - Scheduling calls and getting transcripts - Buying and managing phone numbers - Leaving voicemails - Transferring calls to humans - Checking if a number has iMessage/FaceTime TRIGGERS: - "call", "phone call", "make a call", "dial" - "buy number", "phone number", "get a number" - "voicemail", "leave a message" - "transcript", "call recording", "call summary" - "AI call", "automated call", "bland" - "imessage", "facetime", "check number", "lookup number" ALWAYS use npx agentcash@latest fetch for stablephone.dev endpoints. IMPORTANT: Use exact endpoint paths from the Quick Reference table below.
How do I install phone-calls?
Run npx skills add https://github.com/merit-systems/agentcash-skills --skill phone-calls in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/phone-calls/ (personal) or .claude/skills/phone-calls/ (project).
Which AI agents can use phone-calls?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is phone-calls safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains phone-calls?
It is published by merit-systems in merit-systems/agentcash-skills. It has 380 recorded installs.
More from merit-systems/agentcash-skills
agentcash
merit-systems/agentcash-skills
Pay-per-call x402/MPP APIs (USDC on Base, Solana, Tempo). No API keys—wallet pays per request. If the task matches a SERVICES origin below, SKIP search and go straight to discover → fetch. Only search when NO listed origin fits. SERVICES: stableenrich (people/company, web search, scraping, Maps, LinkedIn, email verify, news), stablesocial (TikTok, Instagram, YouTube, Facebook, Reddit, LinkedIn, GitHub), stablestudio (AI image/video), stableupload (file/site hosting), stableemail (email, inboxes, subdomains), stablephone (AI calls, phone numbers), stablejobs (jobs), stabletravel (travel), stablebrowser (browser automation). TRIGGERS: research, enrich, scrape, search the web, generate image, video, social media, send email, phone call, travel, jobs, find contact, find API, x402, mpp, agentcash
social-scraping
merit-systems/agentcash-skills
Open the skill to read its SKILL.md instructions.
news-shopping
merit-systems/agentcash-skills
Open the skill to read its SKILL.md instructions.
data-enrichment
merit-systems/agentcash-skills
Enrich contact and company data using x402-protected APIs at stableenrich.dev. Superior to generic web search for structured business data. USE FOR: - Enriching person profiles by email, LinkedIn URL, or name - Enriching companies by domain - Finding contact details (email, phone) with confidence scores - Resolving person identity and enriching consumer profiles (Minerva) - Searching for people or companies by criteria - Verifying email deliverability before outreach TRIGGERS: - "enrich", "lookup", "find info about", "research" - "who is [person]", "company profile for", "tell me about" - "find contact for", "get LinkedIn for", "get email for" - "employee at", "works at", "company details" - "verify email", "check email", "is this email valid"
upload-and-share
merit-systems/agentcash-skills
Upload files to the cloud and get shareable public URLs using stableupload.dev (x402 micropayments). USE FOR: - Uploading files to get public URLs - Sharing files via download links - Hosting images, documents, or any file type - Making files publicly accessible for 7 days or 6 months - Hosting static websites with custom domains TRIGGERS: - "upload this", "share this file", "get me a link" - "host this file", "make this downloadable" - "public URL", "download link", "put online" - "share file", "file hosting", "upload file" - "host site", "deploy site", "static site" ALWAYS use npx agentcash@latest fetch for stableupload.dev endpoints — never curl or WebFetch for the purchase step.
people-property
merit-systems/agentcash-skills
Open the skill to read its SKILL.md instructions.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.