FREE GUIDE 8 CHAPTERS ~20 MIN READ NO CODING NEEDED

Schedule Daily Reports with Cron Jobs

Set it once, get reports forever — free, automatic, no coding required

By the time you finish this guide, you will have a daily email briefing, a weekly performance report, and a monthly invoice reminder — all running on autopilot. You will understand the five numbers that control every schedule. Twenty minutes. Free. No tech degree.

Before We Get Started

Here is everything you need to follow this guide:

  • An OpenClaw account — free to create
  • At least one data source (Google Sheets, a CRM, or Stripe)
  • An email account to receive reports
  • A credit card — NOT needed
  • Any coding or math skills — also NOT needed

Cron scheduling is included free in every OpenClaw plan. No upgrade required.

What This Costs (Spoiler: Nothing)

Cron job scheduling is a built-in feature of OpenClaw. It is included in the free plan. There is no add-on, no premium tier, and no per-schedule fee.

FeatureCostNotes
Cron SchedulingFreeFREE FOREVER — included in all plans
Daily / Weekly / Monthly TriggersFreeFREE FOREVER — unlimited schedules
Email ActionsFreeFREE FOREVER — send to any email
FREE WITH LIMITS

OpenClaw's free plan includes a limited number of automation runs per month. Most small businesses stay well within the limit with daily reports. If you exceed it, paid plans start at $10/month.

Start free. You will know when you need more.

How This Guide Works

Every chapter follows the same simple framework: WHAT, HOW, and WHEN. First, we explain the concept. Then, we walk you through building it step by step. Finally, we show you when and how often to use it.

By the end of all 8 chapters, you will understand cron expressions, have three automations running on autopilot, and know how to troubleshoot when things go sideways.

What's Inside

  1. What Is a Cron Job? A Timer For Your Automations
  2. The 5 Numbers That Control Everything
  3. Common Schedules Cheat Sheet
  4. Build a 9 AM Daily Email Briefing
  5. Build a Weekly Performance Report
  6. Build a Monthly Invoice Reminder
  7. Advanced — Multiple Cron Jobs Working Together
  8. Troubleshooting
Chapter 1

What Is a Cron Job? A Timer For Your Automations

What This Is

Angela runs a Shopify store selling handmade candles. Every morning she woke up, made coffee, opened her laptop, logged into Shopify, checked yesterday's sales, opened Google Sheets, typed the numbers in, then wrote herself a summary. Thirty minutes, every single day.

Then she set up a cron job in OpenClaw. Now at 9 AM sharp, an email lands in her inbox with yesterday's sales, top-selling candle, and new subscriber count. She reads it while sipping coffee. The thirty minutes turned into thirty seconds.

How It Works (Plain English)

You already know what a timer is. You set a timer on your microwave for three minutes. It beeps when time is up. A cron job is the same idea, but for your automations.

Here is the difference: a microwave timer counts down once. A cron job repeats. You tell it "run this every morning at 9 AM" and it does — today, tomorrow, next week, next month. It never forgets. It never sleeps in.

The name "cron" comes from the Greek word "chronos," which means time. All you need to know is this: a cron job is a timer that runs your automation on a schedule you pick.

Cron vs. Heartbeat

FeatureHeartbeatCron
How it worksRuns every X minutes/hoursRuns at a specific time on specific days
Example"Every 15 minutes""Every Tuesday and Thursday at 2:30 PM"
Best forFrequent checks where exact time does not matterScheduled reports, reminders, summaries

What People Use Cron Jobs For

When to Use This

Any time you want something to happen at a specific time on specific days. If you catch yourself saying "I need to remember to do this every Monday" or "I should check this every morning" — that is a cron job waiting to be built.

Chapter 1 Complete

  • I understand what a cron job is (a repeating timer)
  • I know the difference between cron and Heartbeat
  • I have an idea for my first scheduled automation
Chapter 2

The 5 Numbers That Control Everything

What This Is

Every cron schedule is written as five numbers (or symbols) separated by spaces. That might look confusing right now, but in two minutes it will make perfect sense. Each number controls one piece of the schedule.

The Format

0 9 * * *
Translation: "At 9:00 AM, every day."
PositionWhat It ControlsRange
First numberMinute — which minute of the hour0 to 59
Second numberHour — which hour (24-hour clock)0 to 23
Third numberDay of the month — which date1 to 31
Fourth numberMonth — which month1 to 12
Fifth numberDay of the week — which weekday0 to 6 (0 = Sunday)

The Star (*) Means "Every"

When you see a star, it means "every." A star in the minute spot means every minute. A star in the day spot means every day. A star in the month spot means every month.

The 24-Hour Clock

Cron uses a 24-hour clock. Here is a quick translation:

Regular Time24-Hour TimeCron Hour Number
6:00 AM06:006
9:00 AM09:009
12:00 PM (noon)12:0012
3:00 PM15:0015
6:00 PM18:0018
9:00 PM21:0021
12:00 AM (midnight)00:000

Let Us Read Two Examples

0 9 * * *

0 = at minute zero (top of the hour). 9 = at hour 9 (9:00 AM). * * * = every day, every month, every weekday. Translation: "At 9:00 AM, every day."

30 14 * * 1

30 = at minute 30. 14 = at hour 14 (2:00 PM). * = every day of the month. * = every month. 1 = Monday. Translation: "At 2:30 PM, every Monday."

Quick Win: You just learned to read cron expressions. That is a skill most people think requires a computer science degree. It does not. It is five numbers.

Chapter 2 Complete

  • I know what the five cron positions mean
  • I understand the star (*) means "every"
  • I can read a basic cron expression
Chapter 3

Common Schedules Cheat Sheet

What This Is

You do not need to memorize cron codes. Bookmark this page and copy the one you need. This is the cheat sheet that the IT department at a 200-person insurance company printed and taped to the wall. If it works for enterprise, it works for you.

Schedules You Will Actually Use

What You WantCron ExpressionIn Plain English
Every morning at 9 AM0 9 * * *Minute 0, hour 9, every day
Every evening at 6 PM0 18 * * *Minute 0, hour 18, every day
Every Monday at 9 AM0 9 * * 1Minute 0, hour 9, every Monday
Every weekday at 8 AM0 8 * * 1-5Minute 0, hour 8, Monday through Friday
Every Sunday at midnight0 0 * * 0Minute 0, hour 0, every Sunday
First of every month at 8 AM0 8 1 * *Minute 0, hour 8, day 1 of every month
Every 15 minutes*/15 * * * *Every 15th minute, every hour
Every hour on the hour0 * * * *Minute 0, every hour
Twice a day (9 AM and 6 PM)0 9,18 * * *Minute 0, hours 9 and 18
Mon, Wed, Fri at noon0 12 * * 1,3,5Minute 0, hour 12, Mon/Wed/Fri
Every quarter (Jan, Apr, Jul, Oct 1st)0 9 1 1,4,7,10 *Minute 0, hour 9, 1st of quarter months

Special Symbols

Comma (,) means "and." Example: 1,3,5 in the weekday spot means Monday and Wednesday and Friday.

Dash (-) means "through." Example: 1-5 in the weekday spot means Monday through Friday.

Slash (/) means "every Nth." Example: */15 in the minute spot means every 15 minutes.

Action Step: Pick one schedule from the table above that matches something you want to automate. Write it down. You will use it in the next chapter.

Chapter 3 Complete

  • I bookmarked the cheat sheet
  • I know what commas, dashes, and slashes do
  • I picked a schedule for my first automation
Chapter 4

Build a 9 AM Daily Email Briefing

What This Is

Raj is a solo freelance web designer. He tracks leads, project hours, and invoices in a Google Sheet. Every morning at 9 AM, his automation pulls yesterday's numbers and emails him a clean summary. He reads it on his phone before opening his laptop. He knows exactly where he stands before his first meeting.

This is your first cron-powered automation. It sends you an email every morning at 9 AM with your key business numbers.

What You Will Build

Every day at 9:00 AM, your automation will: (1) pull your latest numbers, (2) format them into a clean email, and (3) send it to your inbox.

Step-by-Step Instructions

1

Open OpenClaw and create a new flow

Click Create New Flow or New Automation.

2

Set the trigger to Schedule (Cron)

Look for a trigger called "Schedule," "Cron," or "Timer." Select it. Enter this cron expression:

0 9 * * *
Translation: "Run at 9:00 AM every day."
3

Add a step to pull your data

This depends on where your data lives. Common options: Google Sheets (Read Rows), your CRM (query new leads), or Stripe (list today's payments). Add multiple steps if you have multiple data sources.

4

Format the message

Use a "Code" or "Text" step to combine your data. Here is a template you can copy:

Copy This Template
Good morning! Here is your daily briefing. New leads yesterday: [lead count] Revenue yesterday: $[revenue amount] Website visits: [visit count] Top traffic source: [source name] Open support tickets: [ticket count] Have a great day.
5

Add an email step

Choose Send Email or Gmail — Send Email. Set the recipient to your own email address. Set the subject to "Daily Briefing — [today's date]."

6

Publish the flow

Click Publish. Your automation is live. Check your email at 9 AM tomorrow.

Your daily briefing is set. Every morning at 9 AM, you will know exactly how your business is doing — before you finish your coffee.

Chapter 4 Complete

  • Created a new flow with a cron trigger
  • Connected my data source
  • Published the daily briefing automation
Chapter 5

Build a Weekly Performance Report

What This Is

The marketing team at a 50-person SaaS company used to spend every Monday morning pulling numbers from five different dashboards. Leads, trial signups, demo calls, revenue, and churn. Then someone on the team spent an hour making a slide deck. Now a single cron job does it all at 9 AM Monday and emails the whole team.

A daily briefing tells you what happened today. A weekly report tells you the bigger picture — are things going up or down?

What You Will Build

Every Monday at 9:00 AM, your automation will: (1) pull this week's numbers, (2) pull last week's numbers, (3) calculate the difference, and (4) send you a report showing whether you are up or down.

Step-by-Step Instructions

1

Create a new flow with a cron trigger

Cron expression:

0 9 * * 1
Translation: "Run at 9:00 AM every Monday."
2

Pull this week's data

Add a step that gets your numbers from the last 7 days. Sum up leads, revenue, orders, or whatever you track.

3

Pull last week's data

Add another step that gets numbers from 8 to 14 days ago. This is your comparison baseline.

4

Calculate the change

Add a Code step with this formula:

Change = ((This Week - Last Week) / Last Week) x 100

Positive = growing. Negative = shrinking.

5

Format the report

Copy This Template
Weekly Performance Report — Week of [date] Leads: [this week] (was [last week], change: [+/-]%) Revenue: $[this week] (was $[last week], change: [+/-]%) Website visits: [this week] (was [last week], change: [+/-]%) New customers: [this week] (was [last week], change: [+/-]%) Top win this week: [highest growth area] Needs attention: [biggest decline area]
6

Send it and publish

Use an email step, a Telegram message, or both. Click Publish.

Pro Tip: Send the weekly report to your whole team. Everyone starts Monday on the same page, knowing exactly where the business stands.

Chapter 5 Complete

  • Created a Monday 9 AM cron trigger
  • Set up this-week vs. last-week comparison
  • Published the weekly performance report
Chapter 6

Build a Monthly Invoice Reminder

What This Is

Elena runs a small accounting firm with four employees. Her clients sometimes forget to pay. She used to spend two hours on the first of every month writing reminder emails. Now a cron job checks her invoice list, finds unpaid invoices, and sends a polite reminder to each client. Two hours of work, gone. Zero emails written by hand.

Getting paid on time is hard. This automation sends a polite reminder to every client who has an unpaid invoice on the first of every month.

What You Will Build

On the first of every month at 8:00 AM, your automation will: (1) check your invoice list for unpaid invoices, (2) loop through each one, and (3) send a reminder email to each client.

Step-by-Step Instructions

1

Create a new flow with a cron trigger

Cron expression:

0 8 1 * *
Translation: "Run at 8:00 AM on the 1st of every month."
2

Pull your unpaid invoices

Add a step that reads from wherever you track invoices — Google Sheets, QuickBooks, Stripe, or your own database. Filter for invoices where the status is "unpaid" or "overdue."

3

Add a loop

In OpenClaw, look for a "Loop" or "For Each" action. This takes a list (your unpaid invoices) and runs the next steps once for each item.

4

Inside the loop, send an email

Copy This Template
Subject: Friendly reminder — Invoice #[number] is outstanding Hi [client name], This is a quick reminder that Invoice #[number] for $[amount] is still outstanding. It was originally due on [due date]. You can pay online here: [payment link] If you have already sent payment, please disregard this message. If you have any questions, just reply to this email. Thank you, [Your name]
5

(Optional) Log the reminder

Add a step that updates your spreadsheet to mark "reminder sent on [today's date]." This helps you track how many reminders each client has received.

6

Publish the flow

Now on the first of every month, every client with an unpaid invoice gets a polite nudge. You did not write a single email.

Quick Win: Businesses that send invoice reminders get paid 14 days faster on average. This automation pays for itself (literally) the first month.

Chapter 6 Complete

  • Created a monthly cron trigger (1st of each month)
  • Set up the loop to process each unpaid invoice
  • Published the invoice reminder automation
Chapter 7

Advanced — Multiple Cron Jobs Working Together

What This Is

The operations department at a 300-person logistics company runs 12 cron jobs that feed into each other. Daily shipment counts roll up into weekly performance reports. Weekly reports roll up into monthly executive summaries. Monthly summaries roll up into quarterly board decks. One person manages the entire system.

One cron job is useful. Multiple cron jobs working together are powerful. Here is how to build a system where your daily, weekly, and monthly automations all feed into each other.

The Daily-Weekly-Monthly System

ScheduleWhat It DoesCron Expression
Every morning at 9 AMDaily briefing with yesterday's numbers0 9 * * *
Every evening at 6 PMEvening recap with today's numbers0 18 * * *
Every Monday at 9 AMWeekly report comparing this week to last0 9 * * 1
First of every month at 8 AMMonthly invoice reminders0 8 1 * *
First of every month at 9 AMMonthly summary with comparisons0 9 1 * *
First of every quarter at 9 AMQuarterly review with 90-day trends0 9 1 1,4,7,10 *

How They Work Together

Your daily briefing collects raw numbers and saves them to a spreadsheet. Your weekly report reads from that same spreadsheet and compares 7-day windows. Your monthly summary reads from the same data and compares 30-day windows. Your quarterly review reads from the monthly summaries. Each layer builds on the one below it.

The Evening Recap (Bonus)

Every day at 6 PM, this automation sends you: today's final numbers, any follow-ups that came in, and a reminder of what is scheduled for tomorrow. Copy your morning briefing, change the cron to 0 18 * * *, and add a "tomorrow's schedule" section. Five minutes to set up.

Tips for Running Multiple Cron Jobs

  1. Stagger the times. Do not run five automations at exactly 9:00 AM. Run them at 8:55, 9:00, 9:05. This prevents overload.
  2. Use a shared spreadsheet. Have all your automations read from and write to the same data source.
  3. Name your flows clearly. Use names like "Daily Briefing — 9 AM" and "Weekly Report — Monday."
  4. Test each one individually. Make sure each works on its own before connecting them.
When to Use This

Once you have one cron job working, add a second. Then a third. Build the system gradually. Most businesses end up with 3 to 6 cron jobs that cover everything they need.

Chapter 7 Complete

  • I understand how daily, weekly, and monthly jobs feed into each other
  • I know how to stagger times and name flows clearly
  • I have a plan for my reporting system
Chapter 8

Troubleshooting

What This Is

Here are the most common cron job problems and exactly how to fix each one. Bookmark this section.

Problem: Wrong Time (Timezone Issue)

What you see: Your automation runs, but at the wrong time. You set it for 9 AM but it fires at 4 AM.

Fix it: OpenClaw's cron scheduler might be set to a different timezone. Check the timezone setting in your flow or in your account settings. If you are in New York (Eastern Time) and the server is set to UTC, 9 AM UTC is 4 AM or 5 AM Eastern. Change the timezone to match your location.

Problem: Automation Did Not Fire

What you see: The time passed and nothing happened.

Fix it: (1) Check that the flow is published and active. (2) Check the cron expression for typos. (3) Look at the flow's run history. (4) If it still did not run, delete the trigger and recreate it.

Problem: Cron Expression Not Accepted

What you see: You type in a cron expression and OpenClaw shows an error.

Fix it: (1) Make sure you have exactly five values separated by spaces. (2) Check for extra spaces. (3) If */15 does not work, try 0,15,30,45. (4) Some systems use a sixth field for seconds — try adding a 0 at the beginning.

Problem: Getting Too Many Reports

What you see: Reports arrive every minute instead of once a day.

Fix it: You probably have a star (*) where you should have a specific number. * 9 * * * means "every minute of the 9 AM hour" (60 emails). You want 0 9 * * * (just once, at minute zero). Double-check every position.

Problem: Report Shows Wrong or Empty Data

What you see: The report arrives on time but the numbers are wrong or empty.

Fix it: (1) Check your date filters — are you pulling "yesterday's" data or "today's"? (2) Make sure the data source is still connected. (3) Run the data step manually and check what it returns.

Problem: Unsupported Cron Schedules

What you see: You want "every other Tuesday" or "the last day of the month" and cannot figure out the expression.

Fix it: Standard cron does not support every possible schedule. Workarounds: for every other week, add a code step that checks the week number. For last day of month, use day 28 or run it on the 1st of the next month. For business days only, use 1-5 in the weekday spot.

Chapter 8 Complete

  • I know how to fix timezone issues
  • I know the difference between * 9 and 0 9
  • I bookmarked this troubleshooting section
Quick Reference

Cron Cheat Sheet — The Bookmarkable Card

Bookmark this section. Copy and paste the expression you need.

#ScheduleCron ExpressionBest For
1Every morning at 9 AM0 9 * * *Individuals, small business daily briefings
2Every evening at 6 PM0 18 * * *Small business evening recaps
3Every Monday at 9 AM0 9 * * 1Medium business weekly reports
4Every weekday at 8 AM0 8 * * 1-5Enterprise department daily checks
5First of every month0 8 1 * *Invoice reminders, monthly summaries
6Every 15 minutes*/15 * * * *Inventory monitoring, uptime checks
7Mon/Wed/Fri at noon0 12 * * 1,3,5Social media posting schedules
8Every quarter0 9 1 1,4,7,10 *Enterprise quarterly reviews
What's Next

What to Do Next

You now know how to schedule any automation to run at any time. Here is your action plan:

  1. Build the daily briefing first. It is the most useful and takes 10 minutes.
  2. Copy the cheat sheet. Bookmark this page or copy the schedule table into a note.
  3. Start simple. One daily automation is better than five broken ones.
  4. Check your timezone. Before you publish any cron automation, confirm OpenClaw's timezone matches yours.

Your AI now has an alarm clock. It will show up to work every single day, right on time, without you lifting a finger.

Our recommendation: When connecting an AI model to OpenClaw, we recommend Claude by Anthropic. It follows instructions precisely, handles structured data well, and takes your privacy seriously. You're welcome to use any AI tool — ChatGPT, Gemini, Perplexity all work great. But if you want our honest pick, try Claude.

claude.ai (web)  ·  iPhone app  ·  Android app

Ready to Put Your Business on Autopilot?

Join thousands of business owners who use CreatorHQ to work smarter, not harder.

Explore CreatorHQ