How to Build a Weekend Planner Agent with OpenClaw in Paradime

Feb 26, 2026

Table of Contents

Build an AI Weekend Planner with Paradime, OpenClaw, and Bolt — No Local Config Headaches

Stop wrestling with .env files and brittle cron tabs. In this guide, you'll wire up a fully automated weekend planner that checks the weather, scans your Google Calendar for commitments, and suggests activities tailored to your preferences — all orchestrated by OpenClaw and scheduled through Paradime's Bolt, with results delivered straight to Slack every Friday at 4 PM.

If you've ever burned an hour debugging a missing API key that only surfaces at runtime, this is the workflow you wish you'd built months ago.

What Is Paradime?

Paradime is the all-in-one AI platform that replaces dbt Cloud™. It gives fast-moving analytics and data teams a single workspace to code, ship, debug, and scale data pipelines — without juggling separate tools for development, scheduling, monitoring, and cost management.

The platform is built around three pillars:

Pillar

What It Does

Code IDE

An AI-native IDE (powered by DinoAI) that cuts dbt™ and Python development time by 83%+ with in-context data samples, lineage, and docs.

Bolt

Lightning-fast scheduling and CI/CD for dbt™, Python, and AI pipelines — driven from a UI or YAML, with real-time Slack/email alerts.

Radar

FinOps intelligence that slashes Snowflake and BigQuery warehouse costs so you can redirect credits toward AI use cases.

Why does this matter for a weekend planner? Because Bolt gives you a production-grade scheduler with UI-driven environment variable management, cron configuration, and built-in monitoring — all SOC 2 Type II compliant. No more .env files committed to Git. No more SSH-ing into a server to tail logs.

Key takeaway: Paradime handles the "run it reliably in production" part so you can focus on what the automation actually does.

A Taste of dbt™ in Paradime

If you're new to dbt™ within Paradime, here's what a basic model looks like:

And the scheduling config that runs it (we'll cover this in detail later):

What Is OpenClaw?

OpenClaw is an open-source AI agent framework that turns LLMs into autonomous, tool-using assistants. Previously known as Moltbot before its 2026 rebrand, OpenClaw has rapidly accumulated 100k+ GitHub stars thanks to a simple premise: your machine, your data, your models.

Unlike hosted agent platforms, OpenClaw runs locally (or on your own infrastructure) and connects to any model provider — OpenAI, Anthropic, Google Gemini, or local models via Ollama. Its architecture is clean:

Figure 1: The OpenClaw agent loop — perceive, plan, act, observe, repeat.

OpenClaw's plugin system lets you register custom tools that any agent can use immediately:

Setup: openclaw-sdk + Weather API + Google Calendar API

Here's the full dependency and credential setup to get from zero to a working weekend planner.

Prerequisites

  • Python 3.10+ installed and verified (python3 --version)

  • A Paradime account (sign up here)

  • API keys for WeatherAPI (free tier at weatherapi.com)

  • Google Cloud project with Calendar API enabled and a service account or OAuth credentials

  • A Slack workspace with an incoming webhook URL

  • An OpenClaw API key (from your OpenClaw instance settings)

Step 1: Install the OpenClaw SDK

Step 2: Obtain Your API Keys

Credential

Where to Get It

WEATHER_API_KEY

weatherapi.com/my → Copy your API key

GOOGLE_CREDENTIALS_JSON

Google Cloud Console → APIs & Services → Credentials → Create Service Account → Download JSON key

OPENCLAW_API_KEY

OpenClaw settings → API Keys → Generate

SLACK_WEBHOOK_URL

Slack → Apps → Incoming Webhooks → Add to Workspace → Copy URL

Step 3: Configure OpenClaw Environment

OpenClaw reads environment variables from a .env file in priority order:

  1. Process environment (parent shell)

  2. .env in the current working directory

  3. ~/.openclaw/.env (global fallback)

  4. env block in ~/.openclaw/openclaw.json

Create your .env file (never commit this to Git):

Then configure your OpenClaw model provider in ~/.openclaw/openclaw.json:

Opinion time: The ${VAR_NAME} substitution in OpenClaw's config is genuinely good design. It means your openclaw.json can live in version control while secrets stay in .env. Most local agent setups get this wrong.

Figure 2: Secrets stay in .env; config stays in version control. Clean separation.

The Script: Check Weekend Weather, Scan Calendar, Suggest Activities

This is the core automation — a Python script that uses the OpenClaw SDK to orchestrate a multi-step weekend planning workflow.

Architecture Overview

Figure 3: End-to-end flow — from Bolt cron trigger to Slack delivery.

The Script

Environment Variables: The Right Way

Here's every environment variable this project needs, where it goes, and why you should manage it through Paradime's UI instead of a local file.

Variable

Purpose

Sensitive?

WEATHER_API_KEY

Authenticates with WeatherAPI for forecast data

✅ Yes

GOOGLE_CREDENTIALS_JSON

Path to Google service account key file for Calendar API

✅ Yes

OPENCLAW_API_KEY

Authenticates with your OpenClaw instance

✅ Yes

SLACK_WEBHOOK_URL

Incoming webhook endpoint for posting the plan

✅ Yes

PLANNER_CITY

Target city for weather forecasts (default: San Francisco)

❌ No

PLANNER_PREFERENCES

Comma-separated activity preferences

❌ No

Setting Env Vars in Paradime Bolt (UI)

This is where Paradime removes the pain. Instead of managing .env files across machines:

  1. Navigate to Settings in the Paradime app

  2. Go to Workspaces → Environment Variables

  3. In the Bolt Schedules section, click Add New

  4. Enter the Key (e.g., WEATHER_API_KEY) and Value

  5. Click the Save icon 💾

For bulk setup, use the Bulk Upload option with a CSV:

Why this is better: Paradime's variable management is SOC 2 Type II compliant, supports per-schedule overrides (so your staging schedule can use a different Slack channel), and keeps secrets out of your Git repo entirely. Admin access is required to modify — no junior dev accidentally overwriting production keys.

Figure 4: Environment variable management — before and after Paradime.

Bolt Schedule: Cron Every Friday at 4 PM

Now let's schedule the weekend planner to fire automatically. You have two options: the UI or YAML-as-code.

Option A: Paradime Bolt UI

  1. Open Bolt in Paradime (app.paradime.io/bolt)

  2. Click Create Schedule

  3. Configure:

  4. Under Commands, add:

  5. Under Notifications, add your Slack channel and email for failed and sla events

  6. Click Deploy

Option B: Schedules as Code (YAML)

Add this to your paradime_schedules.yml at the root of your dbt™ project:

Cron tip: 0 16 * * 5 means "minute 0, hour 16, any day of month, any month, Friday (day 5)." Validate at crontab.guru before deploying. Also note that Paradime uses standard cron day numbering (0=Sunday, 6=Saturday) — don't use 1-7 ranges.

Figure 5: Bolt orchestration flow — YAML defines it, Bolt runs it, alerts keep you informed.

Monitoring and Debugging

Once your schedule is live, you need visibility. Paradime Bolt provides three layers of observability out of the box.

The Bolt Dashboard

Navigate to Bolt in the Paradime app to see all schedules at a glance:

  • Status — Running, Passed, Error

  • Last Run / Next Run — When it last executed and when it will fire again

  • Duration — How long each run took

  • Trigger Type — Scheduled, manual, or API-triggered

Run Logs (Three Depths)

Click into any run to access three log tiers:

Log Type

What It Shows

When to Use

Summary Logs

DinoAI-generated overview with warnings and suggested fixes

Quick health check — is it green or red?

Console Logs

Full chronological execution output with "jump to error" navigation

Finding the exact line that failed

Debug Logs

System-level operations, dbt™ internals, and performance data

Deep troubleshooting and performance tuning

DinoAI-Powered Debugging

Paradime's built-in AI assistant (DinoAI) automatically generates a Summary Log for every run. For failed runs, this includes:

  • A plain-English description of what went wrong

  • The specific command and line that failed

  • Suggested fixes based on the error pattern

Example DinoAI output:

Setting Up Alerts

Configure notifications in your paradime_schedules.yml (shown above) or through the Bolt UI:

  • Slack channels — get pinged instantly when a run fails or breaches SLA

  • Email — backup notification for critical failures

  • Microsoft Teams — also supported for enterprise setups

For more details, see the Paradime notification settings docs.

Troubleshooting Common Issues

Here are the issues you're most likely to hit, and how to fix them fast.

1. 401 Unauthorized from Weather API

Cause: WEATHER_API_KEY is missing, expired, or incorrectly set.

Fix:

  • Check the key in Paradime: Settings → Workspaces → Environment Variables → Bolt Schedules

  • Verify the key works locally:

  • If using a free tier, confirm you haven't exceeded the daily call limit

2. google.auth.exceptions.DefaultCredentialsError

Cause: GOOGLE_CREDENTIALS_JSON path is wrong, or the JSON file isn't accessible in the Bolt execution environment.

Fix:

  • For Bolt schedules, the credentials file must be available in the dbt™ project directory or at an absolute path the runner can access

  • Consider base64-encoding the JSON and storing it as a Bolt environment variable, then decoding at runtime:

3. OPENCLAW_API_KEY Not Recognized

Cause: The OpenClaw SDK expects the key to be set in the environment, but it's only configured in openclaw.json.

Fix:

  • Ensure the variable is set in both the .env file and as a Bolt Schedule environment variable

  • OpenClaw's env precedence: Process env → .env (CWD) → ~/.openclaw/.envopenclaw.json env block

4. Slack Webhook Returns 403 Forbidden

Cause: The webhook URL has been revoked or the Slack app was removed from the workspace.

Fix:

  • Re-generate the webhook: Slack → Your Apps → Incoming Webhooks → Add New Webhook to Workspace

  • Update the SLACK_WEBHOOK_URL in Paradime Bolt environment variables

5. Cron Fires at the Wrong Time

Cause: Timezone mismatch. Bolt defaults to UTC if no timezone is specified.

Fix:

  • Explicitly set timezone: America/Los_Angeles (or your local timezone) in paradime_schedules.yml

  • Double-check your cron expression at crontab.guru

  • Remember: 0 16 * * 5 in America/Los_Angeles means 4 PM Pacific, which is 11 PM or midnight UTC depending on DST

6. Script Runs But No Slack Message

Cause: The script completed without errors but the Slack payload was malformed.

Fix:

  • Check Console Logs in Bolt for the "✅ Weekend plan sent to Slack!" confirmation

  • Test the webhook independently:

  • Ensure the blocks payload structure matches Slack's Block Kit format

Figure 6: Troubleshooting decision tree for failed weekend planner runs.

Evaluating LLM Output Quality with dbt-llm-evals

Since this planner relies on an LLM to generate activity suggestions, you might want to monitor the quality of those outputs over time. Paradime's open-source dbt-llm-evals package lets you run warehouse-native evaluations without sending data to external APIs.

Add it to your packages.yml:

Then configure evaluation criteria in dbt_project.yml:

This gives you automated scoring and drift detection on your weekend planner's LLM responses — directly in Snowflake, BigQuery, or Databricks. No data egress, no external dependencies.

Wrapping Up

Here's what you've built:

Component

Role

OpenClaw

AI agent framework — orchestrates weather checks, calendar reads, and LLM-powered suggestions

Weather API

Provides Saturday/Sunday forecasts for your city

Google Calendar API

Surfaces existing commitments so the planner doesn't double-book you

Paradime Bolt

Schedules the whole thing on a cron (0 16 * * 5), manages secrets in the UI, and monitors every run

Slack

Delivers the finished weekend plan to your team or personal channel

The real win here isn't any single piece — it's the combination. OpenClaw gives you the agentic intelligence. Paradime Bolt gives you the production reliability. And the UI-driven environment variable management means you'll never debug a "works on my machine" secrets problem again.

Next steps:

  • Add more tools to your OpenClaw agent — restaurant APIs, event discovery (Eventbrite, Meetup), transit schedules

  • Use Bolt's On Run Completion trigger to chain the planner with upstream data pipelines

  • Set up Paradime Radar to track the warehouse cost of running evaluations with dbt-llm-evals

  • Explore the OpenClaw Skills Marketplace for pre-built Google Calendar and weather integrations

Happy weekends. 🌤️

Interested to Learn More?
Try Out the Free 14-Days Trial

Stop Managing Pipelines. Start Shipping Them.

Join the teams that replaced manual dbt™ workflows with agentic AI. Free to start, no credit card required.

Stop Managing Pipelines. Start Shipping Them.

Join the teams that replaced manual dbt™ workflows with agentic AI. Free to start, no credit card required.

Stop Managing Pipelines. Start Shipping Them.

Join the teams that replaced manual dbt™ workflows with agentic AI. Free to start, no credit card required.

Copyright © 2026 Paradime Labs, Inc. Made with ❤️ in San Francisco ・ London

*dbt® and dbt Core® are federally registered trademarks of dbt Labs, Inc. in the United States and various jurisdictions around the world. Paradime is not a partner of dbt Labs. All rights therein are reserved to dbt Labs. Paradime is not a product or service of or endorsed by dbt Labs, Inc.

Copyright © 2026 Paradime Labs, Inc. Made with ❤️ in San Francisco ・ London

*dbt® and dbt Core® are federally registered trademarks of dbt Labs, Inc. in the United States and various jurisdictions around the world. Paradime is not a partner of dbt Labs. All rights therein are reserved to dbt Labs. Paradime is not a product or service of or endorsed by dbt Labs, Inc.

Copyright © 2026 Paradime Labs, Inc. Made with ❤️ in San Francisco ・ London

*dbt® and dbt Core® are federally registered trademarks of dbt Labs, Inc. in the United States and various jurisdictions around the world. Paradime is not a partner of dbt Labs. All rights therein are reserved to dbt Labs. Paradime is not a product or service of or endorsed by dbt Labs, Inc.