Skip to main content
action nodes execute a terminal action without involving a human. They’re the alternative to manualReview on cleared / blocked branches.

Configuration

{
  "id": "act-block",
  "type": "action",
  "data": {
    "label": "Block – Sanctions / blocklist",
    "actionType": "deny",
    "message": "Counterparty flagged as blocklisted or severe-risk. Case denied.",
    "notifyTeam": true
  }
}

Action types

actionTypeEffect
approveMarks the decision auto_approved and routes to the success terminal output.
deny / rejectMarks the decision denied.
blockSame as deny but additionally registers the originator / counterpart / wallet on the blocklist.

notifyTeam

When true, fires a notification to the configured team channel (Slack / email / pager — depending on the deployment’s notification config). Used for high-stakes block actions so compliance has eyes on the decision in near-real-time.

When to use vs manualReview

actionmanualReview
Fires whenThe graph reached a deterministic conclusion (rule fired, hard reject label)Decision needs human judgement
Blocks the workflowNo (instant)Yes (pauses until response)
Audit footprintJust the node’s input + action typeReviewer identity, response, timestamps, evidence packet
Use action for deterministic gates (sanctions, hard reject, severe on-chain band, prohibited region) and manualReview for borderline cases.