How to Build a Weekly Review Automation with OpenClaw in Paradime
Feb 26, 2026
How to Build an Automated Weekly Review with Paradime, OpenClaw, and Bolt Scheduling
Stale docs, missing context, tribal knowledge — sound familiar? This guide shows you how to wire up Paradime and OpenClaw into a fully automated weekly review workflow that achieves near-100% coverage of your goals, tasks, and meetings — delivered to Slack every Sunday at 7 PM.
The Pain: Why Manual Reviews Fail Data Teams
Every data team starts with good intentions: "We'll document everything." Fast-forward six months, and reality looks different:
Stale documentation: Your dbt™ model descriptions were last updated three sprints ago. New columns exist with no context. Downstream dashboards reference fields nobody can explain.
Missing context: The meeting where the team decided to deprecate
dim_customers_v2happened on a Zoom call. No one wrote it down. A new hire rebuilds on top of it.Tribal knowledge: Only one engineer knows why
fct_revenueexcludes trial accounts. When they go on vacation, the quarterly board report breaks.
These aren't edge cases — they're the default state of most analytics teams. The weekly review is supposed to be the safety net: a structured checkpoint where the team reconciles what was planned, what happened, and what drifted. But manual weekly reviews suffer from the same entropy they're supposed to fight.
Figure 1: The divergence between manual and automated weekly reviews.
The fix isn't "try harder." It's automation. In this guide, you'll build a workflow that:
Pulls your past week's calendar events via the Google Calendar API
Cross-references tasks completed in Google Sheets
Evaluates progress against stated goals
Generates a structured weekly review using OpenClaw
Delivers it to Slack automatically every Sunday at 7 PM via Paradime Bolt
What Is Paradime?
Paradime is an all-in-one AI-native platform that replaces dbt Cloud™. It gives data teams a smart Code IDE, one-click pipelines for analytics and AI, and built-in FinOps — cutting development time by up to 90%.
For this workflow, two Paradime capabilities are essential:
Bolt Scheduler: Paradime's production orchestration engine. It supports cron-based scheduling, event-driven triggers, merge triggers, and API-based execution — all defined as code in a
paradime_schedules.ymlfile.Paradime Docs: AI-driven documentation that auto-generates dbt™ model descriptions with bi-directional YAML sync. This is how you fight stale docs at the source.
Bolt schedules are defined declaratively:
You can verify your schedule configuration locally before deploying:
What Is OpenClaw?
OpenClaw is an open-source autonomous AI agent that runs on your own machine. Unlike traditional chatbots that only generate text, OpenClaw acts: it reads your calendar, writes files, executes scripts, sends messages, and manages cron jobs — all while maintaining persistent memory across sessions.
Key capabilities for this workflow:
Cron scheduling: OpenClaw's built-in scheduler persists jobs under
~/.openclaw/cron/so restarts don't lose schedules.Google Workspace integration: Native skills for reading Google Calendar events and Google Sheets data.
Slack delivery: Socket Mode or HTTP Events API integration for posting structured messages to channels.
Persistent memory: Remembers your preferences, goals, and context from week to week.
Setup: OpenClaw + Google Calendar API + Google Sheets API
Prerequisites
Node.js 22+ (24 recommended)
A Google Cloud project with Calendar API and Sheets API enabled
A Slack workspace with an incoming webhook or bot configured
A Paradime workspace with Bolt enabled
Step 1: Install OpenClaw
Run the onboarding wizard to configure authentication and gateway settings:
Step 2: Enable Google APIs
Go to the Google Cloud Console
Create or select a project (e.g., "OpenClaw Weekly Review")
Navigate to APIs & Services → Library
Enable Google Calendar API and Google Sheets API
Create a Service Account under APIs & Services → Credentials
Download the JSON key file — this becomes your
GOOGLE_CREDENTIALS_JSONShare your Google Calendar and target Google Sheet with the service account email
Step 3: Configure Slack Webhook
Create an incoming webhook in your Slack workspace:
Go to api.slack.com/apps → Create New App
Enable Incoming Webhooks → Add New Webhook to Workspace
Select the target channel (e.g.,
#weekly-reviews)Copy the webhook URL — this becomes your
SLACK_WEBHOOK_URL
Figure 2: Environment variable flow from external services into the OpenClaw agent.
Environment Variables
Store all secrets as environment variables — never hardcode them. Create a .env file in your project root (and add it to .gitignore):
For Paradime Bolt, configure these same variables in the Paradime UI:
Navigate to Settings → Workspaces → Environment Variables
In the Bolt Schedules section, click Add New
Add each key-value pair (
GOOGLE_CREDENTIALS_JSON,OPENCLAW_API_KEY,SLACK_WEBHOOK_URL)Click the save icon
Security note: Paradime encrypts environment variables at rest and in transit. Your credentials never appear in logs or artifacts. See the Bolt Environment Variables docs for details.
The Script: Automated Weekly Review Generation
The core script performs four operations in sequence:
Figure 3: End-to-end sequence for the automated weekly review pipeline.
1. Review Past Week's Calendar
The script authenticates with the Google Calendar API using your service account credentials and fetches all events from the past seven days:
2. Read Tasks Completed and Goals Progress
Pull task completion data and goal tracking from a structured Google Sheet:
3. Generate the Structured Weekly Review
Combine calendar data, task data, and goals into a structured prompt for OpenClaw's LLM:
4. Post to Slack
Send the formatted review to your team's Slack channel:
Bolt Schedule: Cron Every Sunday at 7 PM
Now wire everything together with Paradime Bolt. The cron expression 0 19 * * 0 fires every Sunday at 19:00 (7 PM) UTC.
Option A: Bolt Schedule (Paradime)
Define the schedule in your paradime_schedules.yml:
Deploy by pushing to your default branch. Paradime auto-refreshes schedules every 10 minutes, or you can trigger a manual refresh via the Bolt UI → Parse Schedules.
Option B: OpenClaw Cron (Standalone)
If you prefer OpenClaw's native scheduler:
Or as a JSON configuration via the Gateway API:
Figure 4: Two scheduling options — Paradime Bolt for dbt™-integrated pipelines, OpenClaw Cron for standalone agent execution.
Tying It Back to Documentation Coverage with dbt™
The weekly review script catches drift — but how do you prevent stale docs from accumulating in the first place? This is where Paradime's AI-powered documentation and dbt-llm-evals close the loop.
Auto-Generate Documentation with Paradime Docs
Paradime Docs provides one-click AI-generated documentation for every dbt™ model. Changes propagate bi-directionally between the UI and your YAML files, so documentation stays in sync with code:
Monitor AI Quality with dbt-llm-evals
If your weekly review uses LLM-generated content (as it does when OpenClaw writes the summary), you can monitor quality over time using dbt-llm-evals:
Configure the weekly review model for evaluation:
Run evaluations and check for quality degradation:
Figure 5: Quality monitoring loop using dbt-llm-evals to catch degradation in AI-generated reviews.
Monitoring and Debugging
Paradime Bolt Monitoring
Once your Bolt schedule is running in production, monitor it through the Paradime UI:
Bolt Home Screen: View all schedules with status, cron configuration, last/next run times, and trigger types.
Run History: Click into a schedule to see individual run statuses (passed/failed), triggers (manual/automatic), branches, durations, and run IDs.
Log Levels: Three log types help with debugging:
Artifacts: Inspect
manifest.json,run_results.json, compiled SQL, and other artifacts generated during each run.
OpenClaw Monitoring
Monitor OpenClaw cron job health:
OpenClaw persists cron jobs under ~/.openclaw/cron/jobs.json, so schedules survive gateway restarts. The built-in retry mechanism attempts failed jobs up to 3 times with exponential backoff (1 min → 2 min → 5 min).
Configure monitoring thresholds in your OpenClaw gateway config:
Troubleshooting Common Issues
Google API Authentication Failures
Symptom | Cause | Fix |
|---|---|---|
| Calendar/Sheet not shared with service account | Share the resource with the service account email address |
| Invalid or expired credentials JSON | Re-download the service account key from Google Cloud Console |
| Wrong scopes in credentials | Ensure scopes include |
Slack Webhook Failures
If you get invalid_payload, check that your JSON is properly formatted. If you get channel_not_found, regenerate the webhook URL in Slack.
OpenClaw Cron Not Firing
Common causes and solutions:
Cron disabled in config: Look for
cron: scheduler disabled; jobs will not run automaticallyin logs. Fix: ensure"cron": { "enabled": true }in your gateway config.Timezone mismatch: Jobs registered in UTC but expected in local time. Fix: always specify
--tzwhen adding cron jobs.Gateway not running: Cron jobs only execute when the gateway is active. Fix: run
openclaw gateway statusand restart withopenclaw gatewayif stopped.Context window overflow: Long-running agents exhaust the context window. Fix: use
--session isolatedto get a clean context per run.
Paradime Bolt Schedule Not Executing
Schedule not parsed: Push
paradime_schedules.ymlto your default branch (main/master). Wait 10 minutes for auto-refresh, or click Parse Schedules in the Bolt UI.Invalid cron expression: Use standard cron (days 0–6, not 1–7). Validate at crontab.guru.
Environment variables missing: Verify all required variables are set under Settings → Workspaces → Environment Variables → Bolt Schedules.
Warehouse connection issues: Ensure the Scheduler Environment is connected to your data warehouse.
dbt-llm-evals Not Capturing Output
Confirm
enabled: truein the model'smeta.llm_evalsconfigEnsure the
post_hookis configured:"{{ dbt_llm_evals.capture_and_evaluate() }}"Run setup first:
dbt run --select llm_evals__setupCheck that your warehouse's native AI functions are available (Snowflake Cortex, BigQuery ML, etc.)
Wrapping Up
The gap between "we should document more" and "we have near-100% coverage" isn't bridged by willpower. It's bridged by systems.
Here's what you've built:
Figure 6: The complete automated weekly review architecture.
What this achieves:
No more stale docs: Paradime Docs auto-generates and bi-directionally syncs model documentation with your YAML files. Documentation lives in code, not in a wiki nobody updates.
No more missing context: Every meeting, task, and goal is captured automatically. The weekly review surfaces decisions that would otherwise disappear into chat history.
No more tribal knowledge: The review script codifies what was previously trapped in people's heads. New team members can read six months of structured weekly reviews and understand the team's trajectory.
Quality that doesn't degrade:
dbt-llm-evalscontinuously monitors the AI-generated review content against baselines, alerting you before quality silently erodes.
The entire pipeline runs hands-free every Sunday at 7 PM. Your only job is to read the Slack message, adjust priorities for the week ahead, and occasionally review the dbt-llm-evals dashboard to confirm review quality remains high.
Ready to get started?
Stop fighting entropy manually. Automate the review, and let the system keep your team honest.

