FlowmageDocs

Ask for approval

Changes data

Stops the flow until a person picks one of your options, or the time runs out.

Settings

SettingWhat it is
OptionsBetween 2 and 5 answers. Each one is a button and an output port; renaming the words keeps the port.
TitleOne line, at most 120 characters — it is the subject of the mail and the heading of the page.
What you are askingUp to 4000 characters. Secrets this run resolved are redacted before anybody sees it.
Details the approver seesThe snapshot on the page — a value per line, expressions allowed.
Ask for a commentOne rule for every option: the person must type a reason before they answer.
Who decidesAt most 5 people in total, counting any addresses below. Somebody who has left the organization is asked nothing.
Addresses outside the workspaceEach address must already be in this workspace's address book (/alerts). A confirmed one is emailed a one-time link; one that has not confirmed is asked to confirm first.
May somebody outside the workspace decide?Forwarding the mail delegates the decision — whoever opens the link answers, and the record says which address it was.
Wait at mostA number, or a {{ }} expression that resolves to one.
UnitFrom 1 minute to 31 days. A waiting run costs nothing while it waits and keeps its own plan; a connection or secret deleted meanwhile fails the next node cleanly.
If nobody answers in timeEvery request ends: either a person answers it, or the deadline does.
Technical details
KeyValue
optionslist of {id: text, label: text}, by default [{"id":"approved","label":"Approve"},{"id":"rejected","label":"Reject"}]
request.titletext, by default "Approval needed"
request.bodytext
request.dataobject (any keys), by default {}
request.requireCommenttrue/false, by default false
request.approverMemberslist of text
request.approverAddressestextused when `request.whoMayDecide` is "members-and-outside"
request.whoMayDecide"members" or "members-and-outside", by default "members"
deadline.amountnumber, by default 7
deadline.unit"minutes" or "hours" or "days", by default "days"
onTimeout"continue" or "fail", by default "continue"

Output

What this node gives depends on the data it gets.

Sample output, and the expression for each field

Errors

When a step of this node stops a run, the run page shows a code. Look it up:

Example step

The step as a flow file holds it. Replace each value in <…>.

{
  "config": {
    "deadline": {
      "amount": 7,
      "unit": "days"
    },
    "onTimeout": "continue",
    "options": [
      {
        "id": "approved",
        "label": "Approve"
      },
      {
        "id": "rejected",
        "label": "Reject"
      }
    ],
    "request": {
      "approverAddresses": "",
      "approverMembers": [],
      "body": "",
      "data": {},
      "requireComment": false,
      "title": "Approval needed",
      "whoMayDecide": "members"
    }
  },
  "label": "Ask for approval",
  "type": "human.approve",
  "version": 1
}