Every morning used to cost me 40 minutes before I did a single thing. Check Stripe. Check analytics. Check if anything broke overnight. Scroll Twitter to see if anything relevant happened. Open Notion to remember what I was working on.
That was not a morning routine. It was scattered manual data collection that ate the best cognitive hours of the day.
The fix was not a productivity system. It was an automated briefing that runs at 7 AM, pulls everything together, and drops it into Telegram before I make coffee. One message. Everything I actually need.
Here is exactly how that works, and how you can build the same thing.
What Does a Good Daily Business Briefing Actually Contain?
A useful briefing answers four specific questions: what is the one thing to do today, did anything break or spike overnight, what decisions are sitting in the queue, and how are the background systems running. Under 200 words, readable in 90 seconds, structured so the most important item always comes first.
Most founders overcomplicate this. They imagine some massive dashboard with 30 metrics. That is not the goal.
A good briefing answers four questions:
- What is the number one thing I should do today?
- Did anything break, spike, or drop overnight?
- What is sitting in queue that needs a decision?
- Any flags from the automated systems running in the background?
Everything else is noise. The briefing should be readable in 90 seconds.
The version running at Xero looks like this:
Morning Briefing | Friday June 12
#1 Priority: Ship the Build Lab onboarding sequence
Overnight flags:
- Xero Scout: 3 new sign-ups, 0 cancellations
- Blog: "how-to-validate-saas-idea" hit 142 views (up 60%)
- No system errors
Pending decisions:
- Newsletter issue scheduled for 9 AM, review pending
- Twitter queue has 4 posts ready
Today's focus: Content pipeline + Build Lab
No fluff. No long context. Just the state of the business in two minutes.
Why Does a Telegram Message Beat a Dashboard?
Dashboards require intent: you have to decide to open them. A Telegram message arrives whether you want it to or not. The briefing meets you where you already are, in the same app where real people message you, so there is zero friction between waking up and knowing where your business stands.
This matters more than it sounds. The goal is to start working from a grounded, informed state rather than spending the first hour of your morning reconstructing context from scattered sources.
Slack works too. Discord works. The point is: the message comes to you.
What Is the Basic Architecture Behind an AI Briefing?
Three components make this work: a scheduled AI agent that can run at a fixed time and pull from live data sources, connections to wherever your business numbers actually live (Stripe, Supabase, an analytics API), and a delivery target like a Telegram bot or Slack webhook that you actually check first thing in the morning.
You need three things:
An AI agent with cron scheduling. Something that can run at a fixed time, pull data from multiple sources, generate a summary, and deliver it. OpenClaw handles this natively with its cron tool and session system. You can read more about how cron scheduling works in the OpenClaw documentation.
Data connections. Wherever your business numbers live. For most solo founders this is Stripe (revenue), your analytics platform (traffic), your CRM or simple spreadsheet (leads), and any live systems running in the background.
A delivery target. Telegram bot, Slack webhook, email, whatever you actually read first thing.
The agent does not need to be complex. A prompt like: "Check the Stripe dashboard for overnight revenue, check Supabase for new signups, check the blog analytics for any spikes, identify the top priority task from the queue, flag anything that needs attention, and send a short morning briefing to Telegram" will get you 80% of the way there.
How Do You Set Up the Cron Job?
The cron job is the scheduler that fires the briefing agent every morning. You define a time (7 AM in your local timezone), a prompt for the agent to run, and a delivery target. For most setups this takes under an hour to configure once you have your API connections ready.
If you are running OpenClaw, the setup is straightforward. You define a schedule, a message/prompt for the agent to run, and a delivery target.
A minimal version looks like this:
{
"schedule": { "kind": "cron", "expr": "0 7 * * *", "tz": "America/Edmonton" },
"payload": {
"kind": "agentTurn",
"message": "Run the morning briefing: pull Stripe overnight revenue, check Supabase for new Xero Scout signups, check blog analytics for any significant traffic changes, identify today's #1 priority from the task queue, and deliver a short 200-word briefing to Telegram."
},
"sessionTarget": "isolated"
}
The key decision: isolated vs. persistent session. Isolated means each morning briefing runs fresh with no accumulated context. That is usually what you want. Persistent sessions are better for agents that need to remember what happened yesterday to make today's briefing meaningful.
For most founders starting out, isolated is simpler and safer.
What Data Sources Should You Pull From?
Start with revenue (Stripe overnight charges), product activity (new signups from your database), content performance (any post that spiked 30%+ on Plausible or Fathom), system health (did your cron jobs run without errors), and your top priority task from a simple queue table. Five sources cover most solo founder businesses completely.
This is where most setup guides get vague. Here is what actually matters:
Revenue. Stripe has an API. A simple call to the charges endpoint filtered by the last 24 hours tells you overnight revenue. If you are pre-revenue, this can be "leads created" instead.
Product activity. New signups, new user actions, any error spikes. If you are using Supabase, a quick query to your users table filtered by created_at >= now() - interval '24 hours' gives you overnight signups.
Content performance. If you are doing SEO or posting content, any post that spiked 30%+ overnight is worth knowing about. Plausible Analytics has a simple API. So does Fathom.
System health. Are your automations running? If you have agents doing scheduled work, you want to know if anything failed.
Priority task. This one requires a task queue. Even a Supabase table with tasks and a priority field is enough. The agent queries the top-priority incomplete task and surfaces it.
You do not need all five on day one. Start with revenue and one system health check. Expand from there.
What Prompt Actually Produces a Clean Briefing?
Most agents produce briefings that are too long, too structured, or full of unnecessary commentary. The prompt matters more than the tool. The key moves: plain text only (no markdown in Telegram), lead with the priority, end with flags, and explicitly tell the agent not to explain what it is doing.
This is a version of the prompt in the Xero morning briefing that produces clean output:
You are running the morning briefing for a solo AI founder. Pull the following data: overnight Stripe revenue, new Supabase signups, any blog posts with traffic spikes, and the top priority task from the queue. Write a briefing under 200 words. Plain text only, no markdown, no headers. Lead with the #1 priority. Follow with overnight numbers. End with any flags. Be direct. If there is nothing unusual, say so. Do not explain what you are doing.
The "plain text only, no markdown" instruction is important. Markdown headers in a Telegram message look clunky. The briefing should read like a message from a sharp assistant, not a formatted report.
Does Adding an Evening Briefing Make the System Better?
Yes, significantly. A nightly recap running around 9 PM logs what actually shipped versus what was planned, any metrics that moved, and what to focus on tomorrow. That context feeds into the morning briefing and creates a compounding feedback loop that gets sharper over time.
The combination does something useful: it creates a feedback loop where tomorrow's morning briefing has better context because last night's recap logged what actually happened.
This is not a complicated system. It is just two cron jobs with well-crafted prompts. But the compounding effect on focus is real.
Read: How to Schedule AI Agent Tasks covers the cron setup in more detail if you want to go deeper on the scheduling side.
What Tool Do You Actually Need to Build This?
You need an AI agent framework that handles cron scheduling, session management, API calls, and message delivery without requiring you to stitch together raw webhooks and custom scripts. OpenClaw is what the Xero stack runs on. The morning briefing, nightly recap, and Sunday CEO review all run on top of it as scheduled isolated sessions.
A lot of founders try to build this with raw API calls and custom scripts on the first attempt. That works, but it takes time to set up reliably.
The full system, including the briefing prompts, cron configs, and Supabase query patterns, is inside the AI Operating System guide. It is a one-time download for $7 and covers the full daily automation stack.
If you want it built for your specific business, that is what Build Lab is for.
How Long Does It Take to Set Up?
For a basic version with Telegram delivery and one or two data sources, expect two to three hours the first time, mostly spent on getting the API connections right. The full version with Stripe, Supabase, analytics, and a task queue takes a weekend. The payback is fast: recovering 40 minutes every morning adds up to 240 hours a year.
The briefing is not a luxury. It is infrastructure. Every business, even a one-person business, benefits from a clean daily readout that surfaces what matters and ignores what does not.
Build it once. It runs for years.
Related reading:
- How to Build a Personal AI Assistant That Knows Your Business
- How to Track What Your AI Agent Is Doing
- How to Schedule AI Agent Tasks
Start Building Your Own AI System
- Your First AI Agent - $1 launch-test guide, instant download. The fastest way to get started.
- Build an AI Co-Founder - the full architecture ($19).
- AI for the Rest of Us newsletter - practical AI 3x/week for people with day jobs.
Want to build your own AI co-founder?
I'm building Xero in public — an AI system that runs distribution, content, and ops while I work a full-time job.
- Start here: Your First AI Agent — $7 guide, instant download
- Go deeper: Build an AI Co-Founder — the full architecture ($19)
- Newsletter: AI for the Rest of Us — practical AI 3x/week for people with day jobs
- Site: xeroaiagency.com
Originally published at xeroaiagency.com
Top comments (0)