10 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.
Add a voicemail recording from a URL
rvm.add_recording_from_urlwriteconfirm
Save an existing audio file as a reusable voicemail recording by fetching it from a public URL (the machine-surface equivalent of the app's upload button — binary uploads can't ride a tool call). TWILIO FORMAT RULE: the file must be MP3, WAV, GSM, µ-law or AIFF; m4a/aac/webm fail the drop with Twilio error 12300, so they're refused here. Voicemails must be 55 seconds or shorter. THIS MAKES AN OUTBOUND REQUEST FROM CHIRPLY'S SERVERS to whatever address is given, so everything in the URL — host, path, query string — is disclosed to whoever operates it. That is why it asks for confirmation.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
url
string (uri)
required
Public URL of the audio file to fetch and store. Chirply's servers fetch this address directly.
label
string
optional
Name shown in the recordings list.
duration_seconds
integer
optional
Clip length in seconds, if known. Must be 55 or less.
Over MCP the same operation is the tool rvm_add_recording_from_url at https://app.chirply.io/api/mcp, same bearer token, same input.
Cancel a voicemail campaign
rvm.cancel_campaignwriteconfirm
Stop a voicemail campaign: any drop that hasn't gone out yet is skipped and the campaign is marked canceled. Voicemails already delivered can't be recalled, and a canceled campaign can't be resumed.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool rvm_cancel_campaign at https://app.chirply.io/api/mcp, same bearer token, same input.
Send a ringless voicemail campaign
rvm.create_campaignwriteconfirm
Create and send a ringless-voicemail campaign to contacts and/or saved lists. THIS DROPS REAL VOICEMAILS: each recipient costs two outbound Twilio calls (a filter call plus the voicemail leg) billed to the account, and 'now' fans out immediately. Needs a saved recording (rvm.generate_recording or rvm.add_recording_from_url) and TWO DIFFERENT active numbers — a filter number and a from number. Do-not-contact is always enforced; quiet hours only when scheduled and explicitly asked for.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
name
string
optional
Campaign name. Defaults to 'Ringless voicemail'.
audio_asset_id
string (uuid)
required
The saved voicemail recording to drop.
filter_number_id
string (uuid)
required
Number that places the filter call (seizes the line).
from_number_id
string (uuid)
required
Number the voicemail appears to come from. Must differ from the filter number.
contact_ids
array of (string (uuid))
optional
Contacts to drop to. Default: []
list_ids
array of (string (uuid))
optional
Saved lists whose members to drop to. Default: []
send_mode
"now" | "schedule"
optional
'now' dispatches immediately; 'schedule' waits for scheduled_at_local. Default: "now"
scheduled_at_local
string
optional
Local wall clock 'YYYY-MM-DDTHH:MM' for send_mode 'schedule'.
timezone
string
optional
IANA timezone the wall clock is read in. Default: "UTC"
respect_timezone
boolean
optional
Fire at the same LOCAL time for each recipient, using their own timezone. Default: false
Over MCP the same operation is the tool rvm_create_campaign at https://app.chirply.io/api/mcp, same bearer token, same input.
Drop a voicemail to one contact
rvm.drop_to_contactwriteconfirm
Drop a ringless voicemail to a single contact right now — the same one-click action as the contact page's 'Drop voicemail' dialog. THIS PLACES REAL CALLS and bills the account two Twilio legs. Needs a saved recording and two different active numbers. Do-not-contact is enforced before dialing.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
contact_id
string (uuid)
required
Contact to leave the voicemail for.
audio_asset_id
string (uuid)
required
The saved voicemail recording to drop.
filter_number_id
string (uuid)
required
Number that places the filter call.
from_number_id
string (uuid)
required
Caller-ID number. Must differ from the filter number.
Over MCP the same operation is the tool rvm_drop_to_contact at https://app.chirply.io/api/mcp, same bearer token, same input.
Generate a voicemail with text-to-speech
rvm.generate_recordingwriteconfirm
Turn a script into a reusable voicemail recording. Engine 'elevenlabs' synthesizes an MP3 right now through its OWN ElevenLabs account and SPENDS ITS TTS CREDITS; engine 'twilio' stores only the script and has Twilio speak it live at drop time (no synthesis charge, billed as part of the call). Scripts longer than about 55 spoken seconds are refused.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
text
string
required
The voicemail script to speak.
engine
"elevenlabs" | "twilio"
optional
'elevenlabs' synthesizes now and spends credits; 'twilio' speaks it live. Default: "elevenlabs"
voice_id
string
optional
ElevenLabs voice id. Defaults to the account's configured voice.
voice
string
optional
Twilio <Say> voice for engine 'twilio' (e.g. Polly.Joanna, Polly.Matthew, Polly.Salli). Defaults to Polly.Joanna.
Over MCP the same operation is the tool rvm_list_campaigns at https://app.chirply.io/api/mcp, same bearer token, same input.
List voicemail drops
rvm.list_dropsread
List the individual recipients of a voicemail campaign and what happened to each one — pending, filtering, dropping, dropped, failed (with the error) or skipped (e.g. do-not-contact).
Over MCP the same operation is the tool rvm_list_drops at https://app.chirply.io/api/mcp, same bearer token, same input.
List voicemail recordings
rvm.list_recordingsread
List the saved voicemail recordings this account can drop — uploaded audio, in-app recordings, ElevenLabs-synthesized clips, and Twilio text-to-speech scripts. Newest first.