Skip to content
RoutineOS
Esc
↑↓navigate↵open⌘Jpreview
On this page

Approvals

The 0.5.0 Approvals page. Time left, approve, reject with a reason, edit a draft, and the approval history.

Since 0.5.0. In 0.4.0, gated messages were approved from the Inbox.

What it is

Approvals (#/approvals, keys g a) lists every gate waiting on a person, with time left before it times out, and the history of decided gates.

Why it exists

An approval is the one moment a routine waits on a person before acting outside. It deserves its own list, ordered by urgency, with the draft visible and editable.

How it works

Control Writes
Approve decisions/<gateId> {decision: "approve", at, by}
Reject with a reason decisions/<gateId> with decision reject and the reason (field shape set by the 0.5.0 build)
Edit draft, then approve decisions/<gateId> {decision: "approve", draft, at, by}

A gate may carry an optional draft {subject, body} and recipients [{role}]. Roles only: the write contract refuses a recipient entry with an address or any key other than role. A gate without a draft hides Edit draft and the recipients line. The sending step uses the decision’s draft when present and the gate’s own draft otherwise. Gates under 6 hours from timing out also appear in the notifications feed.

Worked example

Hiring Signals’ intro note to Northwind Goods waits with 41 hours left. The person edits the body to mention the team size and approves. The decision stores the edited draft, and the sending step uses it instead of the gate’s own draft.

Common pitfalls

  • Looking for addresses. Packs and drafts carry roles only. Recipient settings default to empty lists.
  • Expecting the page to send. It records a decision in decisions/<gateId>. Sending is the gate’s sending step.

Was this page helpful?