Digitorn
Digitorn
← All use cases
ops

Build a scheduled reporter in YAML

An agent that fires on a schedule, pulls together a digest, and posts it somewhere.

triggers.cronwebchannels.slack
The pattern

Cron triggers turn an agent into a scheduled worker. It fires on the cron, runs to completion, posts the result, exits. No always-on process, no separate scheduler, no manual deploy step. The schedule lives next to the agent that uses it.

What good looks like
  • Reliable execution at the configured time
  • Idempotent output, two runs in a row do not duplicate
  • Clean exit after the job, no orphan processes
  • Logs structured enough to debug a missed run
Common pitfalls
  • Forgetting timezone settings, runs at midnight UTC instead of local
  • Letting the agent loop forever if the data source is empty
  • No retry on transient failures
  • Posting to the wrong channel during a permission rotation

The minimum YAML to ship this

app.yaml
1modules:2  web: {}3  channels:4    config:5      slack: { bot_token: { credential: slack_bot } }67triggers:8  - id: weekly9    kind: cron10    schedule: "0 9 * * MON"11    target: { agent: reporter, message: "Generate the Monday digest." }1213agents:14  - id: reporter15    modules: [{web: [search, fetch]}, {channels: [slack_post]}]16    brain: { model: claude-haiku-4-5 }
Ship in 5 minutes

Install Digitorn and deploy this agent

# 1. install runtime
curl -sSL https://digitorn.ai/install | sh

# 2. save the YAML above to ~/.digitorn/apps/my-cron-reporter/app.yaml
mkdir -p ~/.digitorn/apps/my-cron-reporter
# paste the YAML into app.yaml

# 3. deploy
digitorn deploy my-cron-reporter
Newsletter

Get the next post in your inbox.

Engineering notes from the Digitorn team. No marketing, no launch announcements, no "10 prompts that will change your life". Just the things we write that we'd want to read.

One-click unsubscribe. We never share your address. Powered by our own infrastructure, not a tracker.

Other things you can build

communicationSlack copilot/use-cases/slack-botdeveloperAutomated code reviewer/use-cases/code-reviewknowledgeResearch agent with citations/use-cases/research-agentdeveloperDocumentation generator/use-cases/documentation-generatorcommunicationVoice assistant/use-cases/voice-assistantdeveloperPR triager/use-cases/pr-triagerknowledgeMeeting note-taker/use-cases/meeting-notesopsEmail triager/use-cases/email-triagecreativeLive React app builder/use-cases/react-builder