Imagine this: it's 11pm, you're doom-scrolling on your phone, and a thought strikes...."I should really understand what's happening with AI regulation in the EU."
You open WhatsApp, type that thought to your AI assistant, toss your phone on the nightstand, and fall asleep.
At 9am the next morning, a comprehensive deep research report lands in your inbox. Sourced. Cited. Structured. Ready for your morning coffee.
That's not science fiction. That's OpenClaw + Valyu.
OpenClaw is an open-source, self-hosted personal AI assistant that connects to WhatsApp, Slack, Discord, Telegram, and 13+ other messaging platforms. It runs on your machine (or a server), and you own every piece of it. Think of it as your private Jarvis, minus the British accent, although with SOUL.md, you could probably add that too.
Valyu is a Search + Deepresearch API built for AI agents. While most search APIs give you ten blue links and a prayer, we offer unified access to 36+ data sources state-of-the-art web search, academic papers (arXiv, PubMed, etc), SEC filings, live financial data, clinical trials, patents, economic indicators, and more. It's like giving your AI a library card to every library on the planet.
Together, they turn your personal AI assistant into a research machine that never sleeps, never complains, and never asks for a raise. (It does, however, consume API credits. Nobody's perfect.)
This guide will walk you through:
- Installing the Valyu search skill from ClawHub and making Valyu your default search provider
- Setting up cron jobs to automatically generate deep research reports delivered to your email
- Activating WhatsApp, Slack, and Discord so you can talk to your AI anywhere
- Understanding TOOLS.md and AGENTS.md, the files that shape how your agent thinks and operates
- Building your dream workflow. Drop a topic on WhatsApp or Slack at night, get a report by morning
We're assuming you've already got OpenClaw installed and running. If not, head over to docs.openclaw.ai and follow the onboarding guide first.
It's a wizard-driven setup. You either run "npm install -g openclaw@latest && openclaw onboard --install-daemon" and follow the prompts or install the OS-specific software.
Too lazy to set this up yourself? Copy and paste this entire guide into claude code and pray that Opus follows the instructions we've laid out 🙌
Ready? Let's build your research department.
SECTION 1: INSTALLING THE VALYU SEARCH SKILL FROM CLAWHUB
ClawHub is OpenClaw's official skill marketplace. Think of it as an app store for your AI assistant's brain. As of February 2026, it hosts over 5,700 community-built skills, ranging from email management to code review to supercharging your search capabilities.
ClawHub supports vector search, which means you can search by meaning rather than exact keywords. Type "search the web and academic papers" and it'll surface relevant skills even if none of them contain that exact phrase. Smart.
Installing the valyu-search Skill
The valyu-search skill is the complete Valyu API toolkit for OpenClaw. It gives your agent access to:
- Search API: Search across 25+ sources (web, academic, financial, biomedical, patents, economics, and more)
- Contents API: Extract clean, formatted markdown from any URL
- Answer API: Get quick synthesized responses with source citations
- DeepResearch API: Generate comprehensive research reports in four depth levels
Here's how to install it:
Step 1: Open your terminal and run the command to install ClawHub:
Next, install the Valyu skill by running the command:
That's it. The skill gets installed into your skills/ directory under your OpenClaw workspace (default: ~/.openclaw/workspace/skills/).
Note: You can also search for it on ClawHub by searching "valyu" and clicking the install button, which gives you the same CLI command.
Step 2: Get your Valyu API key
Head to https://platform.valyu.ai and create an account. Good news, you get $10 in free credits with no credit card required. That's enough to run hundreds of searches and several deep research reports before you spend a dime.
Once you're in, navigate to the API Keys section and generate a new key.
Step 3: Configure the skill in OpenClaw
Open your OpenClaw configuration file (~/.openclaw/openclaw.json) and add the Valyu skill configuration:
Alternatively, you can use the CLI:
Step 4: Restart your gateway
The skill takes effect on the next session. Your agent now has Valyu's entire search arsenal at its disposal.
Configuring Valyu as Your Default Search Provider
By default, OpenClaw uses Brave Search API for web lookups. To make Valyu the primary search provider, you need to do two things:
1. Update your AGENTS.md to prefer Valyu
Open ~/.openclaw/workspace/AGENTS.md and add a directive:
2. Update your TOOLS.md to document the preference
Open ~/.openclaw/workspace/TOOLS.md and add:
This tells the agent to only use Valyu. You can always modify it any time you want. Think of it as writing a sticky note on your assistant's monitor that says "Use the best search engine only!".
What You Get: Valyu vs. Brave Search
Here's why Valyu is worth the switch:
| Feature | Brave Search API | Valyu |
|---|---|---|
| Web search | Yes | Yes |
| Academic papers (arXiv, PubMed) | No | Yes - 40M+ papers |
| SEC filings & financial data | No | Yes |
| Patent databases | No | Yes |
| Clinical trials & FDA data | No | Yes |
| Economic indicators (FRED, BLS) | No | Yes |
| Deep research reports | No | Yes (4 modes) |
| Content extraction from URLs | No | Yes |
| AI-synthesized answers | No | Yes |
| N/A | 94% | |
| Benchmark accuracy (FreshQA) | N/A | 79% |
Brave Search is a solid web search API. Valyu is a research platform. It's the difference between having a flashlight and having a lighthouse.
With Valyu installed, your OpenClaw agent can now answer questions like:
- "What are the latest clinical trials for GLP-1 agonists in weight loss?"
- "Show me Tesla's most recent 10-K risk factors"
- "Find academic papers on transformer architecture optimization published in the last 6 months"
- "What's the current US unemployment rate trend?"
All without you lifting a finger beyond typing the question.
SECTION 2: SCHEDULING DEEP RESEARCH REPORTS WITH CRON JOBS
Now that your agent can search like a pro, let's make it search automatically. Because the only thing better than a smart assistant is a smart assistant that does things before you even ask.
How Cron Jobs Work in OpenClaw
OpenClaw's cron system is the Gateway's built-in scheduler. It persists jobs to ~/.openclaw/cron/, survives restarts, and can deliver output to any of your connected messaging channels or webhooks.
The core principle is simple: when to run + what to do.
There are three schedule types:
| Type | Purpose | Example | |
|---|---|---|---|
| at | One-shot (run once at a time) | 2026-02-20T16:00:00Z | |
| every | Fixed interval (every N ms) | 3600000 (every hour) | |
| con | Recurring expression (cron syntax) | 0 9 * * *" (daily at 9am) |
And two session modes:
- Main session - enqueues events in your active conversation
- Isolated session - spins up a fresh agent turn with no conversation carry-over (what you want for automated reports)
Quick cron syntax refresher for the uninitiated:
┌───────── minute (0-59)
│ ┌─────── hour (0-23)
│ │ ┌───── day of month (1-31)
│ │ │ ┌─── month (1-12)
│ │ │ │ ┌─ day of week (0-7, where 0 and 7 = Sunday)
│ │ │ │ │
* * * * *
So "0 9 * * *" means "at minute 0, hour 9, every day of every month, every day of the week" a.k.a. 9:00 AM daily. You're welcome.
Creating a Daily Deep Research Report
Let's set up a cron job that runs every morning at 9am and generates a deep research report on a topic of your choice.
The basic command:
Let's break this down:
| Flag | What It Does |
|---|---|
| --name | Human-readable label for the job |
| --cron "0 9 * * *" | Run at 9:00 AM every day |
| --tz "America/New_York" | Timezone (without this, it defaults to UTC) |
| --session isolated | Fresh context each time — no carry-over |
| --message | The agent's research instructions |
| --model "opus" | Use the most capable model |
| --thinking high | Enable extended reasoning |
| --announce | Deliver output via the specified channel |
| --channel whatsapp | Delivery destination |
| --to "+15551234567" | Your phone number or channel ID |
By the way, this is one way to do it. In fact, I believe this is the hardest way to do it. An easier way of doing this is to simply use the OpenClaw GUI to set it up.
In fact, you can just talk to OpenClaw on Whatsapp to set it up for you as shown below:

Setting up cron on OpenClaw via Whatsapp
Delivering Reports to Your Email
For getting reports directly in your inbox, you have several solid options:
Option A: Instruct the agent to email the report directly
If you have Gmail tools configured, craft your cron message to include email instructions:
Option B: Webhook delivery for custom pipelines
If you want to pipe the output into your own system (say, Resend or SendGrid):
The webhook receives an HTTP POST with the complete output. Your backend can then format it, template it, and email it however you like.
Option C: Channel delivery + auto-forward
Get the report on WhatsApp or Slack first, and have a secondary automation forward it to email. Preview in chat and archived copy in your inbox. Best of both worlds.
Managing Your Cron Jobs
Once your jobs are set up, here's your management toolkit:
Pro tip: Always test your cron job manually first with "openclaw cron run <job-id>" before waiting until tomorrow morning to discover your prompt had a typo. Nothing like waking up to "I couldn't understand your request" instead of a 20-page research report.
About failure handling: Recurring jobs use exponential backoff if something goes wrong (30s, 1m, 5m, 15m, 60m). One-shot jobs disable after completion and don't retry. Your research report won't spam-retry itself into oblivion, and your API bill won't look like a phone number.
SECTION 3: ACTIVATING WHATSAPP, SLACK, AND DISCORD CHANNELS
This is where OpenClaw goes from "cool local AI tool" to "AI that lives where you already live." The best assistant is the one you can reach without switching apps.
WHATSAPP: YOUR AI IN YOUR POCKET
WhatsApp is arguably the most convenient integration. Your AI assistant, right there in the app you check 47 times a day anyway.
OpenClaw's WhatsApp integration uses WhatsApp Web (via the Baileys library). Here's the setup:
Step 1: Link your WhatsApp account
A QR code appears in your terminal. Grab your phone:
- Open WhatsApp
- Go to Settings → Linked Devices → Link a Device
- Scan the QR code
That's the same flow as WhatsApp Web. Your phone stays the primary device, OpenClaw is just another linked device.
Step 2: Configure access control
Add this to your ~/.openclaw/openclaw.json:
Replace +15551234567 with your actual WhatsApp number (with country code, no spaces).
Here's what each option means:
- selfChatMode: true → Chat with yourself on WhatsApp to talk to the AI
- dmPolicy: "allowlist" → Only accept messages from numbers you list
- dmPolicy: "pairing" → Unknown senders get a pairing code you approve
- dmPolicy: "open" → Anyone can message (requires allowFrom: ["*"])
Step 3: Restart and test
Open WhatsApp and send yourself a message. Your AI assistant will respond. It's a little surreal the first time, like texting yourself and getting a thoughtful reply.
Recommended: Use a dedicated phone number for OpenClaw. Mixing personal chats and AI conversations on the same number is like having your intern answer your personal phone. It works, but things get weird when your mom texts "what's for dinner?" and gets a 500-word analysis of optimal macronutrient distribution.
Watch as we send a research request via WhatsApp and receive a Valyu-powered research response in real time, from casual question to cited, structured answer, all from your phone.
Useful WhatsApp commands:
- /status → Check session status — model, tokens used, cost
- /new → Clear the session context and start fresh
- /reset → Same as /new
- /compact → Summarize current session to free token space
- /think high → Enable deep reasoning mode
- /think off → Disable extended thinking (faster responses)
- /verbose on → Get detailed output
- /verbose off → Get concise output

ran /status on whatsapp
SLACK: YOUR AI IN YOUR WORKSPACE
If WhatsApp is your AI in your pocket, Slack is your AI sitting at the desk next to you at work. Perfect for team research, shared channels, and keeping your AI conversations in your professional workflow.
OpenClaw supports both Socket Mode (recommended, no public URL needed) and HTTP Events API (for production deployments behind a load balancer).
Step 1: Create a Slack App
- 1. Go to
api.slack.com/apps
→ Create New App → From scratch - 2. Name it (e.g., "OpenClaw") and select your workspace
- 3. Navigate to Socket Mode in the left sidebar → Enable Socket Mode
- 4. Create an App-Level Token — name it anything, give it connections:write scope, save the token (xapp-...)
- 5. Go to OAuth & Permissions → add Bot Token Scopes:
- chat:write, channels:history, groups:history, im:history, mpim:history, users:read
- 6. Click Install to Workspace → Authorize → Copy the Bot Token (xoxb-...)
- 7. Go to Event Subscriptions → Enable Events → Subscribe to: app_mention, message.channels, message.groups,
message.im
, message.mpim - 8. Go to App Home → Enable the Messages Tab (for DM support)
That's a lot of clicks, but you only do it once. Think of it as assembling IKEA furniture, painful during, satisfying after.
Step 2: Configure OpenClaw
Add this to your ~/.openclaw/openclaw.json:
Or use environment variables and run it from the terminal:
Step 3: Invite the bot to channels
In Slack, go to the channel where you want OpenClaw and invite the Slack app/bot (I called mine: commando).
Step 4: Restart and test
Mention your bot in any channel: @commando what are the latest developments in quantum computing?
The bot responds to:
- Direct messages — Always (if DM policy allows)
- Channel
@mentions
— When someone tags the bot - Thread replies — Within threads the bot started
Slack-specific features worth knowing:
- Text streaming — Responses stream in real-time, so you see the answer building character by character
- Thread-based sessions — Each Slack thread gets its own context
- Slash commands — Configure /openclaw for native command support
- Buttons and select menus — Structured interactive responses
https://4ealzrotsszllxtz.public.blob.vercel-storage.com/slackopenclaw.mp4
Interacting with OpenClaw on Slack
Watch as we interact with OpenClaw in a Slack channel in the video above — asking research questions, getting Valyu-powered results with citations, and using thread-based conversations to dive deeper.
DISCORD: YOUR AI IN YOUR SERVER
Discord is the go-to for communities, gaming groups, and increasingly, professional teams.
Step 1: Create a Discord Application and Bot
1. Go to discord.com/developers/applications → New Application
2. Name it (e.g., "OpenClaw Bot") → Accept terms → Create
3. Click Bot in the left sidebar
4. Click Reset Token → Copy the token (save it securely — you only see it once)
5. Under Privileged Gateway Intents, enable:
- Message Content Intent (required — without this, your bot is deaf)
- Server Members Intent (recommended)
6. Go to OAuth2 → URL Generator
- Scopes: select "bot" and "applications.commands"
- Permissions: View Channels, Send Messages, Read Message History, Embed Links, Attach Files, Add Reactions
7. Copy the generated URL, open it in your browser, select your server
Step 2: Configure OpenClaw
Or in your ~/.openclaw/openclaw.json:
How to get IDs: Enable Developer Mode in Discord (User Settings → Advanced), then right-click any server icon or user avatar → Copy ID.
Step 3: Set up DM pairing
Start the gateway, then DM your bot on Discord. You'll receive a pairing code. Approve it:
Codes expire after one hour.
Step 4: Restart and test
Mention the bot in your server: @commando summarize the latest AI research papers on efficient fine-tuning methods
Discord-specific features:
- Per-channel session isolation
- Slash commands enabled by default
- Button-based approval flows
- Role-based agent routing
SECTION 4: UNDERSTANDING TOOLS.MD AND AGENTS.MD
Your OpenClaw workspace (~/.openclaw/workspace/) contains several markdown files that shape how your agent thinks, responds, and operates. These files are the difference between a generic AI chatbot and your personalized research assistant.
Two of the most important are AGENTS.md and TOOLS.md. Think of them as your agent's employee handbook and equipment manual.
AGENTS.MD: THE OPERATING MANUAL
AGENTS.md is loaded at the start of every session. It contains your agent's operating instructions: priorities, boundaries, workflows, and quality standards.
This is where you tell your agent who it is and how it should work for you.
Example AGENTS.md for a research-focused setup:
Key insight: AGENTS.md doesn't control what tools are available. It controls how the agent uses them. It's the difference between giving someone a toolbox and giving them a toolbox plus instructions that say "always use the torque wrench for the engine bolts, not the adjustable spanner."
TOOLS.MD: THE EQUIPMENT GUIDE
TOOLS.md is also loaded at session start, but serves a different purpose. While AGENTS.md defines behavior, TOOLS.md documents your specific environment, tool preferences, and local conventions.
Think of it as the sticky notes on the office wall
- "the color printer is on the second floor"
- "the Wi-Fi password is taped under the router"
- "Harvey's extension is 4247."
Example TOOLS.md for our Valyu-powered setup:
Important distinction: TOOLS.md does NOT enable or disable any tool. The skills configuration handles tool availability. TOOLS.md is purely informational guidance, like a cheat sheet for your agent.
THE FULL WORKSPACE FILE FAMILY
Your workspace isn't just two files. Here's the complete set:
| File | What It Does | Loaded When |
|---|---|---|
| AGENTS.md | Operating instructions, priorities, rules | Every session |
| SOUL.md | Persona, tone, voice, temperament, constraints | Every session |
| USER.md | Who you are, preferences, how to address you | Every session |
| TOOLS.md | Tool notes and environment conventions | Every session |
| IDENTITY.md | Agent's name, personality, emoji | At bootstrap |
| HEARTBEAT.md | Checklist for automated heartbeat runs | On heartbeat |
| BOOT.md | Startup checklist for gateway restart | On start |
| BOOTSTRAP.md | One-time first-run ritual | Once, deleted |
There's also a memory/ directory for daily memory logs (memory/YYYY-MM-DD.md) and an optional MEMORY.md for curated long-term memories.
Together, these files form your agent's complete mental model.
SOUL.md gives it personality.
USER.md tells it who you are.
AGENTS.md tells it how to work.
TOOLS.md tells it what equipment is available.
IDENTITY.md gives it a name. It's like onboarding a new employee, except this one reads its entire handbook in 0.3 seconds and never forgets it.
Backup tip: Keep your workspace in a private git repository.
Never commit ~/.openclaw/ itself — it contains credentials, API keys, and session data.
SECTION 5: THE DREAM WORKFLOW: DROP A TOPIC, WAKE UP TO A REPORT
This is the grand finale, where every piece we've built clicks together like a well-engineered Lego set. (Except this Lego set does your research for you.)
How It All Connects
markdown
YOU (11pm)
"Research the impact of quantum computing on cryptography"
│
▼
WhatsApp / Discord / Slack
Message received by OpenClaw
│
▼
OpenClaw Gateway
Agent notes the request, optionally starts DeepResearch immediately
│
▼ (9:00 AM next day)
Cron Job Fires
Spins up isolated session, processes queued topics
│
▼
Valyu DeepResearch
Searches 36+ data sources, analyzes, synthesizes, cites
│
▼
Delivery (9:15 AM)
→ Your email inbox
→ WhatsApp summary
→ Slack channel post
│
▼
YOU (9:15am, drinking coffee)
"Oh nice, my report is here."
Setting Up the End-to-End Pipeline
Approach 1: Standing Topic Cron (Simplest)
Set up a cron job with a fixed research topic:
Set it and forget it. Every morning, same topic, fresh report.
Again, you can just chat OpenClaw up on Whatsapp or Discord and tell it to do the same thing! You do not need the CLI for OpenClaw to heed this instruction.
Approach 2: Drop Topics Anytime, Collect in the Morning (Recommended)
Add these instructions to your AGENTS.md:
Then create the morning delivery cron:
Now your workflow is:
WhatsApp at 10pm:
"Research: How are sovereign wealth funds investing in AI infrastructure?"
Discord at 11:30pm:
"Research: Latest breakthroughs in solid-state battery technology"
Slack at midnight:
"Research: Compare the top 5 AI code generation tools"
9am inbox:
Subject: Research Digest — February 20, 2026
3 reports | 87 sources | ~25 min read time
The research starts immediately when you send the message (standard mode takes 10-20 minutes). By morning, everything is done and waiting.
Approach 3: Multi-Channel Research Team (Power User)
Set up multiple cron jobs for different domains:
Now you have a financial analyst, industry researcher, and academic scout. None of them call in sick.
Valyu DeepResearch Modes: Quick Reference
| Mode | Time | Cost | Best For |
|---|---|---|---|
| fast | ~5 min | $0.10 | Quick overviews, news summaries |
| standard | ~10-20 min | $0.50 | Daily reports (your daily driver) |
| heavy | Up to 90min | $2.50 | In-depth analysis, due diligence |
| max | Up to 180min | $15.00 | Exhaustive research, major decisions |
CONCLUSION: YOU NOW HAVE A RESEARCH DEPARTMENT
Let's take a step back and appreciate what you've built:
Valyu Search is installed as your default search provider, giving your agent access to 36+ data sources, 40 million academic papers, SEC filings, patent databases, clinical trials, economic indicators, and real-time web content. Your AI doesn't just search the web. It searches everything.
Cron jobs are configured to generate deep research reports on a schedule and deliver them to your email every morning. Your agent works while you sleep.
WhatsApp, Slack, and Discord are activated, so you can talk to your AI assistant from anywhere. Your phone, your workspace, your community server. Drop a research topic at any time, from any channel.
AGENTS.md and TOOLS.md are configured to shape your agent into a research-first assistant that knows exactly how to use Valyu and where to deliver results.
The dream workflow is live. Drop a topic on WhatsApp before bed, wake up to a comprehensive, cited report in your inbox.
You didn't just set up an AI chatbot. You built a research department that runs 24/7, covers every domain from academic literature to financial markets, costs a fraction of a single analyst's salary, and never takes a sick day.
The beauty of this stack is that it's entirely self-hosted and open source. Your data stays on your machine. Your conversations aren't training anyone else's models. Your research topics aren't being sold to advertisers. You own the whole thing, top to bottom.
Now go drop a research topic on WhatsApp and get some sleep. Your AI's got this.