Notifications

Ask a person to approve

notify_request_approval · Changes data · Markdown

Asks a person to approve or decline (or pick an option) before the agent acts, on a one-time page sent through a channel or by email.

$0.01 a request, $0.02 more by email

From your agent’s balance. A call that fails costs nothing.

An example

Before you refund anything over $200, ask me on my phone first.

Your agent callsnotify_request_approval$0.01 a request, $0.02 more by email

The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.

With these arguments
{
  "question": "Refund order 1042 in full ($849)?",
  "details": "The buyer says the Tabor arrived with a bent derailleur hanger and sent two photos.",
  "email": "dana@halversoncycle.example",
  "reference": "order-1042"
}
What comes back
{
  "request": {
    "request_id": "ebf2c688-8e31-4dec-ac59-565712394424",
    "question": "Refund order 1042 in full ($849)?",
    "details": "The buyer says the Tabor arrived with a bent derailleur hanger and sent two photos.",
    "options": [
      "Approve",
      "Decline"
    ],
    "status": "waiting",
    "answer": null,
    "comment": null,
    "answered_at": null,
    "reference": "order-1042",
    "sent_to": "dana@halversoncycle.example",
    "via": "email",
    "expires_at": "2026-10-17T08:00:00+00:00",
    "created_at": "2026-10-14T08:00:00+00:00"
  },
  "link": "https://cncto.co/q/j1mybbdGe4Vol7DZGBg9bnkwRd2KnlePhno5x7TyZwE"
}

Use it when

Before a refund, a big purchase order, an offer or a post that a person should decide on.

What it does

Ask a person before you act: approve or decline (or pick one of up to 5 options), with an optional comment, on a one-time page sent through a saved channel or by email. The first answer reaches you as the event notify.answered (subscribe a webhook, or check notify_get_approval). For refunds, big orders, offers and posts. Anyone holding the link can answer, so send it only to the person who decides. Email follows the account's rules (free credit emails only the owner). $0.01 a request, $0.02 more by email; the answer is free.

What comes back

request: its request_id, question, options, status (waiting) and when it expires; link: the page the person answers on. The answer comes as notify.answered. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
questionRequiredstringWhat to decide, e.g. "Refund order 1042 in full ($849)?". 1 to 300 characters.
detailsstringWhat the person should know first. Up to 4,000 characters.
optionsarray of stringsThe answers to pick from. Default: Approve, Decline. 2 to 5 items.
commentbooleanOffer a comment box. Default: true.
channelstringA saved channel to send it to (notify_list_channels). Matches ^[a-z0-9][a-z0-9-]{0,39}$.
emailstringOr an email address to send it to. Up to 254 characters.
expires_in_hoursinteger1 to 720. Default: 72.
referencestringYour own reference, sent back with the answer (an order number, a refund). Up to 120 characters.

The call

Over MCP, call notify_request_approval on https://api.conecto.chat/mcp/notify. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/notify_request_approval \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"question":"Refund order 1042 in full ($849)?","details":"The buyer says the Tabor arrived with a bent derailleur hanger and sent two photos.","email":"dana@halversoncycle.example","reference":"order-1042"}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
invalid_input400Neither or both of channel and email were given, or two options say the same.Give one channel or one email address, and options with their own words.
not_found404The channel name is not saved.Call notify_list_channels for the names.
payment_required_for_outbound402The balance is still free credit, which emails only the owner.Ask the owner, or top up once (POST /v1/topups).
new_recipient_limit429Too many new addresses were emailed today.Ask through a channel instead.
delivery_failed502The question reached no one; nothing was charged.Try again, or use another channel.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md