Copilot Studio guide

Monitor Copilot Studio schedules and agent flows

A conversational agent does not “run on a loop” the way a nightly cron does. What is worth monitoring is work that should happen on a schedule or after a completed automation: agent flows, topics that perform a fixed sequence of actions, or — most often — a Power Automate cloud flow the agent calls. Do not attach a heartbeat to every user message; that only proves chat traffic, not that a business process still runs.

Before you start

Create a monitor with your workflow’s real frequency, then copy its URL from the dashboard. Its token is secret: do not publish it.

Module to use : Send HTTP request. Place it after the last useful action on the success path.

Setup

1

Decide what to monitor (often the Power Automate flow)

If the agent’s real work lives in a Power Automate cloud flow (common pattern), create the Verifagent monitor on that flow and follow the Power Automate guide — that is usually the better signal. Use a Copilot Studio heartbeat only when a topic or agent flow itself completes a scheduled or batch job without going through Power Automate. Create one monitor per process you care about and copy its ping URL.

https://verifagent.com/api/ping/your-ping-token
2

Add a Send HTTP request node after the real work

In the topic (or agent flow) authoring canvas, add a node after the last business action. Per Microsoft Learn: Add node → Advanced → Send HTTP request. Set Method to GET and paste the Verifagent URL (or reference a variable that holds it). Leave the body empty (No content). Authentication is not required for Verifagent.

3

Keep the ping on the success path only

Place Send HTTP request after Dataverse / connector / flow-call steps that define success. Do not put it at the start of the topic. If you call Power Automate from the topic, prefer putting Verifagent inside that flow (after its work) rather than pinging from the topic before the flow finishes.

GET https://verifagent.com/api/ping/your-ping-token # Copilot Studio · Send HTTP request # Method: GET # URL: <ping URL> # Body: No content # Expected response sample (optional schema): # {"ok":true}
4

Test the path that should heartbeat

Trigger the topic or agent flow once through Test (or the schedule that matters). Confirm the HTTP node returns 200 / {"ok":true}, then check Up in Verifagent. If the agent only calls Power Automate, test that flow instead — see the Power Automate guide.

{"ok":true}
Heartbeat only paths that represent completed scheduled or batch work. Match expected period to that schedule; set grace above agent + connector latency. For chat-only agents with no schedule, Verifagent is usually the wrong tool — monitor the backend flow instead.

Available routes

The base URL is enough for a heartbeat. Variants enrich history if your platform has several branches.

GET https://YOUR_PING_URL
POST https://YOUR_PING_URL/success
POST https://YOUR_PING_URL/fail?msg=Error

Verify

A successful test of the monitored path flips the monitor to Up. Skip the HTTP node or stop the schedule: no ping should arrive and Verifagent opens an incident after period + grace.

Expected response: 200 {"ok":true}. The monitor moves from Pending to Up.