Approve an action

Member·4 minutes to read

This page is for members: it covers the card you answer when a bot's next step needs your decision. For the settings an administrator sets for the whole organisation, see The administrator security baseline.

What this does for you

When one of your bots is about to send something, spend money, delete something, install something, sign in as you, or act on someone it has not dealt with before, it stops and asks you to decide from a card in the conversation.

Before you start

  • A bot with something to act on — a plugin, a channel, or a computer connected. Inbox Triage is the starter template that reaches this card soonest, on its first pass over a real inbox.
  • Nothing to turn on: the card appears on its own, the first time a bot's next step needs it.

Steps

  1. Wait for the card. A bot that needs your decision posts a card into the conversation, in the same bot-bubble style as its other messages, and the run pauses until you answer it.

    <!-- shot: approval-cards-01-phone.png | An approval card in the conversation, on a phone --> <!-- shot: approval-cards-01-desktop.png | An approval card in the conversation, on a desktop -->
  2. Read the resource and, if the bot gave one, the reason. The resource line names what the action targets; a reason sits under its own heading when the bot supplied one.

  3. Read the input. The card shows what the bot will send or write, cut off at 2,000 characters — never rendered as a link or as formatted text, whatever the input contains.

  4. Notice a highlighted card. A card with a coloured outline means this is the first time this bot has acted on this particular resource.

  5. Choose Allow once, Always allow, or Deny. These three labels are fixed — the bot cannot rename them, reorder them, or add a fourth. Always allow is left off the card for anything a saved rule can never cover: spending, signing in, deleting, deciding about a person, or running something on your own computer.

  6. Read what happened. Allow once and Deny answer straight away. Always allow shows the rule it saved, underneath the buttons, in one line. A decision that fails — the card was already answered, its time ran out, or the action turns out to be one no rule can cover — says why, and the buttons stay so you can try again.

A worked example

Always allow never reads anything you type: it compiles a rule from the card's own resource and tags. For a card whose resource is mail:ida@example.test and whose tag is external_send, the line the card shows once you choose Always allow reads:

send mail without asking for mail:ida@example.test, only for this bot.

The rule that line describes can also start covering a call with nobody pressing a button: once it is saved, a later action that matches the same resource and tag is allowed automatically, checked first by the same automatic review that checks every rule-released call — see The automatic reviewer for what that check does and what turns it off.

What can go wrong

What you seeWhyWhat to do
This card no longer exists.The approval row is gone, or the link you followed was stale.Return to the conversation; the bot posts a fresh card if it still needs one.
approval <id> is already decidedSomeone already answered this card, on this device or another one.Nothing to do — the transcript already shows the decision that was made.
approval <id> has expiredToo much time passed before anyone answered.Ask the bot to try again; it raises a new card.
This action can never be always-allowed. Use Allow once instead.The action carries a tag no saved rule may ever cover, so the button was never meant to be pressed.Choose Allow once or Deny.
That decision could not be recorded.The save failed for a reason the card cannot narrow down further.Try the same button again.

See also

Last verified against build 71798d4.