Keep humans in control of AI-generated content with Oracle’s powerful Human Approval node
AI agents are becoming increasingly capable of drafting, summarizing, and acting autonomously — but enterprise workflows often demand a human check before critical content goes out. Oracle AI Agent Studio Workflow Agent’s Human Approval Node bridges this gap, giving you a configurable, channel-aware gate that pauses agent execution until a human says go.
This post walks through everything you need to know about the Human Approval Node: how it works, what configuration options are available for each channel and model.
What Is the Human Approval Node?
Embedded inside Oracle AI Agent Studio’s workflow agent canvas, the Human Approval Node is a pause-and-route mechanism. When the agent reaches this node, execution halts and a message is sent to a human reviewer over a configured channel. The workflow only resumes once the reviewer acts — approving, rejecting, providing feedback or node times out.
Think of it as a smart checkpoint in your agent’s pipeline: the AI does the heavy lifting, but a human gets the final word before output is committed or published.

🛡️ Human Oversight: Prevent unreviewed AI output from reaching end users or downstream systems.
🔄 Iterative Refinement: Allow users to request changes and regenerate output with targeted feedback.
📬 Multi-Channel: Delivery over Chat for instant interaction, or Email for async workflows with timeouts.
🔀 Decision Routing: Branch the workflow based on Approval or Rejection outcomes.
Approval Models
The Human Approval Node supports two distinct interaction models.
| Dimension | Without Feedback (Approve/Reject) | With Feedback (Approve/Request Change) |
|---|---|---|
| User choices | Approve / Reject | Approve / Request Change |
| Loop back capability | None — linear flow | Loops to a configured node with user’s feedback |
| Max iterations | Not applicable | Configurable (e.g., 3) — agent stops waiting after limit |
| Typical use case | Simple gating; approve or discard | Iterative refinement (tone, style, content adjustments) |
| Context variable output | APPROVED or REJECTED | APPROVED, , or iteration exhausted |
Supported Channels
Both models are available over two channels: Chat and Email. The channel determines what fields appear in the node’s configuration panel.
Chat Channel
Best for real-time, synchronous review flows. Approval buttons (Approve / Reject or Approve / Request Change) appear inline in the chat interface — no email setup required.
Email Channel
Designed for asynchronous workflows where reviewers may not be present in the application. Requires an Approver email account configured under the Credentials tab. Adds timeout handling so the workflow doesn’t wait indefinitely.
Node Configuration
Below are attributes available to configure based on the Model and Channel combination.
| Attribute | Chat (Without Feedback) | Chat (With Feedback) | Email (Without Feedback) | Email (With Feedback) |
|---|---|---|---|---|
| Name | Yes | Yes | Yes | Yes |
| Code | Yes | Yes | Yes | Yes |
| Error Handler | Yes | Yes | Yes | Yes |
| Channel | Chat | Chat | ||
| Enable feedback | OFF | ON | OFF | ON |
| Maximum Iterations | — | Yes | — | Yes |
| Loop Back Node | — | Yes | — | Yes |
| Request Change Message | — | Yes | — | — |
| Email Account | — | — | Yes | Yes |
| Timeout Unit | — | — | Yes | Yes |
| Timeout After | — | — | Yes | Yes |
| Message Template | Yes | Yes | Yes | Yes |
| Timeout Message Template | — | — | Yes | Yes |
| Maximum Iterations Template | — | Yes | — | Yes |
Below is more information on configuration attributes specific to Email channel.
| Email-Specific Field | Purpose |
|---|---|
| Email Account | Approver-type email account configured on the Credentials tab |
| Timeout Unit | Minutes, Hours, or Days |
| Timeout After | Numeric value paired with Timeout Unit |
| Timeout Message Template | Triggered when Timeout is reached before a decision is made |
Context Variables from the Node
Other nodes in your workflow can reference the Human Approval Node’s output attributes via context expressions like {{$context.$nodes.NODE_CODE.$output}}.
| Context Path | Variable | Description |
|---|---|---|
….$actionPerformed | Action Performed | The decision made. Valid values: APPROVED, REJECTED |
….$feedbackRecieved | Feedback Received | Text provided by the user when requesting a change. Used to guide the Loop Back Node (e.g., tone, style instructions) |
….$iterationsPerformed | Iterations Performed | Count of how many feedback-and-regenerate cycles have completed |
💡All node attributes are accessible in expression builder under Context → Nodes → [Node Name].
Sample Workflow Architecture (Without Feedback)

Sample Workflow Architecture (With Feedback)

