ask
Ask a person, wait durably
The agent posts a question to a named person on their channel and suspends — for minutes or for days — until they answer. The wait survives restarts; the answer lands back in the agent’s flow exactly where it left off.
See the real receipt: a refund-exception question, answered on Slack →approve
Approval-gated sends
For messages that leave the company, the agent proposes and a named approver decides. What they approved is bound — hash and all — to what is sent: approve-as-is, no silent edits between the decision and the delivery.
See the real receipt: a payment reminder, approved and sent →escalate
Escalation chains
One question, several possible responders — sequential or parallel, first to respond wins. However many people it reaches, it stays one message with one receipt.
See the real receipt: a deploy confirmation, second responder answered →notify
Governed notify
Fire-and-forget, but never ungoverned: the same grants, the same blast-radius caps, the same signed receipt as every other send.
See the real receipt: a reconciliation summary, delivered →Every send flows the same path — authorize, deliver, receipt. There is no second path.
A message without an active grant is denied before anything runs. A denied or rejected message produces no send and mints no receipt — the ledger records the decision instead, honestly.