# Human Verification: Ask a Teammate to Approve Before the AI Acts

Pause a chat workflow until a teammate approves a step, such as a refund, with an approval form, editable values and Approve or Reject exits. See examples and how teammates handle verification tasks.

> Source: https://www.robylon.ai/docs/product/human-verification
> Section: Automation

Human verification lets the AI do most of the work and keeps a person in the loop for the decisions that need one. The **Verification** block pauses a chat workflow and raises an approval form for your team. A teammate checks the details, can change them, and picks a decision. The workflow then continues down the path for that decision.

Add it from **Logic → Verification** in the workflow builder. It works on Robylon Chat. On other channels the block is skipped and the workflow moves straight on.

## When should I use human verification?

Use it wherever the AI can prepare an action but a person should sign it off. For example:

* **Refunds above a limit:** a customer asks for a refund of 2,000 and the AI is allowed to refund up to 500. The workflow refunds 500 straight away, and a verification task asks a teammate to approve the remaining 1,500.
* **Order changes after dispatch:** the AI collects the new address, and a teammate confirms it can still be changed before the workflow updates the order.
* **Goodwill credit or discounts:** the AI proposes a voucher value, and a teammate approves it or lowers it before it is sent.
* **Account changes:** closing an account or changing a registered phone number waits for a teammate to check the details first.

## How do I set up the Verification block?

Build the approval form, choose the decisions, and connect each one to what should happen next.

<Steps>
  <Step title="Add the block">
    In the workflow builder, add **Logic → Verification** where the approval is needed, and click **Configure Verification Pop-up**.
  </Step>
  <Step title="Title the form">
    Enter a **Pop-up Title**. It can include variables, such as the order ID.
  </Step>
  <Step title="Add the fields">
    Click **Add Field** for each detail the teammate should see. Give each a **Field Label** and an **Input Type** (**Free Text** or **Dropdown options**), and choose its **Value Source**: **Fixed Value**, **Get from Variable** or **Agent enters at runtime**. Turn on **Editable by approver** to let the teammate change the value, and use **Map final value to output variable** to save what they submit.
  </Step>
  <Step title="Add the decisions">
    Add a button for each decision, such as **Approve** and **Reject**. Each button has its own exit on the block.
  </Step>
  <Step title="Keep the customer informed">
    Turn on **Send a holding message** to tell the customer the team is checking. Set **Inactivity** to how long to wait before taking the inactivity exit. If it is 0, the task stays open until someone acts.
  </Step>
</Steps>

## How would I build the refund example?

Let the AI handle the part it is allowed to, and send the rest for approval:

1. **Check the amount** with a [Conditions](https://www.robylon.ai/docs/product/logic#how-do-conditions-work) block: if the refund is 500 or less, refund it with an [API block](https://www.robylon.ai/docs/product/dev-notes#how-does-the-api-block-work) and tell the customer.
2. **Above 500**, refund 500 with the API block, then add a **Verification** block. Show the order ID and the remaining amount (1,500) from variables, and make the amount **Editable by approver**, mapped to an output variable.
3. **On Approve**, call the refund API again with the amount the teammate submitted, and confirm to the customer.
4. **On Reject**, tell the customer what happens next, or hand the conversation to a person.

## How do teammates handle a verification task?

When the workflow reaches the block:

* **The conversation is assigned to a human agent**, using your normal [assignment rules](https://www.robylon.ai/docs/human-users/assignment). If nobody is available, the customer is told they are waiting.
* **It is marked in the inbox.** The conversation shows a **Needs Verification** marker in the [Unified Inbox](https://www.robylon.ai/docs/inbox/unified-inbox) list, so it stands out from other chats.
* **The teammate opens the form on the conversation**, checks or edits the values, and clicks a decision. The workflow continues down that decision's exit, and the result is added to the conversation so the AI agent knows what was decided.

The task stops waiting if the chat is handed over to a person or resolved first.

## Are verification tasks assigned outside working hours?

Only if you allow it. In [business hours](https://www.robylon.ai/docs/human-users/business-hours), the **Out of Office** step has a **Human Verification Assignment** setting: "Assign verification tasks to Human Agents during Out of Office hours". When it is off, tasks raised out of hours wait until working hours start.
