← All action domains

Revenue operator

7 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.

Discard recovery draft

revenue_operator.cancel_emailwrite

Cancel an unsent recovery draft so a revised message can be prepared. Cannot cancel or reset a send already in progress. Sends nothing and retains the canceled draft in history.

Parameters

FieldTypeRequiredDescription
proposal_idstring (uuid)requiredThe unsent recovery draft to discard.

Example

curl -X POST https://app.chirply.io/api/v1/actions/revenue_operator.cancel_email \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "proposal_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool revenue_operator_cancel_email at https://app.chirply.io/api/mcp, same bearer token, same input.

Check recovery delivery receipt

revenue_operator.check_deliverywrite

Reconcile an uncertain recovery send against its exact stored message receipt. Marks it sent only when the matching message records provider acceptance or delivery. Missing, failed or merely queued rows remain held because a local failure may follow a provider timeout. Never resets a send claim, sends or retries an email, or spends money.

Parameters

FieldTypeRequiredDescription
proposal_idstring (uuid)requiredThe uncertain recovery proposal whose message receipt to inspect.

Example

curl -X POST https://app.chirply.io/api/v1/actions/revenue_operator.check_delivery \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "proposal_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool revenue_operator_check_delivery at https://app.chirply.io/api/mcp, same bearer token, same input.

Open Revenue Operator

revenue_operator.get_recovery_boardread

Read the Revenue Operator's shadow-mode recovery board. It separately examines up to 2,000 recently updated open risks and 2,000 resolved risks with stored deal intelligence, then derives prioritized recovery proposals, coverage KPIs, and a flagged-to-won-or-lost outcome proxy. Partial populations are explicitly marked in the result. It makes no AI model or provider calls, sends nothing, starts nothing, spends nothing, and changes nothing.

Also answers to at-risk deal queue, revenue recovery board, shadow sales operator.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/revenue_operator.get_recovery_board \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool revenue_operator_get_recovery_board at https://app.chirply.io/api/mcp, same bearer token, same input.

View observed recovery outcomes

revenue_operator.get_recovery_outcomesread

Read subsequent inbound contact messages, inbound calls, noncanceled bookings and linked live-mode invoice/funnel/Stripe payments after one confirmed recovery send. The observation window ends at 30 days, the next confirmed recovery for that contact, or now, whichever comes first. Currencies stay separate; invoices use refund date while funnel/Stripe refunds adjust the collection window. These are contact-level observations and current deal status, not causal lift, guaranteed replies to this email or recovered revenue attribution. Makes no provider or AI calls, changes nothing, sends nothing and spends no money.

Parameters

FieldTypeRequiredDescription
proposal_idstring (uuid)requiredA confirmed sent recovery proposal in this account. Unsent or unresolved deliveries have no measured outcome window.

Example

curl -X POST https://app.chirply.io/api/v1/actions/revenue_operator.get_recovery_outcomes \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "proposal_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool revenue_operator_get_recovery_outcomes at https://app.chirply.io/api/mcp, same bearer token, same input.

Review recovery email

revenue_operator.get_recovery_workspaceread

Read one deal's current status, linked email contact, and latest twenty recovery drafts and delivery receipts. The deal's current won/lost status is an outcome observation, not evidence the email caused a sale. Read-only; sends nothing.

Parameters

FieldTypeRequiredDescription
deal_idstring (uuid)requiredA deal in this account, from the recovery board.

Example

curl -X POST https://app.chirply.io/api/v1/actions/revenue_operator.get_recovery_workspace \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "deal_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool revenue_operator_get_recovery_workspace at https://app.chirply.io/api/mcp, same bearer token, same input.

Save recovery draft

revenue_operator.prepare_emailwrite

Save immutable subject, body, recipient and deal/contact versions for one reviewed recovery email. Requires an open at-risk or stalled deal with an unblocked email contact. Sends nothing and makes no AI calls. Only one pending recovery per contact is allowed; drafts expire after 24 hours. A separate explicit approval sends it.

Parameters

FieldTypeRequiredDescription
deal_idstring (uuid)requiredThe open at-risk deal to follow up on.
subjectstringrequiredThe exact email subject the reviewer approves.
bodystringrequiredThe saved plain-text message the reviewer approves. No AI rewrite is performed. The normal email pipeline still resolves unsubscribe links and applies configured signatures and tracking.

Example

curl -X POST https://app.chirply.io/api/v1/actions/revenue_operator.prepare_email \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "deal_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "subject": "Example",
    "body": "example"
  }'
Test with your API key

Over MCP the same operation is the tool revenue_operator_prepare_email at https://app.chirply.io/api/mcp, same bearer token, same input.

Approve and send recovery email

revenue_operator.send_emailwriteconfirm

Send the saved recovery message to its real recipient through the account's connected email provider, at the account's provider cost, with normal configured signatures, unsubscribe links and tracking. Consumes approval once, rechecks open deal/risk/contact versions, refuses newer messages, calls, bookings or linked collected payments, honors opt-outs and enforces seven days between recovery emails per contact. An uncertain delivery is held for review and is never automatically resent.

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

FieldTypeRequiredDescription
proposal_idstring (uuid)requiredThe immutable draft ID returned by prepare_email. Inspect its full recipient/subject/body before approval.

Example

curl -X POST https://app.chirply.io/api/v1/actions/revenue_operator.send_email \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "proposal_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool revenue_operator_send_email at https://app.chirply.io/api/mcp, same bearer token, same input.

The machine-readable version of this page is GET https://app.chirply.io/api/v1/actions?domain=revenue_operator — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.