How to Build a Daily AI Alpha Report Bot with OpenClaw Cron Jobs
Automate Research, Deliver Intel to Telegram Groups, and Never Miss a Signal Again
What We're Building
A scheduled AI agent that:
- Wakes up at a set time every day
- Searches the web for live signals across your chosen topics
- Formats a structured report
- Delivers it automatically to a Telegram group chat
- Updates its own memory for continuity across sessions
No manual triggering. No copy-pasting. Just intelligence on tap.
Prerequisites
Before starting this guide you should have:
- OpenClaw installed and running (see our full setup guide)
- A Telegram bot created via @BotFather and connected to OpenClaw
- Your bot added to the Telegram group you want to post to
- A web search API key (we'll cover which one to use below)
1 The Web Search Problem
Out of the box, OpenClaw ships with DuckDuckGo as its search provider. Sounds great in theory. In practice, DuckDuckGo aggressively bot-detects automated requests and will return challenges instead of results roughly 80% of the time during cron runs. Your bot will sit there timing out while your audience waits for intel that never arrives.
You'll see this in your logs:
[tools] web_search failed: DuckDuckGo returned a bot-detection challenge.
The Fix: Switch to Tavily
Tavily is purpose-built for AI agent workflows. It handles rate limiting gracefully, returns clean structured results, and doesn't bot-detect your automated runs. It's the right tool for this job.
Get your Tavily API key:
- Go to app.tavily.com
- Sign up for a free account (1,000 searches free)
- Copy your API key
Configure OpenClaw to use Tavily:
openclaw config set plugins.entries.tavily.enabled true
Then set your API key (the config path moved in recent versions):
openclaw doctor --fix openclaw config set plugins.entries.tavily.config.webSearch.apiKey YOUR_TAVILY_KEY
Set Tavily as your search provider:
openclaw config set tools.web.search.provider tavily
Restart the gateway:
openclaw gateway restart
Why not Brave Search? Brave was the community standard but removed their free tier in February 2026. New users get $5 in monthly credits before billing starts — roughly 1,000 searches. Tavily's free tier is a cleaner starting point. Once you exhaust Tavily's free credits, Brave's $5 monthly credit is a solid fallback. You can alternate between them.
Config validation failed error, run openclaw doctor --fix first — it migrates legacy config paths automatically.
2 Finding Your Telegram Group ID
Before you can direct a cron job to post in a group, you need the group's chat ID. Here are three ways to find it:
Method 1 — From Telegram Web
Open your group in Telegram Web. Look at the URL:
https://web.telegram.org/k/#-1001234567890
The number including the minus sign is your group ID.
Method 2 — Use @userinfobot
- Add @userinfobot to your group temporarily
- Send any message
- It replies with the group's chat ID
- Remove @userinfobot
Method 3 — Watch the OpenClaw Logs
Send a message to your group while tailing the logs:
tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | grep -i "chatId"
Your group ID will appear in the output.
-1001234567890). If you omit the minus, delivery will fail silently. Include the full number with the minus — every time.
3 Creating Your First Cron Job
In the OpenClaw dashboard, navigate to Cron Jobs → New Job. Here's how to fill out each field:
Basics
- Name: Something descriptive — e.g. Tech Temple Alpha Report
- Description: Brief note on what this job does and when
- Agent ID:
main - Enabled: On
Schedule
- Schedule type: Cron
- Expression: Standard cron syntax —
minute hour day month weekday - Timezone: Set your local timezone (e.g.
America/Los_Angeles) — OpenClaw will convert to UTC automatically
Common cron expressions:
55 17 * * * → 5:55 PM daily 0 9 * * * → 9:00 AM daily 0 9 * * 1-5 → 9:00 AM weekdays only 0 9 * * 1 → 9:00 AM Mondays only
Execution
- Session: Isolated — runs in its own dedicated agent turn
- Wake mode: Now — triggers immediately when the cron fires
- What runs: Run assistant task (isolated)
- Timeout: Set to
90seconds — prevents hanging on slow searches
Delivery
- Result delivery: Announce summary (default)
- Channel: Telegram
- To: Your group ID including the minus sign (e.g.
-1001234567890)
Advanced
- Exact timing: On — fires at the precise cron boundary
- Best effort delivery: On — job doesn't fail if Telegram has a momentary hiccup
4 Prompt Engineering for Cron Jobs
This is where most people go wrong. Cron job prompts are different from conversational prompts. The agent runs in isolation with no back-and-forth — it needs complete, unambiguous instructions in a single prompt.
The Core Principles
If you don't cap searches, the agent will keep searching until it hits a context overflow.
Run 4 web searches max.
Fetching full web pages multiplies context consumption. Many sites block automated fetches (403 errors). Keep it to search results only.
Use search results only — do not fetch full pages.
Without a length constraint the agent will write a novel.
Total report under 400 words.
Agents will use whatever source they find first, including Facebook posts and random blogs.
For crypto data prefer coingecko.com or coinmarketcap.com directly — never cite social media posts as price data.
The agent must leave sections blank rather than making things up.
If no live source found, say so — never fabricate data, prices, odds, or people.
Without this, each run starts completely fresh. With it, the agent builds continuity over time.
Save top 3 insights to memory after delivery.
What Breaks Cron Jobs
| Problem | Symptom | Fix |
|---|---|---|
| Too many searches | Context overflow error | Limit to 4 searches max |
| Fetching full pages | 403 errors, context overflow | Use search results only |
| No source constraints | Facebook posts cited as price data | Name preferred sources explicitly |
| No word limit | Timeout after 2 minutes | Cap at 400 words |
| No honesty instruction | Fabricated handles and prices | Add "never fabricate" explicitly |
| Missing group ID minus sign | Silent delivery failure | Always include the minus sign |
5 The Full Working Prompt
Here is the complete prompt that produces reliable, useful daily reports after multiple iterations of testing. Copy it directly and adapt the search topics and sections for your use case.
The structural constraints — search limit, word cap, no page fetching, honesty instruction, memory save — should stay in every cron prompt regardless of topic.
6 Testing and Debugging
Manual Test Run
After creating your job, test it before leaving it on schedule. Find your job ID first:
openclaw cron list
Then run it manually:
openclaw cron run YOUR_JOB_ID
Watching the Logs
Always tail logs during a test run to see exactly what's happening:
tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | grep -i "web_search\|error\|cron"
Common Errors and Fixes
Context overflow:
Context overflow: estimated context size exceeds safe threshold
Your prompt is doing too many searches. Reduce to 4 searches max and add a 400 word limit.
ChatGPT timeout:
openai-codex timed out. failoverReason: timeout
The job took too long. Set timeout to 90 seconds in job settings and reduce prompt complexity.
Error backoff loop:
consecutiveErrors: 2, backoffMs: 60000
The job failed twice and is pausing itself. Reset it by disabling and re-enabling in the dashboard, or via CLI:
openclaw cron disable YOUR_JOB_ID openclaw cron enable YOUR_JOB_ID
DuckDuckGo bot detection:
web_search failed: DuckDuckGo returned a bot-detection challenge
Switch to Tavily as described in Part 1.
Silent delivery failure: Job runs but nothing arrives in Telegram. Check your group ID includes the minus sign. Verify the bot is a member of the group and has Group Privacy disabled in BotFather.
7 Scaling Up
Multiple reports for different audiences. Create separate cron jobs for different groups with different prompts. A general audience channel gets a different report than a technical channel. Each job has its own schedule, prompt, and delivery target.
Chained intelligence. Set earlier jobs to save memory, and later jobs to read it. Your morning brief informs your evening report. The agent builds a picture of the day across multiple runs.
Heartbeat jobs. Lighter weight than cron — a heartbeat runs on a regular pulse and checks for anything that needs attention rather than generating a full report. Good for maintenance tasks and memory upkeep between scheduled runs.
Multiple channels. The same cron infrastructure works for WhatsApp, Discord, Slack, and iMessage — just change the channel and delivery target in the job settings.
Key Lessons from the Field
Shorter prompts outperform longer ones. The instinct is to give the agent more instructions. The reality is more instructions means more context consumed before it even starts working. Keep prompts lean and specific.
Honesty instructions matter more than you think. Without explicit "never fabricate" instructions, agents will invent plausible-sounding sources, people, and prices. This destroys audience trust fast. Make the honesty constraint non-negotiable.
DuckDuckGo is not viable for automated runs. It works fine for conversational use but fails consistently under scheduled automation. Switch to Tavily or Brave for any cron-based web research.
The minus sign on group IDs is the most common silent failure. Include it. Every time.
Test with Run Now before trusting the schedule. Don't set up a cron job and assume it works. Run it manually, watch the logs, verify delivery, then let it loose.
What a Working Report Looks Like
Here's a real output from our Tech Temple Alpha Report after the prompt was dialed in:
1. 🤖 AI Signal
Microsoft quietly introduced the open source Agent Governance Toolkit to monitor and control AI agents. That matters because agentic AI is shifting from demo magic to operational discipline, and the real moat is governance plus orchestration.
Source: computerworld.com
2. 💰 Crypto Alpha
Toncoin up 2.2% while only three of the top 10 market-cap coins were green. Reads as relative strength hiding in selective names rather than broad accumulation.
Source: coinmarketcap.com
3. 🎯 Polymarket Play
QQQ Up or Down on April 15 — crowd at 53% for Down. Mild edge, slightly risk-off lean without strong conviction.
Source: polymarket.com
4. 🛠️ Money Move
AI Agent Governance Audit. If Microsoft is open-sourcing governance tooling, there's a picks-and-shovels lane in helping teams set guardrails before they scale agent workflows.
5. 👁️ Who to Watch
InvestAnswers — fresh YouTube content bridging AI narrative shifts and crypto positioning.
Link: youtube.com
6. ⚡ Chief Wizard's Call
Both AI and crypto are rewarding infrastructure over spectacle today. Sell picks-and-shovels in AI, and in crypto only follow strength where the crowd is already proving demand.
That's a real, useful daily briefing delivered automatically to a Telegram group at a scheduled time. No human in the loop. Chief Wizard handles the research, formatting, and delivery while you focus on building.
Resources
- OpenClaw docs: docs.openclaw.ai
- OpenClaw GitHub: github.com/openclaw/openclaw
- Tavily API: app.tavily.com
- Brave Search API: api-dashboard.search.brave.com
- BotFather: Search @BotFather in Telegram
- OpenClaw Discord: discord.com/invite/clawd
Power Your AI Business
Two tools we actually use — one for infrastructure, one for the builder behind the bot.
The platform behind the bot
Groove
Chief Wizard posts to Groove-hosted pages. If you're building AI agents that drive traffic and need somewhere to capture leads, publish content, and run your business — Groove is the all-in-one platform we use.
See how Groove powers Star Love XP →Power the builder behind the bot
LifeWave
Late night coding sessions. Deep research runs. The kind of focused work that builds something real. LifeWave phototherapy patches are what we use to stay sharp, recover fast, and keep energy high without stimulants.
Explore LifeWave patches →Join the Tech Temple
Daily AI alpha, crypto signals, Polymarket plays, and the tools builders are actually using — delivered every day at 5:55 PM Pacific by Chief Wizard.
No fluff. No hype. Just signal.
Join the Tech Temple on Telegram →
