> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# Action block

> Side-effects that fire after the Agent decides — no LLM picking arguments.

An **Action block** is a step that runs after the Agent produces its answer. Unlike a Tool, the Agent does **not** choose whether to call it — the Flow does, based on wiring. And unlike a Tool, the Action's arguments come from mapping Agent output fields into the Action's inputs, not from the LLM picking them.

Use Actions for anything you want to happen **because** the Agent decided X — not for anything the Agent needs to decide **during** its reasoning.

## Examples

* Send an email summary after the Agent classifies a ticket.
* Write a row to a CRM after the Agent extracts fields from a contract.
* Post a Slack message when the Agent flags a high-risk trace.
* Kick off a downstream pipeline.

## Configuring an Action

Same shape as a Tool:

* **Kind** — HTTP or Inline.
* **Endpoint / code** — where the call goes or what runs.
* **Input mapping** — how to fill the Action's inputs from upstream Agent output. Drag from output fields to Action inputs, or write a small JSONPath expression.

## Approvals

Actions can require approval before firing. Held Actions appear in the Approvals queue with the arguments already resolved — reviewers see exactly what would happen.

Common case: an Action that sends a customer refund is set to require approval. The Agent decides *when*, but a human confirms *whether*.

## Order of execution

If a Flow has multiple Actions downstream of an Agent, they fire in the order shown in the Inspector's **Action order** list. Drag to reorder. Failures in one Action don't block the next unless you mark the Action **must succeed** — then a failure aborts the remaining Actions and marks the run as errored.

## Retries

Set per-Action retry policy: attempts, backoff, and which HTTP status codes count as retryable. Off by default — turn on for flaky third-party APIs.

## Difference from a Tool, at a glance

|                                   | Tool                | Action                   |
| --------------------------------- | ------------------- | ------------------------ |
| Who decides when to call?         | The Agent (via LLM) | The Flow (via wiring)    |
| Who picks arguments?              | The Agent           | Mapped from Agent output |
| Runs during reasoning?            | Yes                 | No — after               |
| Can affect the Agent's next step? | Yes                 | No                       |
