How to Auto-Generate Meeting Agendas with OpenClaw in Paradime

Feb 26, 2026

Table of Contents

How to Build a Meeting Agenda Generator with Paradime, OpenClaw, and Bolt

Stop wasting the first ten minutes of every meeting figuring out what to talk about. If you've ever walked into a stand-up, a 1:1, or a cross-functional sync without a crisp agenda—only to spend half the time reconstructing what happened last time—you already know the pain. Now multiply that across an entire team running dozens of meetings per week, and you've got a serious productivity leak.

This guide shows you how to wire together Paradime, OpenClaw, and a few Google APIs into a fully automated meeting agenda generator. Every evening at 6 PM, an OpenClaw agent scans tomorrow's calendar, pulls past meeting notes and open action items, and drafts a ready-to-go agenda doc for each meeting. All of it runs on a cron schedule inside Paradime Bolt—no local config files to babysit, no fragile cron jobs on your laptop.

Let's build it.

What Is Paradime?

Paradime is an AI-native platform for data engineering that replaces dbt Cloud™. Think of it as Cursor for Data: teams use Paradime to code dbt™ and Python pipelines up to 10× faster, reduce mean time to repair (MTTR) by up to 70%, and ship production-grade analytics pipelines from a single UI.

The three pillars of Paradime are:

Pillar

What It Does

Code IDE

AI-native IDE with DinoAI for context-aware dbt™ development, inline data previews, and lineage visualization

Bolt

Production scheduler with cron-based and event-driven orchestration, CI/CD, DinoAI-powered debugging, and real-time alerts

Radar

FinOps dashboard for cutting Snowflake and BigQuery costs

For this project, we care most about Bolt. Bolt lets you define schedules in the UI or as code, configure environment variables per schedule, and monitor every run with built-in logging and Slack/MS Teams alerts. It's SOC 2 Type II compliant, which means your GOOGLE_CREDENTIALS_JSON isn't sitting in a .env file on someone's laptop.

A typical Bolt schedule configuration in YAML looks like this:

Relevant docs: Creating Bolt Schedules · Trigger Types

What Is OpenClaw?

OpenClaw is an open-source personal AI assistant that actually does things—clears your inbox, manages your calendar, sends emails, fills out forms. It runs on your machine (Mac, Windows, or Linux), supports Anthropic, OpenAI, or local models, and keeps your data private by default.

What makes OpenClaw interesting for automation:

  • Skills & Plugins: Extend the agent with community skills or write your own. Each skill is just a folder with a SKILL.md file.

  • Cron Jobs: The Gateway's built-in scheduler persists jobs, wakes the agent at the right time, and can deliver output back to Slack, Discord, or any chat channel.

  • Full System Access: Read/write files, run shell commands, execute scripts—sandboxed or full-access.

  • Persistent Memory: Remembers context across sessions, which is critical for recalling past meeting notes.

Install it globally:

Relevant docs: Getting Started · Skills · Cron Jobs

Architecture Overview

Before diving into setup, here's how all the pieces fit together:

Figure 1: End-to-end flow — Bolt triggers OpenClaw nightly, which scans Google Calendar, pulls context from past Docs, drafts agendas, and notifies your team.

Setup: OpenClaw + Google Calendar API + Google Docs API

Step 1: Enable Google APIs

Head to the Google Cloud Console:

  1. Create a new project (or reuse an existing one).

  2. Navigate to APIs & Services → Library.

  3. Enable Google Calendar API.

  4. Enable Google Docs API.

  5. Enable Google Drive API (needed for doc creation and search).

  6. Create a Service Account under APIs & Services → Credentials.

  7. Download the JSON key file — this becomes your GOOGLE_CREDENTIALS_JSON.

Security note: Never commit this JSON file to Git. In Paradime, you'll store it as an encrypted environment variable. In OpenClaw, it lives in ~/.openclaw/.env or as a SecretRef.

Step 2: Install OpenClaw and Create the Skill

If you haven't already:

Now create the meeting agenda skill:

Create ~/.openclaw/workspace/skills/meeting-agenda-gen/SKILL.md:

Step 3: Configure Environment Variables in OpenClaw

Add your credentials to ~/.openclaw/.env:

Or configure them in ~/.openclaw/openclaw.json using SecretRef for better security:

OpenClaw's environment variable precedence (highest → lowest):

  1. Process environment (parent shell/daemon)

  2. .env in current working directory

  3. Global .env at ~/.openclaw/.env

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

  5. Optional login-shell import

Relevant docs: Environment Variables · Secrets Management

The Script: Scan, Pull, Draft

Here's the Node.js script that powers the skill. It lives alongside the SKILL.md at ~/.openclaw/workspace/skills/meeting-agenda-gen/run.mjs:

Figure 2: Script logic — each meeting is processed independently, with graceful fallback when no prior notes exist.

Environment Variables Reference

Your setup requires exactly two secrets. Here's where each one goes:

Variable

Purpose

Where to Set

GOOGLE_CREDENTIALS_JSON

Service account key for Calendar, Docs, and Drive APIs

Paradime Bolt env vars (encrypted) + OpenClaw ~/.openclaw/.env

OPENCLAW_API_KEY

API key for the LLM provider powering OpenClaw's agent

Paradime Bolt env vars (encrypted) + OpenClaw ~/.openclaw/.env

Setting Env Vars in Paradime Bolt

In the Paradime UI:

  1. Navigate to Settings → Environment Variables → Bolt Schedule Env Variables.

  2. Add GOOGLE_CREDENTIALS_JSON and OPENCLAW_API_KEY as encrypted variables.

  3. When creating your Bolt schedule, you can override these per-schedule if needed.

Relevant docs: Bolt Environment Variables · Special Environment Variables

Setting Env Vars in OpenClaw

OpenClaw supports multiple approaches (in priority order):

Relevant docs: OpenClaw Environment Variables

Bolt Schedule: Cron Daily at 6 PM

This is where Paradime eliminates the "works on my machine" problem. Instead of a fragile local crontab, you define the schedule in Bolt's UI and it runs reliably with monitoring, alerts, and audit logs.

Creating the Schedule in the Paradime UI

  1. Open Bolt in the Paradime sidebar.

  2. Click New Schedule.

  3. Set the Trigger Type to Scheduled Run.

  4. Enter the cron expression: 0 18 * * * (every day at 6 PM).

  5. Select your timezone (e.g., America/New_York).

  6. Under Command Settings, configure:

  7. Under Environment Variables Override, verify GOOGLE_CREDENTIALS_JSON and OPENCLAW_API_KEY are inherited (or override them).

  8. Set up Notifications: Slack channel for failures, email for SLA breaches.

  9. Click Deploy.

Parallel OpenClaw Cron (Optional Fallback)

You can also register the same job directly in OpenClaw as a backup:

Or as a JSON tool-call:

Figure 3: Dual-trigger architecture — Bolt handles the primary schedule with enterprise monitoring; OpenClaw cron serves as an optional local fallback.

Relevant docs: Bolt Trigger Types · OpenClaw Cron Jobs

Monitoring and Debugging

Paradime Bolt Monitoring

Bolt gives you production-grade observability out of the box:

  • Run History: Every execution is logged with status, duration, and artifacts. Filter by status, owner, or cron config.

  • Real-Time Logs: Stream logs as the schedule executes—no need to SSH into a server.

  • DinoAI Debugging: When a run fails, Paradime's AI analyzes the error and suggests fixes. This alone cuts MTTR by up to 70%.

  • Alerts: Configure granular notifications for success, failure, and SLA breaches across Slack, MS Teams, and email.

  • Webhooks: Push run outcomes to JIRA, Datadog, Monte Carlo, or any system.

Figure 4: Bolt's monitoring and alerting pipeline — failures trigger AI analysis and automatic ticketing.

OpenClaw Debugging

For the agent layer, OpenClaw provides its own diagnostic toolkit:

Key things to check:

Command

Healthy Signal

openclaw status

Gateway: running, RPC: ok

openclaw doctor

No blocking issues reported

openclaw cron list

Job listed with correct schedule and next wake time

openclaw cron runs --id

Recent runs showing status: ok

Relevant docs: Bolt Monitoring · OpenClaw Troubleshooting

Leveraging dbt™ for Agenda Quality Evaluation

Here's where Paradime's data platform shines beyond scheduling. You can use the open-source dbt™-llm-evals package to evaluate the quality of your LLM-generated agendas—directly in your data warehouse, with zero data egress.

Setting Up dbt™-llm-evals

Add the package to your packages.yml:

Then install and configure:

Configure evaluation criteria in your dbt_project.yml:

Define your agenda model for evaluation:

Monitor results:

Relevant docs: dbt™-llm-evals Quickstart · Package Overview

Troubleshooting Common Issues

Google API Errors

Error

Cause

Fix

403: The caller does not have permission

Service account not shared on calendar

Share your calendar with the service account email address

404: Requested entity was not found

Wrong calendarId

Use 'primary' or the exact calendar email

401: Invalid credentials

Malformed GOOGLE_CREDENTIALS_JSON

Re-download the key file; ensure the JSON is valid and complete

429: Rate Limit Exceeded

Too many API calls

Add exponential backoff; batch requests where possible

OpenClaw Gateway Issues

Symptom

Diagnostic

Fix

Gateway won't start

openclaw gateway status shows Gateway start blocked: set gateway.mode=local

Set gateway.mode="local" in ~/.openclaw/openclaw.json or run openclaw configure

Cron jobs not firing

openclaw cron list shows no nextWake

Ensure cron.enabled: true in config and Gateway is running continuously

Port conflict on startup

EADDRINUSE in logs

Kill the existing process or change the port: openclaw gateway --port 18790

Skill not loading

Skill doesn't appear in agent context

Run openclaw agent --message "refresh skills" or verify SKILL.md has valid YAML frontmatter

Cron delivers but output is empty

openclaw cron runs --id shows status: ok but no content

Check that sessionTarget is set to "isolated" and lightContext isn't stripping needed history

Paradime Bolt Issues

Symptom

Fix

Schedule shows as "Paused"

Check that the cron expression is valid (use crontab.guru) and the toggle is ON

Env vars not injecting

Verify variables exist in Settings → Environment Variables before overriding in the schedule

Run fails with dbt deps error

Ensure packages.yml is committed and accessible from the Bolt runtime

Timezone mismatch

Double-check the timezone dropdown in Bolt matches your intended execution window; default is UTC

End-to-End Debugging Checklist

Figure 5: Systematic debugging flow — start from the scheduler layer and work inward.

Relevant docs: OpenClaw Troubleshooting · OpenClaw Cron Troubleshooting · Paradime Bolt Docs

Wrapping Up

Let's recap what you've built:

  1. An OpenClaw skill that scans Google Calendar for tomorrow's meetings, retrieves past notes and open action items from Google Docs, and drafts a fresh agenda document for each meeting.

  2. A Paradime Bolt schedule that triggers this skill every day at 6 PM with enterprise-grade monitoring, encrypted environment variables, and DinoAI-powered failure analysis.

  3. An optional dbt™-llm-evals integration that evaluates the quality of your generated agendas directly in your data warehouse.

The beauty of this setup is that nothing runs on your laptop. Your Google credentials are encrypted in Paradime's environment variable store—not scattered across .env files. Your cron job is managed by Bolt—not a flaky crontab -e entry that dies when your machine sleeps. And when something breaks, DinoAI tells you why before you even open the logs.

What to do next:

  • Extend the skill: Add Notion or Confluence as alternative note sources.

  • Add attendee context: Pull each attendee's recent Slack messages or JIRA tickets for richer agendas.

  • Build a feedback loop: Let meeting participants rate agenda quality, feed that back into dbt™-llm-evals, and watch your agenda scores improve over time.

Stop spending meeting time figuring out the meeting. Automate the prep, show up with context, and start every conversation where it actually matters.

Ready to get started? Sign up for Paradime and explore OpenClaw on GitHub.

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.