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.
Setup
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-tokenAdd 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.
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}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}Available routes
The base URL is enough for a heartbeat. Variants enrich history if your platform has several branches.
GET https://YOUR_PING_URLPOST https://YOUR_PING_URL/successPOST https://YOUR_PING_URL/fail?msg=ErrorVerify
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.
200 {"ok":true}. The monitor moves from Pending to Up.