How to Generate Release Notes with OpenClaw in Paradime
Generate release notes with OpenClaw in Paradime. AI reads merged PRs and commits since last release, categorizes changes, and drafts customer-facing notes.
Mar 18, 2026
Automate Customer-Facing Release Notes with Paradime and OpenClaw
Every shipped feature deserves a changelog entry. Here's how to generate release notes automatically—no stale docs, no tribal knowledge, no missing context.
The Problem: Stale Docs, Missing Context, and Tribal Knowledge
Every data team has been there. A sprint closes, 14 pull requests merge, and the release notes are… an empty Confluence page with last quarter's date.
The symptoms are predictable:
- Stale documentation — Changelogs written weeks after code shipped, if they're written at all. Details are fuzzy, nuance is lost, and the document drifts further from reality with every release.
- Missing context — Stakeholders ask "what changed?" and the answer lives in a Slack thread that's already been archived. Customer success teams scramble to reverse-engineer feature announcements from commit messages.
- Tribal knowledge — Only one engineer knows what the
refactor-billing-v3branch actually did. When that person is on vacation, the release note reads "misc improvements."
These aren't minor annoyances—they're compounding risks. Stale release notes erode customer trust. Missing context causes support tickets. Tribal knowledge creates single points of failure.
Figure 1: The vicious cycle of manual release notes—every skipped changelog compounds downstream confusion.
The fix isn't "write better docs." The fix is automation that generates customer-facing release notes the moment code ships, with categorization, context, and zero human intervention.
This guide walks you through exactly that workflow using Paradime and OpenClaw.
What Is Paradime?
Paradime is an AI-native data platform often described as "Cursor for Data." It replaces dbt Cloud™ with a unified environment for coding, shipping, and scaling data pipelines—spanning analytics and AI workloads.
The platform has three core pillars:
Pillar | What It Does |
|---|---|
Code IDE | AI-assisted dbt™ and Python development with full lineage, data previews, and DinoAI integration. Cuts development time by 83%+. |
Bolt | Production orchestration—schedules, CI/CD, API triggers, and webhook-based pipelines. Deploys jobs 50% faster than dbt Cloud™. |
Radar | FinOps engine that reduces Snowflake and BigQuery warehouse costs. |
For this workflow, we care most about Bolt—specifically its ability to trigger pipelines via API and run arbitrary Python scripts as part of a schedule.
Bolt supports four trigger types:
- Scheduled Run — Cron-based time triggers
- On Run Completion — Fires when another schedule finishes
- On Merge — Executes when code merges into a Git branch
- Bolt API — Programmatic triggers via REST API endpoints
That last one—Bolt API—is what makes this automation possible. You can call a Paradime endpoint from any external system (a GitHub Action, a CI pipeline, or an OpenClaw skill) to kick off a release notes generation job.
What Is OpenClaw?
OpenClaw is an open-source AI agent platform that runs on your own infrastructure. Originally known as Clawdbot, it connects to LLMs (like Anthropic's Claude or OpenAI's GPT) and integrates with messaging platforms—WhatsApp, Telegram, Discord, Slack, Microsoft Teams.
But OpenClaw's real power lies in its Skills system. A Skill is a directory containing a SKILL.md file that gives the LLM instructions and optionally includes scripts, tools, or API integrations. Skills can:
- Execute shell commands and Python scripts
- Call external REST APIs with managed credentials
- Run on configurable schedules via cron
- Gate behind environment variables (skills auto-disable when required keys are missing)
For this workflow, we'll build a custom OpenClaw skill that:
- Fetches merged PRs from GitHub since the last release tag
- Categorizes them (features, fixes, breaking changes)
- Generates polished, customer-facing release notes using the connected LLM
- Triggers a Paradime Bolt schedule to persist and distribute the output
Setup: openclaw-sdk + GitHub API
Prerequisites
Before building the automation, ensure you have:
- OpenClaw installed and running (
curl -fsSL https://openclaw.ai/install.sh | bash) - Python 3.9+ with
uvfor dependency management - A GitHub Personal Access Token with
reposcope - Paradime API credentials (API Key + API Secret with "Bolt Schedules Admin" capability)
- An LLM provider API key configured in OpenClaw (Anthropic, OpenAI, etc.)
Step 1: Generate Paradime API Keys
- In Paradime, navigate to Account Settings → Workspace Settings
- Scroll to the bottom and click Generate API Keys
- Name the key (e.g.,
release-notes-bot) - Grant the Bolt schedules admin capability
- Store the
API_KEY,API_SECRET, andAPI_ENDPOINTsecurely
Step 2: Create a GitHub Personal Access Token
- Go to github.com/settings/tokens
- Generate a fine-grained or classic token with
reposcope - Store the token as
GITHUB_TOKEN
Step 3: Create the OpenClaw Skill Directory
Step 4: Configure Environment Variables in OpenClaw
Add your credentials to ~/.openclaw/.env:
Or configure them in ~/.openclaw/openclaw.json using the skill-scoped configuration:
Security note: OpenClaw's skill-scoped env values are injected only during skill execution and cleared when the agent run ends—no shell leakage.Figure 2: Setup checklist—four steps to get your environment ready for the release notes automation.
Script: Fetch, Categorize, and Generate Release Notes
This is the core automation. The Python script performs three jobs:
- Fetch merged PRs from GitHub since the last release tag
- Categorize each PR as a feature, fix, or breaking change
- Generate customer-facing release notes in Markdown
The SKILL.md File
Create ~/.openclaw/workspace/skills/release-notes-generator/SKILL.md:
Arguments
--owner: GitHub organization or user (required)--repo: Repository name (required)--output: Output file path (default: release_notes.md)--trigger-bolt: If provided, triggers the named Paradime Bolt schedule after generation
Example
How the Categorization Works
Figure 3: PR categorization logic—labels take priority over title pattern matching for more accurate classification.
Env Vars: GITHUB_TOKEN, OPENCLAW_API_KEY
The automation depends on a small set of environment variables. Here's the full reference:
Variable | Where It's Used | How to Get It |
|---|---|---|
| Python script → GitHub API calls | GitHub Settings → Personal Access Tokens. Requires |
| OpenClaw → LLM provider authentication | Your LLM provider's API key (Anthropic, OpenAI, etc.). Configured in |
| Python script → Paradime Bolt API | Paradime Account Settings → Workspace Settings → Generate API Keys. Requires "Bolt Schedules Admin" capability. |
| Python script → Paradime Bolt API | Generated alongside |
| Python script → Paradime Bolt API | Provided when generating API keys. Workspace-specific GraphQL endpoint. |
Setting Variables in Paradime (for Bolt Schedules)
If you want the Bolt schedule itself to have access to GITHUB_TOKEN:
- Navigate to Settings → Workspaces → Environment Variables
- In the Bolt Schedules section, click Add New
- Enter
GITHUB_TOKENas the Key and your token as the Value - Click Save 💾
These variables are injected into every Bolt schedule run. You can also override them at the individual schedule level.
Setting Variables in OpenClaw
OpenClaw resolves environment variables with the following precedence (highest to lowest):
- Process environment (parent shell/daemon)
.envin working directory- Global
.envat~/.openclaw/.env - Config
envblock in~/.openclaw/openclaw.json - Login-shell import (opt-in)
For skill-scoped secrets, use the openclaw.json approach shown in the Setup section—it ensures credentials are only available during skill execution.
Bolt Schedule: API Trigger on Release
Now let's wire the automation so that a release event in GitHub triggers the entire pipeline.
Step 1: Create the Bolt Schedule in Paradime
- In Paradime, navigate to Bolt → Create Schedule
- Name it
release-notes-pipeline - Set the trigger type to Scheduled Run and click the OFF button to disable the time-based trigger—this makes it an API-only schedule
- Add your commands:
- Save the schedule
Step 2: Trigger from OpenClaw (Manual)
Ask your OpenClaw agent:
"Generate release notes for paradime-io/analytics-pipeline"
The skill will execute, fetch PRs, generate notes, and optionally trigger the Bolt schedule.
Step 3: Trigger from GitHub Actions (Automated)
Create .github/workflows/release-notes.yml in your repository:
Step 3b: Trigger via Paradime Python SDK
For more control, use the Python SDK in your CI pipeline:
Figure 4: End-to-end sequence—from release event to published release notes, fully automated.
Monitoring and Debugging
Once the automation is running, you need visibility into what's happening at each stage.
Monitoring Bolt Runs
Paradime provides comprehensive monitoring for Bolt schedule runs:
- Schedule List View — Navigate to Bolt in Paradime to see all schedules with their latest run status
- Run History — Click into any schedule to see a detailed list of all executions, including Run ID, status (Success/Error/Skipped), trigger source, branch, timestamp, and duration
- Execution Time History — A graphical view of the last 30 days showing success/error rates and duration trends
- Run Log Details — Click any Run ID to see command-by-command console output, artifacts (
run_results.json,manifest.json), and timing breakdowns
Setting Up Webhooks for Alerting
Configure Paradime webhooks to get notified on run completion:
- Navigate to Account Settings → Webhooks
- Click + Add Endpoint
- Enter your notification endpoint URL (Slack webhook, PagerDuty, etc.)
- Select the
bolt.run.completedevent
The webhook payload includes full execution details plus query fields for extracting raw console logs and artifacts per dbt™ command.
Monitoring OpenClaw
For the OpenClaw side of the pipeline:
Troubleshooting Common Issues
Issue 1: GitHub API Rate Limiting
Symptom: The script fails with a 403 or 429 response.
Cause: GitHub's REST API allows 5,000 requests/hour for authenticated users. Large repos with hundreds of PRs may exhaust this.
Fix:
- Ensure
GITHUB_TOKENis set (unauthenticated requests are limited to 60/hour) - Use pagination efficiently (the script already does this)
- For very large repos, narrow the time window by checking the tag date
Issue 2: Bolt Schedule Doesn't Trigger
Symptom: The trigger_run() call returns successfully but the schedule doesn't execute.
Cause: The schedule is disabled, or the API key lacks the required capability.
Fix:
- Verify the schedule exists and is active in the Bolt UI
- Confirm your API key has the Bolt Schedules Admin capability (not just Metadata Viewer)
- Check that the schedule name matches exactly (case-sensitive)
Issue 3: OpenClaw Skill Not Loading
Symptom: Asking the agent to generate release notes produces no response or a generic fallback.
Cause: Missing environment variables, incorrect directory structure, or the skill wasn't indexed.
Fix:
- Verify the skill directory exists at
~/.openclaw/workspace/skills/release-notes-generator/ - Confirm
SKILL.mdhas valid YAML frontmatter - Check that required env vars are set:
- Refresh skills: ask the agent "refresh skills" or restart the gateway
- Run diagnostics:
Issue 4: PRs Not Being Categorized Correctly
Symptom: All PRs land in the "Other" category.
Cause: PRs lack conventional labels and titles don't match expected patterns.
Fix:
- Enforce conventional commit prefixes in PR titles (
feat:,fix:,breaking:...) - Add GitHub labels (
feature,bug,breaking-change) to your PR workflow - Extend the
CATEGORY_PATTERNSdictionary in the script to match your team's naming conventions
Issue 5: OpenClaw Gateway Won't Start
Symptom: openclaw status reports the gateway as not running.
Fix: Run the triage sequence:
Common causes:
gateway.modenot set to"local"→ runopenclaw configure- Port conflict (
EADDRINUSE) → change the gateway port in config - Missing authentication for non-loopback bind → set a gateway token
Figure 5: Troubleshooting decision tree—quickly identify which component needs attention.
Wrapping Up
Manual release notes are a documentation debt that compounds with every sprint. The workflow in this guide eliminates that debt entirely:
- OpenClaw provides the AI agent layer—a skill that can be invoked manually ("generate release notes for our repo") or scheduled via cron
- GitHub API supplies the raw data—merged PRs, authors, labels, timestamps
- Pattern-based categorization sorts changes into features, fixes, breaking changes, and other
- Paradime Bolt orchestrates the pipeline in production—triggered via API, monitored through run history, and integrated with your existing notification stack via webhooks
The result is near-100% coverage: every merged PR appears in the changelog, correctly categorized, with attribution—the moment a release ships.
What This Workflow Replaces
Before | After |
|---|---|
Stale Confluence pages updated weeks late | Release notes generated the instant a release is published |
"Ask Sarah, she knows what that branch did" | Every PR is fetched, categorized, and attributed automatically |
Missing context for customer success teams | Customer-facing Markdown with features, fixes, and breaking changes clearly separated |
Manual copy-paste from Git logs | One command or one GitHub event triggers the entire pipeline |
Next Steps
- Customize the categories — Add your team's label conventions to the
CATEGORY_PATTERNSdictionary - Enrich with LLM summaries — Pipe the raw PR data through OpenClaw's connected LLM to generate plain-English descriptions for non-technical stakeholders
- Distribute automatically — Use Paradime Bolt webhooks to push the generated notes to Slack, email, or your documentation site on
bolt.run.completed - Version bump automation — Extend the script to automatically create a new GitHub release with the generated notes as the body
Ship code. Ship notes. Ship confidence.
Paradime documentation: docs.paradime.io · OpenClaw documentation: docs.openclaw.ai · OpenClaw GitHub: github.com/openclaw/openclaw
Interested to Learn More? Try Out the Free 14-Days Trial
One AI-native workspace to build, ship, and monitor dbt™ — without the tool sprawl.
More Guides
How to Run OpenClaw in Paradime
Learn how to run OpenClaw automations in Paradime — schedule morning briefings, inbox triage, calendar cleanup, and more with encrypted secrets and zero infrastructure.
How to Summarize Slack Channels Daily with OpenClaw in Paradime
Summarize busy Slack channels daily with OpenClaw in Paradime. AI reads messages, extracts key decisions and action items, and posts a digest.
How to Generate Security Compliance Reports with OpenClaw in Paradime
Generate security compliance reports with OpenClaw in Paradime. AI compiles evidence from your trackers into structured reports ready for audit review.
Join industry leaders winning with DinoAI agents
Data engineers and analysts at the most AI-native startups and enterprises use Paradime's DinoAI agents everyday to become market leaders.