How to Auto-Generate Meeting Agendas with OpenClaw in Paradime
Feb 26, 2026
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.mdfile.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:
Create a new project (or reuse an existing one).
Navigate to APIs & Services → Library.
Enable Google Calendar API.
Enable Google Docs API.
Enable Google Drive API (needed for doc creation and search).
Create a Service Account under APIs & Services → Credentials.
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/.envor 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):
Process environment (parent shell/daemon)
.envin current working directoryGlobal
.envat~/.openclaw/.envConfig
envblock in~/.openclaw/openclaw.jsonOptional 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 |
|---|---|---|
| Service account key for Calendar, Docs, and Drive APIs | Paradime Bolt env vars (encrypted) + OpenClaw |
| API key for the LLM provider powering OpenClaw's agent | Paradime Bolt env vars (encrypted) + OpenClaw |
Setting Env Vars in Paradime Bolt
In the Paradime UI:
Navigate to Settings → Environment Variables → Bolt Schedule Env Variables.
Add
GOOGLE_CREDENTIALS_JSONandOPENCLAW_API_KEYas encrypted variables.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
Open Bolt in the Paradime sidebar.
Click New Schedule.
Set the Trigger Type to
Scheduled Run.Enter the cron expression:
0 18 * * *(every day at 6 PM).Select your timezone (e.g.,
America/New_York).Under Command Settings, configure:
Under Environment Variables Override, verify
GOOGLE_CREDENTIALS_JSONandOPENCLAW_API_KEYare inherited (or override them).Set up Notifications: Slack channel for failures, email for SLA breaches.
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 |
|---|---|
| Gateway: running, RPC: ok |
| No blocking issues reported |
| Job listed with correct schedule and next wake time |
| Recent runs showing |
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 |
|---|---|---|
| Service account not shared on calendar | Share your calendar with the service account email address |
| Wrong | Use |
| Malformed | Re-download the key file; ensure the JSON is valid and complete |
| Too many API calls | Add exponential backoff; batch requests where possible |
OpenClaw Gateway Issues
Symptom | Diagnostic | Fix |
|---|---|---|
Gateway won't start |
| Set |
Cron jobs not firing |
| Ensure |
Port conflict on startup |
| Kill the existing process or change the port: |
Skill not loading | Skill doesn't appear in agent context | Run |
Cron delivers but output is empty |
| Check that |
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 | Ensure |
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:
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.
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.
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.

