When approvals get stuck: deterministic escalation + safe execution for access requests
Approval steps are where “AI service desk” flows often die.
- The agent correctly identifies the request (e.g., “add me to VPN group”), gathers context, and routes for approval.
- Then the approval sits in limbo (approver unavailable, Teams approval request stuck, wrong approver, no backup), and nothing executes.
- Meanwhile the ticket ages, SLAs breach, and people start bypassing process via DMs.
Microsoft Teams’ Approvals app has real-world failure modes (requests stuck, troubleshooting unclear, limits/templates, and auditing split across systems). (learn.microsoft.com)
This is exactly where Autom Mate should be the execution + control layer: AI can recommend and ctom Mate enforces policy, approvals, deterministic execution, and auditability** (instead of letting a probabilistic agent “just do it”).
The ITSM problem (realistic)
Access requests that require approvals (VPN, shared mailbox, privileged groups, app roles) frequently stall because:
- Approver is OOO / not in the right group / changed roles
- Approval request is created but never actioned (or gets stuck in the approval tool)
- No escalation path exists, so the service desk manually chases
- Even when approved, execution is inconsistent (someone forgets to actually add the user / update the ticket)
Proposed end-to-end workflow (Autom Mate as the governed execution layer)
1) Trigger
- Trigger: New Service Request in ServiceNow (or TOPdesk/Xurrent/Freshservice) with catalog item “VPN Access” or “Add to Group”.
- Trigger can also be a Teams chat (“I need VPN access”). Autom Mate supports Teams as a front door and can create/update tickets in the ITSM backend.
2) Validation (context + policy checks)
Autom Mate validates before any apped:
- Confirm requester identity (e.g., OTP/strong verification if required by your policy).
- Check request completeness: user, target system/group, business justification, requested duration.
- Check policy-as-data:
- Is this group “privileged”? If yes, require security approval + manager approval.
- Is the user a contractor? If yes, require end date.
- Is there an open incident that already covers this access? If yes, link instead of duplicate.
3) Approval (human or rule-based)
- Route approval to the correct approver chain:
- Manager (from HR/Entra attributes) + system owner
- Backup approver if primary doesn’t respond
- Approval can be collected in Teams (message card) or via ITSM-native approval.
Governance note: AI can suggest the approver chain, but Autom Mate should enforce it (deterministically) based on directory/CMDB/policy inputs.
4) Deterministic execution across systems
Once approved, Autom Mate executes the exact steps (no “agent improvisation”):
- Microsoft Entra ID / Azure AD: add user to the correct group / assign app role
- Integration label: REST/HTTP/Webhook action (Microsoft Graph) (fallback)
- ServiceNow: update RITM/REQ with “Approved → Implementing → Completed”, add work notes, attach evidence
-Autom Mate library* (preferred) for ITSM actions (create/update tickets) - Teams: notify requester + service desk channel with completion summary
- IntegrMate library** (preferred) for Teams channel delivery
5) Logging / audit
Autom Mate records:
- Who approved, when, and what was approved
- What actions were executed (group ID, role assignment, timestamps)
- Full run logs for traceability and compliance review
Autom Mate provides logs/audit visibility for agent conversations and executed actions, which iss ask “who did what, and why?”.
6) Exception handling / rollback
If execution fails (Graph error, group not found, transient outage):
- Autom Mate error handling:
- Retry with backoff for transient failures
- If still failing, open/route an incident to IAM team with full context
- Keep the request in “Implementing (Blocked)” instead of silently completing
Autom Mate supports robust error handling/exception managemen, retry).
If partial execution happened (e.g., user added to one group but not the second):
- Roll back the successful step (remove group membership) or create a compensating task, depending on your policy.
Two mini examples
Mini example 1: “VPN access for a new contractor”
- Trigger: ServiceNow RITM created from Teams chat
- Validation: contractor must have end date + manager sponsor
- Approval: manager + security
- Execution: add to
VPN-Users-Contractorsgroup via Graph - Audit: attach “group membership change” evidence to the ticket
Mini example 2: “Shared mailbox access (time-bound)”
- Trigger: catalog item “Shared Mailbox Access”
- Validation: mailbox owner must be identified; access duration required
- Approval: mailbox owner (primary) with backup approver after 24h
- Execution: (a) grant access, (b) schedule automatic removal on end date, (c) update ticket
Why this needs governance (AI vs deterministic execution)
- Letting an AI agent directly change identity/access systems is risky: wrong group, wrong user, wrong scope, or missing approvals.
- The safe pattern is:
- AI = intent capture + context gathering + recommendation
- Autom Mate = policy enforcement + approvals + deterministic execution + audit trail
Questions for the community
- Where do your approval-based requests stall most often: wrong approver, no backup, or approval tooling issues?
- Do you prefer “compensating rollback” (undo partial access) or “complete what you can + escalate” for failed executions?