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 directly inside Teams.
The Contro1 Teams connector lets operators receive approval requests from agents and automation workflows managed in Contro1, then approve or reject them directly from Microsoft Teams.
Connect Microsoft Teams to Contro1 so operators can receive AI agent approval requests directly inside Teams.
Teams is the operator-facing approval channel. Contro1 creates the approval request, sends it to the right reviewer in Teams, and records the final decision.
The Microsoft Teams app requires an active Contro1 account. A workspace admin must connect Microsoft Entra in Contro1 before operators can receive approval cards in Teams.
Each reviewer must exist as a Contro1 operator, be invited or linked from Microsoft Entra, install or open the Contro1 Teams app, and send one first message to the bot so Contro1 can capture the Teams conversation for direct messages.
The Teams app is an approval surface. It does not create or modify AI-generated content in Teams. It presents approval requests created by the customer organization's own agents and automation workflows; the decision record is stored in Contro1.
When the reviewer selects Approve or Reject in Teams, Contro1 validates that the Microsoft Teams user maps to an eligible Contro1 operator. The request is then marked answered in the Contro1 web app, the Teams card is updated to show the final decision, and the reviewer identity is written to the audit trail.
The Contro1 web app shows the same result so admins can verify that the Teams answer was received and recorded.
An agent requests approval before sending an email, modifying a system, deploying code, changing access, or touching sensitive data.
Organizations keep reviewer identity, approval evidence, and decision history in the Contro1 web app while Teams remains the reviewer-facing channel.
The Teams connector is designed as a communication channel for approval decisions. The request record and audit trail remain in Contro1.
Open Contro1 Settings > Single sign-on > Microsoft Entra ID and connect Microsoft with a Microsoft administrator account before installing or testing the Teams bot. This lets Contro1 identify the tenant and map operators to Microsoft identities. The Teams card under Settings > Notifications uses the same connection and has the same Connect button.
After the connection succeeds, the Microsoft Entra ID card shows the tenant, who connected it and the Graph directory status; the Microsoft Teams card under Notifications shows the tenant 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.
Under Settings > Single sign-on > Microsoft Entra ID, 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.
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 and updates the request in the web app.
| 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 the operator from Microsoft Entra under Settings > Single sign-on > Microsoft Entra ID. A Microsoft account is linked only when its email is the same as the operator email in Contro1. |
| 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. |
Connect Microsoft Entra, install the Contro1 Teams app, then send a test approval request. Once the test works, operators can receive Contro1 approval requests inside Teams.
Beyond the approval call, attach a run trace, the tools you invoked, and the context you retrieved. Each field is optional; add what you have. Identity always comes from your credential. When a named part of a multi-agent system made the call, say which with the Contro1-Sub-Agent header (as_sub_agent in the SDKs): Contro1 registers it under this agent, and it never has more authority than this agent.
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.
No. Teams is the communication channel. Contro1 validates the decision and stores the request, reviewer, decision, and audit evidence.
No. The Teams app is the personal approval channel. Routing, SLA handling, manager review, and other workflow rules are managed inside Contro1 and are not separate Teams app actions.
Put a person in front of a risky step in any agent, company workflow or internal system, record every step, and get signed evidence. One API call and a callback handler, no MCP server required.
Use Contro1 audit records to log actions that agents are authorized to run autonomously, and correlation_id to connect requests and logs into one case timeline.
Publisher documentation for the Contro1 Microsoft Teams app, including what the app does, how to test it, deployment requirements, permissions, support, and end-user usage.