6 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.
Alert my team
notifications.alert_teamwriteconfirm
Tell the account's own people that something happened — by text message, email, phone call, or all three at once. These are REAL messages on the workspace's own Twilio and Mailgun/Resend accounts and are billed to it: one text and one phone call per recipient, per call of this action. It reaches teammates named by id (at the email and mobile on their profile), the owner of a named contact, and any numbers or addresses given here. It is for STAFF: if `about_contact_id` is given, that contact's own number and address are dropped from the recipients and the result says so, because the message describes them. To message a contact, use messages.send or conversations.start instead.
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
channels
array of ("sms" | "email" | "call")
required
How to reach them: "sms" (text), "email", "call" (an automated phone call that speaks the message twice). Any combination.
message
string
required
The alert itself, plain text. Sent as the text body, the email body and the spoken call. Put the detail in here — who, what, and the phone number to ring back.
subject
string
optional
Email subject line. Ignored by text and call; blank falls back to a generic line. Default: ""
phones
string[]
optional
Numbers to text and call, in any common format. These are STAFF numbers — the people being told, not the person being told about. Default: []
emails
string[]
optional
Addresses to email. Staff addresses, same as above. Default: []
member_ids
array of (string (uuid))
optional
Teammates to reach, by user id. Each is reached at the email and the mobile saved on their own profile; anyone without a mobile is emailed only, and the result names them. Default: []
about_contact_id
string (uuid)
optional
The contact this alert is ABOUT, when there is one. Recorded on the alert, used to drop that contact from the recipients, and required for include_contact_owner.
include_contact_owner
boolean
optional
Also alert whoever owns `about_contact_id`, so the alert follows a round-robin or a hand-over. Default: false
from_number_id
string (uuid)
optional
Which of the account's numbers texts and calls come from. Omit for the oldest active one.
email_identity_id
string (uuid)
optional
Which connected sending identity the email comes from. Omit for the workspace default.
Over MCP the same operation is the tool notifications_alert_team at https://app.chirply.io/api/mcp, same bearer token, same input.
Browsers you're notified on
notifications.list_devicesread
List the browsers registered to receive desktop notifications. A signed-in caller sees only their OWN browsers, since notification permission is granted per browser profile; an API key acts for the account and sees every registration in it. Each entry reports which topics it wants, whether it is still reachable, and when it was last seen. The push endpoint itself is never returned.
Over MCP the same operation is the tool notifications_list_devices at https://app.chirply.io/api/mcp, same bearer token, same input.
Remove a browser
notifications.remove_devicewriteconfirm
Stop notifying one browser and forget its registration. The browser keeps its operating-system permission, so it will re-register the next time somebody signs in on it and turns notifications on again — this is not a permanent block.
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
device_id
string (uuid)
required
The browser's id, from notifications.list_devices.
Over MCP the same operation is the tool notifications_remove_device at https://app.chirply.io/api/mcp, same bearer token, same input.
Notify the team
notifications.sendwrite
Show a desktop notification on every browser in this workspace that has opted into the given topic. This reaches STAFF ONLY — it is not a way to message a contact or a customer, it sends no SMS or email, and it costs nothing. Anyone at a desk sees it immediately, so use it for things that genuinely warrant interrupting someone. Topics: "message" (new messages and leads), "call" (calls you missed), "approval" (ai employees waiting on you), "payment" (payments), "reminder" (reminders).
Parameters
Field
Type
Required
Description
title
string
required
The notification's headline. Put the who and the what first.
body
string
optional
One supporting line. Longer text is truncated by the browser. Default: ""
url
string
optional
App-relative path to open when someone clicks it, e.g. /contacts or /calls. Must start with a single slash — an absolute URL is rejected, since the notification has to open the account's own host. Default: "/dashboard"
Over MCP the same operation is the tool notifications_send at https://app.chirply.io/api/mcp, same bearer token, same input.
Send a test
notifications.send_testwrite
Fire a single test notification at one registered browser and report whether the push service accepted it. Nothing is charged and nobody outside the account sees it. This is the way to tell 'notifications are misconfigured' apart from 'nothing has happened yet'.
Parameters
Field
Type
Required
Description
device_id
string (uuid)
required
The browser's id, from notifications.list_devices.
Over MCP the same operation is the tool notifications_send_test at https://app.chirply.io/api/mcp, same bearer token, same input.
Choose what a browser tells you about
notifications.set_topicswrite
Replace the list of notification topics one browser receives. This is the whole list, not a patch — topics left out are switched off, and an empty list silences that browser without removing it. Valid topics: "message" (new messages and leads), "call" (calls you missed), "approval" (ai employees waiting on you), "payment" (payments), "reminder" (reminders).
Parameters
Field
Type
Required
Description
device_id
string (uuid)
required
The browser's id, from notifications.list_devices.