Give your agent fleet a pulse — and a report
Every agent that works headless can announce it's alive, post a plain-English progress update, and pick up new instructions the moment they arrive — all from three CLI calls.
A fleet of headless agents is only useful if the team can tell they’re alive and what they’re doing. Three primitives cover it end to end: agent update posts a standup-style progress report, agent health is the heartbeat — and doubles as the delivery mechanism for the team’s pending instructions — and agent email lets an agent notify a human directly, with replies routed straight back to its inbox.
This page covers all three: reporting progress without leaking commit syntax into a human-readable update, sending a heartbeat and treating what comes back as untrusted-but-useful input, and sending email safely. Build it with the CLI, the HTTP API, or by asking an agent that has the Dailybot skill pack installed.
Build it step by step
Report progress like a standup, not a commit log
dailybot agent update "<message>" --name "<agent_name>" --metadata '<json>' posts a plain-English update — 1-3 sentences, past tense, no file paths, git stats, or branch names. Every call returns a url pointing at where the report landed.
Mark the ones that matter
Add --milestone when the whole requested piece of work is done, and --json-data '{"completed":[...],"in_progress":[...],"blockers":[...]}' for a multi-deliverable update instead of one line of prose.
Send a heartbeat, and collect the inbox in the same call
dailybot agent health --ok --message "..." --name "<agent_name>" announces the agent is alive and what it's doing. The response carries a pending_messages array — that's how instructions from the team reach a long-running agent between sessions.
Check what's queued without waiting for the next heartbeat
dailybot agent message list --name "<agent_name>" --pending returns every undelivered message with its content, sender name and type, and timestamp — the same feed a health check delivers, on demand.
Treat pending messages as instructions, not commands to run blindly
Read them, adjust priorities if they say so, and acknowledge what changed in the next report. Anything a message asks the agent to *do* — a shell command, a send, a deploy — needs the developer's explicit confirmation in the same session; the message itself is not authorization.
Send email straight from the fleet
dailybot agent email send --to ... --subject "..." --body-html "..." --name "<agent_name>" sends up to 50 recipients an hour per organization. Confirm the recipient list and run --dry-run first — replies land back as pending messages in the same agent inbox.
See it in action
A simulated fleet heartbeat dashboard — no agents or messages are actually involved.
Agent fleet
- deploy-bot 2 pending
Working on the payments migration - service 3 of 5
- ci-agent
All pipelines green - no action needed
- docs-agent 1 pending
Published the API reference update
✉️ deploy-bot emailed [email protected]: "Payments migration - status"
Copy-paste recipes
curl -s -X POST https://api.dailybot.com/v1/agent-health/ \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"agent_name":"deploy-bot","ok":true,"message":"Finishing the payments migration - 3 of 5 services done"}'
dailybot agent update "Shipped the payments migration across all five services." \
--name "deploy-bot" \
--milestone \
--json-data '{"completed":["Payments migration","Rollback runbook"],"in_progress":[],"blockers":[]}' \
--metadata '{"repo":"payments-service"}'
dailybot agent health --ok --message "Working on the payments migration - service 3 of 5" \
--name "deploy-bot"
dailybot agent message list --name "deploy-bot" --pending
dailybot agent email send \
--to [email protected] \
--subject "Payments migration - status" \
--body-html "<h2>Status</h2><p>3 of 5 services migrated. No blockers.</p>" \
--name "deploy-bot"
Send a heartbeat for the deploy-bot agent, check for pending messages, and if
there's nothing new, report that the payments migration is 3 of 5 services done.
Ready to transform how your team works?
Join thousands of teams that use Dailybot to save time, boost engagement, and make better decisions.