Use Rymi from your AI agent
Your AI agent (Claude, ChatGPT, or one you built) can make real phone calls through Rymi. It connects to the hosted MCP server or API, places a call through an opted-in agent with plain instructions, and reads back the answers as fields.
Use this when another agent runs the work and needs a phone call as one step: confirm an appointment, remind someone of a payment, ask a supplier for a delivery date.
Connect
- In your AI client, add a custom connector with the URL
https://mcp.rymi.live/mcp. - Sign in with your Rymi account when the client opens the sign-in page. No API key is needed.
- The client lists Rymi's tools. What it sees depends on your role in the workspace; see MCP server.
For a server-side agent, use a secret key instead. See Quickstart: API key.
Make a task call
Task calls go only through an agent you specify with task calls enabled (features.task_calls_enabled: true). Nothing is auto-created.
- Find an opted-in agent in your workspace:
- Call
list_agentsover MCP and look for an agent withfeatures.task_calls_enabled: true, or check Call behavior → Task calls in Studio.
- Call
- Your agent calls
place_task_callwith:agent_id: the ID of your opted-in agentto: the destination number in strict E.164 format, for example+919812345678on_behalf_of: the business or person the call is for, spoken in the first lineinstructions: what the call must do, up to 4,000 charactersreturn_fields: up to 20 fields to extract, each with aname(snake_case), adescriptionand an optionaltype(string,numberorboolean)- optional
opening_lineandfrom_number
- Rymi dials the number through your agent. The call speaks the opener, then follows your instructions.
- Your agent calls
wait_for_callwith the returnedcall_id. It waits up totimeout_sseconds (5 to 240, default 90) and returns the status, a summary and your extracted fields. If the call is still running, it returnsdone: false; call it again.
An example prompt:
"Using agent 550e8400-e29b-41d4-a716-446655440000, call +919812345678 for Sharma Clinic. Confirm their appointment tomorrow at 10 AM and ask how many people are coming. Give me booked and party_size."
The agent chains place_task_call → wait_for_call and gets back:
{
"done": true,
"status": "completed",
"duration_seconds": 48,
"summary": "Caller confirmed the 10 AM appointment for two people.",
"fields": { "booked": true, "party_size": 2 }
}Recommended task-agent recipe
Because task callers take dynamic call variables and custom prompts, create them in Studio or with create_agent using this recipe:
1. Stack and voice
For India (Hinglish and English):
- LLM: OpenAI
gpt-4.1(orgpt-4o) - STT: Sarvam Saaras v4 (
saaras:v4) - TTS: Sarvam Bulbul v3 (
bulbul:v3) with voicepriya - Fallback stack: STT
sarvam(saaras:v3), LLMopenai(gpt-4o)
2. Prompt mode and playbook
In Advanced Settings, set Prompt Mode to Raw prompt.
In Playbook:
- Opener:
{{opening_line}} - Call variables declared:
task_instructions: What this call must doon_behalf_of: Business or person the call is foropening_line: First line spoken
3. System prompt
# Task call for {{on_behalf_of}}
You are a polite, warm Indian assistant making a short phone call for {{on_behalf_of}}.
Speak natural Hinglish: Hindi in Devanagari, English words in English. Use "आप" and "जी".
If the person speaks English, reply in English. Keep every reply to one or two short lines.
The opening line has already been spoken. Do not repeat it.
# Rules you always follow
- You are an AI assistant calling on behalf of {{on_behalf_of}}. If asked, say so plainly. Never claim to be human.
- Never ask for OTPs, passwords, card or bank details, or Aadhaar.
- Never share the owner's personal details (personal phone number, private email, home address, or private notes).
- If the person says not to call, or it is a wrong number: apologise briefly and call end_call at once.
- Never invent facts, prices, dates or promises. If you do not know, say {{on_behalf_of}} will get back to them.
- Ask one short question at a time. Repeat numbers, names and dates back to confirm them.
- When the task is done: recap in one or two lines, say a short goodbye, then call end_call.
- After your goodbye, if they say bye/ok/thank you, call end_call immediately without repeating yourself.
# Your task
{{task_instructions}}4. Enable task calls and publish
In Call behavior:
- Toggle Allow task calls on (
features.task_calls_enabled: true). - Keep call recording, transcription, and consent disclosures enabled.
- Click Publish.
Limits
- The agent must be published and have
features.task_calls_enabled: true. - The call needs a caller ID: a number attached to the agent, or
from_numberregistered to the workspace. - Workspace compliance settings apply: calling hours, the do-not-call check, and voice consent. See Compliance settings.
- Calls are billed to the workspace in credits, like any other call. A call lasts at most 10 minutes.
Errors
| Error | Code | Cause |
|---|---|---|
404 Not Found | agent_not_found | The agent does not exist in the caller's workspace |
403 Forbidden | task_calls_disabled | The agent does not have features.task_calls_enabled: true |
409 Conflict | agent_not_published | The agent has no published snapshot |
400 Bad Request | invalid_request | to is not E.164, agent_id is missing, or duplicate return_fields names |
outside_calling_hours | The callee's local time is outside the workspace's calling hours | |
no_voice_consent | The workspace requires recorded voice consent for this number | |
destination_not_allowed | The destination country is not allowed in compliance settings | |
insufficient_credits (402) | The workspace, or the account paying for it, has no credits left | |
client_spend_cap_reached (402) | The workspace hit its monthly spend cap | |
done: false from wait_for_call | The call or its post-call results are not ready yet; call wait_for_call again |

