Every morning: yesterday’s commits, open approvals, task status and today’s schedule, assembled from APIs and posted to the group. Numbers come from command output, never invented; a missed run pages the watchdog.
Hedy automates daily reports by pulling live data straight from your systems' APIs, so every number is the literal output of a real query, never invented. The evidence gate forces each figure to cite its source verbatim, so a reader can trace "revenue: 48,210" back to the exact rows. Reports run on cron with an explicitly declared delivery target (a named Lark or Slack channel), never an implicit "last channel," and a watchdog fires an alert if a run stalls or a source returns empty. Self-hosted; one Hedy owns the whole reporting cadence.
Last updated: 20 July 2026
A cron job with an explicit delivery target — not "whoever asked last".
Counts come from command output and API responses. If a source is down, the report says so.
The Feishu, Lark or Slack group of your choosing, on your schedule and timezone.
A missed run pages the watchdog. You will never silently not-get a report.
A daily report is only useful if the numbers are real. Hedy builds each report by calling your systems directly, your database read replica, your analytics API, your billing or ticketing endpoints, and the figures it prints are the literal output of those queries. There is no summarization layer that guesses. The evidence gate requires every number to carry a verbatim citation back to the command that produced it, so a reader can click from a headline figure to the exact row set. If a source returns nothing, Hedy says the source was empty; it does not fill the gap with a plausible-looking estimate.
This is the opposite of a cloud AI assistant that lives in your chat and paraphrases whatever scrolled by. Hedy runs on your own infrastructure (Docker or K8s, about 30 minutes with compose, air-gap supported), reads through ACL-scoped retrieval so a report only contains what its intended audience is cleared to see, and calls models through your own keys, including local vLLM or Ollama, so raw data never leaves your network. One Hedy owns the whole reporting job end to end instead of adding a seat to a team.
Scheduling is governed, not implicit. Every cron job declares its delivery target explicitly, a named Lark or Slack channel, because "send it wherever I last spoke" is exactly how a 9am finance report leaks into a public channel. Delivery is a whitelisted write action: Hedy defaults to denying writes and only sends to targets that are pre-approved, with the send recorded in an append-only audit log.
A watchdog backs the schedule. If a report run stalls, a data pull times out, or a query comes back empty when it shouldn't, the watchdog raises an alert to the declared channel instead of silently skipping the day or shipping a blank report. The failure is visible and attributable. You get a report you can trust the numbers in, delivered where you decided, or you get told exactly why one didn't arrive.