Skip to main content

Configure a Human-in-the-Loop policy

Level: intermediate

A Human-in-the-Loop (HITL) policy keeps a person in control of an AI agent's most sensitive actions. When the policy matches, the agent pauses and routes the action to a human reviewer, who decides whether to proceed or not.

Before you start, make sure an agent already exists in AI Studio, and that at least one model is available to act as the evaluation model. If you want to route approvals to a specific team, prepare the approver role in advance.

When to use a HITL policy

Use a HITL policy in "Enforce" mode when an agent's action is hard to undo or carries business or compliance risk. For example, require human review before an agent sends an outbound message to a customer or regulator, commits to a refund, or closes a high-value complaint.

A HITL policy supports the following modes:

  • "Disabled" — the policy is ignored at runtime.
  • "Observe" — the policy records a decision when it matches, but the agent keeps running. Nothing is paused.
  • "Enforce" — the policy pauses the agent on a match and waits for a reviewer decision before the action proceeds.

A HITL policy is optional for low-risk, internal, or high-volume interactions, where a review step would slow the agent down without adding meaningful control. In those cases, set the policy to "Observe" instead of "Enforce": the agent keeps running while the policy records when a reviewer would have been asked, so you can measure how often the policy would fire before you enforce it.

Configure a HITL policy for outbound replies

Example

Require human review of any Customer Support Agent reply that offers a refund, discount, or compensation before it reaches the customer, and route those reviews to the support supervisor.

  1. Log in to Creatio AI Studio.

  2. Go to the Trust & Governance block → Policies. This opens the policy list.

  3. Click NewHuman-in-the-Loop. This opens the HITL policy editor.

  4. Configure the General settings & Runtime panel:

    1. Enter a Policy name that tells reviewers what the policy guards, such as "Refund and Compensation Approval".

    2. Set the Scope to "Agent" to apply the policy to specific agents, or to "Global" to apply it to every agent.

    3. Set Enforcement to "Enforce" so the agent pauses and waits for a reviewer on a match.

      In "Enforce" mode, the agent's reply is held and not delivered until a reviewer approves it. If no decision arrives in time, runtime interrupts the agent and the reply is not sent. Assign an approver who can respond promptly, or keep the policy in "Observe" mode until your team is ready to review in real time.

    4. Set the Severity to "High" to classify the policy's importance relative to others in your environment.

  5. Click Add agent in the Assigned agents panel and select the agent to govern, such as "Customer Support Agent". This panel appears when the scope is "Agent".

  6. Set the Trigger point to "Before the agent replies to a customer" so the policy checks every outbound reply before it is sent.

  7. Enter your rule in the Instructions for response evaluation field. The LLM judge checks every reply against this rule and triggers the policy on a match. For this example, enter "Flag this response for human review if it offers a refund, discount, or compensation of any kind, or if it makes commitments about delivery timelines, replacement items, or service credits."

  8. Turn on Allow replacement message after reject in the Reject options block, then enter a default replacement message the reviewer can send instead of the draft.

  9. Turn on Allow retry with agent instructions so the reviewer can send the draft back with guidance for a new attempt.

  10. Select an Approver role, such as "SupportSupervisor", to route approvals to that team. Leave it empty to send approvals to the standard approvals queue.

  11. Enter a Pending notification the requester sees while they wait. Leave it empty to send no notification. It is delivered only in synchronous channels. Async channels such as email skip it.

  12. Click Create policy to save the changes.

As a result, the policy will appear in the Policies list with the status "Enforcing", ready to govern the assigned agent. At runtime, when the agent drafts a reply, the LLM judge will check it against your rule. On a match, the agent will pause and an approval request will appear in the approvals queue with the agent's draft, the matched rule, and the policy severity. The reviewer's decision determines what happens next:

  • Approve — the original reply is delivered to the customer.
  • Reject and end the chat — nothing is sent and the conversation ends.
  • Reject and send a replacement message — the reviewer's edited message is delivered instead of the draft.
  • Reject and retry with instructions — the agent generates a new reply using the reviewer's guidance, and the policy evaluates it again.

If no decision arrives in time, runtime interrupts the agent and the reply is not delivered. In "Observe" mode, nothing is paused or blocked. The reply reaches the customer right away, and the policy logs a decision recording that approval would have been required in "Enforce" mode. Review these logged decisions on the governance dashboard to see how often the policy would fire before you switch it to "Enforce".

note

The trigger point sets when the policy runs and is independent of the mode, so either trigger point works in "Observe" or "Enforce". This article uses the pre-reply trigger point. To review the customer's incoming message before the agent processes it, set the Trigger point to "Before the agent processes an incoming request" in step 6. The rule field then becomes Instructions for user-input evaluation, where you refuse or route risky requests before the model runs. For example, "Reject input that asks the agent to discuss competitors, leak credentials, or perform actions outside its scope."


See also

Creatio AI Studio overview