The problem: Azure DevOps global PAT retirement is about to break “quiet” automations
Microsoft is retiring Global Personal Access Tokens (PATs) in Azure DevOps, and March 15, 2026 is a key cutoff: creation of new global PATs and regeneration of existing global PATs will be blocked. (devblogs.microsoft.com)
In practice, this creates a familiar failure mode:
- A global PAT is embedded in a script, pipeline variable, or integration.
- Nobody “owns” it anymore.
- The token can’t be regenerated after the cutoff.
- The first time you notice is when builds/releases start failing.
This is a great fit for Autom Mate because it’s an orchestration problem: you need inventory + validation + approvals + deterministic execution + audit logs + exception handling across DevOps + ITSM + comms.
Proposed pattern: a governed “PAT migration & cutover” orchestrator (deterministic, auditable)
Below is an end-to-end workflow you can implement as an Autom in Autom Mate using scheduled/event triggers, dpdability, and error handling with retries/fallbacks.
End-to-end workflow (trigger → validation → approvals → deterministic execution → logging → exception handling/rollback)
Trigger
- Scheduled trigger runs daily until the cutoff date (and then weekly after) to find remaining global PAT dependencies. Autduled triggers and API-based triggers.
Validation
- Pull a “token dependency inventory” (from a CSV/Excel export, a CMDB table, or a simple list stored in your workflow variables).
- Validate each record has: system, owner, repo/project, pipeline name, secret location, and migration target.
- If required fields are missing, route to an exception path (don’t attempt changes). Autom Mate supports daiApprovals (human-in-the-loop)
- For each dependency, generate a “change plan” summary:
- What will be changed (where the PAT is stored/used)
- What the replacement auth method is (e.g., scoped token, service connection, OAuth)
- Backout plan
- Pause for approval using supervised execution (human approves before action). Autom Mate supports supervised mode with visible steps/logs.
tion (no surprises)**
- Execute a fixed, repeatable sequence per item:
- Update secret store / pipeline variable / service connection reference
- Trigger a test pipeline run (or a dry-run stage)
- Verify success criteria (build passes, expected API calls succeed)
- If you’re integrating with Azure DevOps directly, prefer the Autom Mate Azure DevOps integration library actions where available (e.g., work item/project operations).
- If a specific endpoinibrary, use a REST/HTTP action (Autom Mate supports sending HTTP requests as a library action).
Logging & audit trail
- Log every decme:
- Input validation results
- Approval identity + timestamp
- Exact changes applied
- Test run results
Autom Mate provides execution logs, monitoring, and audit-oriented controls.
Exception handling + rollback
- If any step fails:
- Ret (network/API)
- Notify the right channel (email/Slack) with the run context
- Roll back by restoring the previous secret reference/value (from a pre-change snapshot captured at runtime)
Autom Mate supports error handling rules, retries, fallback actions, and notifications.
Two mini examples
Mini example 1: “Unknown owner” token found in a legacy pid named ADO_GLOBAL_PAT but the inventory record has no owner.
- Validation fails → Autom Mate routes to exception handling:
- Create an ITSM ticket (e.g., Jira/Xurrent depending on your environment)
- Notify a distribution list
- Block any automated change until ownership is assigned
Autom Mate is designed for cross-system orchestration and ticketing workflows (e.g., Jira/Xurrent patterns) with strong logging.
Mini example 2: “Approved cutover” with automatic verification and backout
- Owner approves the change plan.
- Autom upderun, and checks for success.
- If the test run fails, Autom restores the previous value and posts a failure summary + next steps.
This uses supervised approvals, deterministic steps, and built-in error handling/fallbacks.
Why this is timely (and why orchestration matters)
The March 15, 2026 block on creating/regenerating global PATs means “we’ll fix it later” turns into “we can’t reg(om](Retirement of Global Personal Access Tokens in Azure DevOps - Azure DevOps Blog))
The hard part isn’t just rotating a credential—it’s coordinating:
- ownership
- approvals
- safe execution
- proof (logs)
- rollback
Discussion questions
- How are you currently discovering where global PATs are used (pipelines, scripts, integrations), and what’s your source of truth?
- Would you rather run this as a daily scheduled Autom until March 15, 2026, or trigger it from pipeline/webhook events when a PAT-related failure is detected?