Claude routines and Claude Code scheduled tasks
Claude routines and Claude Code scheduled tasks can make web requests and run shell commands, so they can report in on their own. You only have to tell them where.
1. Add the agent
In the dashboard, add the agent: its name, its schedule in your timezone, and what success looks like. If success is countable, set Minimum items. Mirtel gives you the agent's link. Copy it now, because she shows it only once.
2. Add one line to the end of the task
Paste this at the end of the routine's or task's instructions:
Before you finish every run, read https://YOUR-MIRTEL-HOST/r/mrt_agent_… and do what it says.
That's it. When Claude opens the link, it gets its own contract and exact reporting steps. When it sends its report back to the same link, Mirtel writes it down. If you change the contract later, Claude sees the new version on its next run.
3. Check it worked
Run the task once by hand. The run should appear in the ledger within a few seconds. If it shows as Missed after the grace period, look at the task's output: did it open the link, and did it send the report?
If Claude can open the link but can't send to it, it will read the instructions and still show as Missed. Reporting needs Claude to send a POST request, not just read a page. If you'd rather be explicit, here is the call it makes:
curl -X POST https://YOUR-MIRTEL-HOST/r/mrt_agent_… \
-H 'Content-Type: application/json' \
-d '{"status":"done","items":3,"output":"3 new competitor posts, digest in Drive"}'No Authorization header is needed. The link is the key.
Scheduled tasks in the Claude app
Plain chat tasks often can't make arbitrary HTTP requests, so they can't send to the link. If your task can use a custom connector, give it Mirtel as one instead:
- Add a custom connector in the Claude app. Name it after the agent, for example Mirtel: Competitor digest, and use this address. It's the agent's link with
/r/changed to/mcp/, and the dashboard shows it next to the link.
https://YOUR-MIRTEL-HOST/mcp/mrt_agent_…- Turn the connector on for the task, and end its instructions with:
Before you finish every run, call report_run on the "Mirtel: Competitor digest" connector.
Use the name you gave the connector.
The connector gives Claude two tools: report_run to report, and get_contract to read what the agent is supposed to do. If you run several agents, add one connector for each. Each connector's tools say which agent they belong to, and the names you give them help Claude pick the right one.
If the task can't use connectors either, it will show as Missed. That's an honest Missed: Mirtel didn't hear from it.
Keep the link safe
Anyone with the link, or the connector address, can report as this agent. Keep it in the task's instructions or a secret, not in a file you share or commit. If it leaks, rotate the agent's key in the dashboard. The old link stops working at once, and you hand over the new one.