8 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.
Approve a proposed action
assistant.approvewriteconfirm
Authorize (or refuse) the action the assistant stopped to ask about, then let it carry on. Approving RUNS the action for real — it is the one the assistant flagged as irreversible, outward-facing or costly, so it may send messages to real people, spend the organization's money or destroy data. Refusing tells the assistant no and it continues without it.
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
thread_id
string (uuid)
required
The conversation the request is waiting in.
message_id
string (uuid)
required
The assistant message holding the request, from assistant.ask's `pending`.
approve
boolean
optional
true runs the action; false declines it and the assistant moves on. Default: true
mode
"chat" | "do" | "smart"
optional
How the assistant should respond. 'chat' explains and never touches the account; 'do' carries the request out; 'smart' decides which of the two the request called for. Default: "smart"
Over MCP the same operation is the tool assistant_approve at https://app.chirply.io/api/mcp, same bearer token, same input.
Ask the assistant
assistant.askwrite
Send a message to the in-app AI assistant and get its reply. 'chat' answers product questions from the help knowledge base using Chirply's support key and never changes account data. 'do' and 'smart' require the account's OpenRouter key and Copilot access; they can operate the account on your behalf. Anything irreversible, outward-facing or costly (sending messages, spending money, deleting) comes back in `pending` for explicit approval with assistant.approve. Continues an existing conversation when you pass thread_id, otherwise starts one.
Parameters
Field
Type
Required
Description
message
string
required
What to say to the assistant, in plain language.
thread_id
string (uuid)
optional
Continue this conversation. Omit to start a new one.
mode
"chat" | "do" | "smart"
optional
How the assistant should respond. 'chat' explains and never touches the account; 'do' carries the request out; 'smart' decides which of the two the request called for. Default: "smart"
route
string
optional
The app screen this question is about, e.g. '/contacts'. Helps it answer 'how does this work?' about the right page.
Over MCP the same operation is the tool assistant_ask at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete a conversation
assistant.delete_threadwriteconfirm
Permanently delete one conversation and every message in it. This cannot be undone. Anything the assistant already did to the account stays done — only the record of the conversation goes.
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 assistant_delete_thread at https://app.chirply.io/api/mcp, same bearer token, same input.
Model routing
assistant.get_model_routingreadadmin only
Read which AI model answers each job class for this account (agent reasoning, marketing copy, code, everyday/bulk work, and image reading): the curated recommendation, the stored per-class choice if one was saved, and the model that will actually run. Every class runs on the account's own OpenRouter key at OpenRouter's own per-model price. Reads only — nothing is changed and no model is called.
Over MCP the same operation is the tool assistant_get_model_routing at https://app.chirply.io/api/mcp, same bearer token, same input.
Save model routing
assistant.set_model_routingwriteadmin only
Choose which OpenRouter model answers each AI job class for the WHOLE account, merged into the account's OpenRouter connection (other settings on the connection are untouched). Omitted classes keep their stored choice. This changes the cost and quality of every future assistant turn, AI employee run, and generated copy in that class — models differ in per-token price on the account's own OpenRouter key, though this call itself spends nothing and sends no message. Model ids are stored verbatim, so a typo means OpenRouter rejects future calls in that class until it is corrected; check ids first with assistant.get_model_routing or OpenRouter's catalog. Requires a connected OpenRouter account. Returns the routing as it now stands.
Parameters
Field
Type
Required
Description
reasoning
string
optional
Model choice for agent reasoning & planning: 'recommended' restores the curated default, 'auto' uses OpenRouter's own router, anything else is stored verbatim as an OpenRouter model id (e.g. 'anthropic/claude-sonnet-5'). Omit to leave this class unchanged.
copywriting
string
optional
Model choice for marketing & sales copy: 'recommended' restores the curated default, 'auto' uses OpenRouter's own router, anything else is stored verbatim as an OpenRouter model id (e.g. 'anthropic/claude-sonnet-5'). Omit to leave this class unchanged.
code
string
optional
Model choice for code & database schemas: 'recommended' restores the curated default, 'auto' uses OpenRouter's own router, anything else is stored verbatim as an OpenRouter model id (e.g. 'anthropic/claude-sonnet-5'). Omit to leave this class unchanged.
bulk
string
optional
Model choice for everyday chat & high-volume work: 'recommended' restores the curated default, 'auto' uses OpenRouter's own router, anything else is stored verbatim as an OpenRouter model id (e.g. 'anthropic/claude-sonnet-5'). Omit to leave this class unchanged.
vision
string
optional
Model choice for reading images & screenshots: 'recommended' restores the curated default, 'auto' uses OpenRouter's own router, anything else is stored verbatim as an OpenRouter model id (e.g. 'anthropic/claude-sonnet-5'). Omit to leave this class unchanged.
Over MCP the same operation is the tool assistant_set_model_routing at https://app.chirply.io/api/mcp, same bearer token, same input.
Suggested questions
assistant.suggestionsread
Read suggested assistant questions based on this account’s current setup, incoming conversations, open deals, and the caller’s assigned tasks. Uses existing records; does not call an AI model, send messages, or change data.
Parameters
Field
Type
Required
Description
route
string
optional
Current app path, such as /tasks, used to prioritize relevant questions. Omit for account-wide suggestions.
Over MCP the same operation is the tool assistant_thread at https://app.chirply.io/api/mcp, same bearer token, same input.
Past chats
assistant.threadsread
List your conversations with the assistant, most recently used first. Titles are taken from the first thing said in each. This is a retention WINDOW, not a permanent archive: a conversation nobody has touched for `retention_days` (returned alongside the list) is deleted automatically, messages and all. Anything worth keeping should be copied out before then.