copilot-agent-withdraw-after-publish

Take a published Copilot Studio agent back out of service, least drastic action first, when it is answering badly in front of users.

Procedure

  1. start start. Goes next to s1
  2. check One channel, or all of them?. Goes on_fail to s9; next to s2
  3. decision Is the fault confined to one channel?. Goes if one-channel to s3; if default to s5
  4. action Unpublish from that channel only, RW (reversible-write), requires approval. Goes rollback to s4; on_fail to s5; next to s7
  5. action Republish to the channel, RW (reversible-write). Goes next to __end_success
  6. action Roll back to the previous version, DEL (destructive), requires approval. Goes rollback to s10; on_fail to s6; next to s7
  7. action Publish the corrected version, RW (reversible-write). Goes next to __end_success
  8. action Disable the agent in its environment, IRR (irreversible), requires approval. Goes on_fail to s9; next to s7
  9. escalate Escalate to the owner and the admin. Terminal
  10. action Tell the users who were affected, RW (reversible-write). Goes next to s8
  11. action Record what was done, and how long, RW (reversible-write). Goes next to __end_success
  12. end success. Terminal

Open the graph on its own page — larger, printable, and an address you can send.

Walk it without running it — you answer what your environment would answer, and the path, the capabilities, the approvals and the distance back to an undo come out of the document. Nothing executes; there is no Run button here and there will not be one.

Trust

T2 · attested 2026-10-11 · runbooks.directory

Nobody has attested this record. That is the ordinary case: T2 is what the catalog can check on its own, and T3 needs somebody to run the procedure and sign for it.

  • Link liveness has not been checked: it needs a network and the catalog builds without one. Run pnpm gates --online where there is one.

Steps

  1. s1 check — One channel, or all of them?
  2. s2 decision — Is the fault confined to one channel?
  3. s3 action — Unpublish from that channel only (reversible-write) — requires approval
  4. s4 action — Republish to the channel (reversible-write)
  5. s5 action — Roll back to the previous version (destructive) — requires approval
  6. s6 action — Disable the agent in its environment (irreversible) — requires approval
  7. s7 action — Tell the users who were affected (reversible-write)
  8. s8 action — Record what was done, and how long (reversible-write)
  9. s10 action — Publish the corrected version (reversible-write)
  10. s9 escalate — Escalate to the owner and the admin

Capabilities

This is a privilege request. Check it against your own allowlist before running.

    Provenance

    Source
    https://github.com/microsoft/ai-agent-runbooks/blob/083f33eec889/02-patterns/Agent-Publishing-and-Channel-Deployment/Agent-Publishing-and-Channel-Deployment-Runbook.md
    Fetched
    2026-09-04
    Source last checked
    not since it was captured on 2026-09-04 — recorded as current
    Licence
    MIT
    How it got here
    Rewritten here from the source above, under its licence. The words and the steps are this catalog's; the procedure it describes is not this catalog's invention, and the source is where to check it.
    Highest risk in this procedure
    irreversible

    Take it with you

    Run it under supervision

    This procedure contains irreversible steps. Run it here, where the supervisor is the thing invoking the commands and therefore sees every one of them: each step is proposed before it happens and a gate stops for you. Nothing about the run leaves this machine.

    # irreversible steps: every one stops for you before it runs.
    npx @runbooks/cli run adapted/copilot-agent-withdraw-after-publish@1.0.0 --as "$(whoami)" \
      --input agent=<the published agent> \
      --input channel=<the channel the reports are coming from>