Human approval for AI actions
An agent requests approval before sending an email, modifying a system, deploying code, changing access, or touching sensitive data.
Framework guides
Connect Microsoft Teams to Contro1 and receive AI agent approval requests, escalation alerts, and governance workflows directly inside Teams.
The Contro1 Teams connector lets operators receive, review, and answer AI agent approval requests from Microsoft Teams while Contro1 keeps the routed workflow, audit trail, and governance evidence.
Connect Microsoft Teams to Contro1 so operators can receive AI agent approval requests, escalation alerts, and governance workflows directly inside Teams.
Teams is the operator-facing approval channel. Contro1 remains the system of record for routing, reviewer identity, SLA handling, signed callbacks, and audit evidence.
An agent requests approval before sending an email, modifying a system, deploying code, changing access, or touching sensitive data.
Requests automatically escalate to another operator or role when the original reviewer misses the SLA.
Organizations maintain human accountability, approval evidence, and decision history for regulated or high-impact workflows.
The Teams connector is designed as a communication channel for governed decisions, not as a replacement for Contro1 controls.
Open Contro1 Settings, go to Integrations, and connect Microsoft Entra before installing or testing the Teams bot. This lets Contro1 identify the tenant and map operators to Microsoft identities.
After the connection succeeds, the Microsoft Entra + Teams card shows the tenant, connected admin, Graph directory status, and Teams bot readiness.
Open Microsoft Teams, go to Apps, search for Contro1 Bot or Contro1 Approvals Bot, and choose Add. If your organization restricts app installation, a Teams admin may need to allow or approve the app first.
You can also open the install dialog directly with the Teams app link below.
Each operator should open the Contro1 bot in Teams and send a short first message, such as hi. That first message allows Contro1 to associate the Teams conversation with the operator identity from Microsoft Entra.
Once this link exists, Contro1 can send direct approval messages to that operator.
Return to Settings -> Integrations and use Teams approval test to send a real test approval request to your own linked Teams chat. The request appears in Teams with Approve and Reject actions, just like a production approval.
After you answer in Teams, Contro1 polls the test request and shows Answer received in Teams with the decision. This confirms that the bot can deliver the request, Teams can send the answer back, and Contro1 can record the response.
In Operator Teams Status, verify that each operator shows Entra linked and Teams active. Pending bot chat means the operator has not opened the bot yet. No Entra ID means the operator needs to be invited or linked from Microsoft Entra.
Use Invite from Microsoft Entra to search the connected tenant and invite selected users as Contro1 operators. This keeps operator identity aligned with the Microsoft tenant.
After users are invited, they still need to open the Contro1 Teams bot once so direct messages can be delivered.
Direct messages are recommended for operator accountability and auditability. If your team also wants shared visibility, add the Contro1 bot to a Teams channel and mention it once so Contro1 can capture the channel conversation.
Use the shared channel fallback for notifications and visibility, not as a replacement for named reviewer accountability.
Create a normal Contro1 approval request from your agent, SDK, workflow, or API integration. Contro1 routes the request to the correct operator and delivers the Teams message when that operator has an active Teams chat.
The operator can approve or reject in Teams. Contro1 records the decision, updates the request, and returns the result through the normal signed callback or polling flow your agent already uses.
| Issue | What to check |
|---|---|
| App does not appear in Teams search | Use the direct Teams install link or ask a Teams admin to allow the Contro1 app for your organization. |
| Pending bot chat | The operator has not opened the Contro1 bot yet. Ask them to open the bot in Teams and send a short message. |
| No Entra ID | Invite or link the operator from Microsoft Entra in Contro1 Settings. |
| Test approval fails | Confirm Microsoft Entra is connected, the Teams app is installed, and the current operator has opened the bot once. |
| Test stays on Waiting for Answer | Open the Teams card and click Approve or Reject. Contro1 marks the test complete only after Teams sends the response back. |
| Channel fallback not working | Add the bot to the channel and mention it once so Contro1 can capture the channel conversation. |
Connect Microsoft Entra, install the Contro1 Teams app, then send a test approval request. Once the first message works, expand routing, escalation, and governance workflows across the agents that need human accountability.
Beyond the approval call, attach identity, a run trace, the tools you invoked, and the context you retrieved. Each field is optional — add what you have. The verified identity always comes from your API key; a caller-supplied actor.agent_id is recorded as a claimed sub-agent until an admin verifies it.
The first message allows Contro1 to associate the Teams conversation with the operator identity from Microsoft Entra.
The operator has not opened the Contro1 bot yet. Ask the operator to open the bot in Teams and send a short first message.
Yes, but direct messages are recommended for operator accountability and auditability. Channels are best used as a shared notification fallback.
No. Teams is the communication channel. Contro1 validates the decision and stores the request, reviewer, decision, callback state, and audit evidence.
Yes. The Teams connector is designed for AI agent approval, escalation, and governance workflows where human accountability and evidence matter.