How to Build a Personal CRM with OpenClaw in Paradime

Feb 26, 2026

Table of Contents

How to Build a Personal CRM with Paradime, OpenClaw, and Google Workspace APIs

Automate contact tracking, follow-up reminders, and interaction logging — all orchestrated through Paradime Bolt and OpenClaw.

Your network is your most valuable asset, but keeping track of every email thread, calendar meeting, and follow-up commitment across hundreds of contacts is a losing battle when done manually. Important relationships go stale. Warm introductions are forgotten. Follow-up windows close before you even realize they existed.

This guide shows you how to combine Paradime and OpenClaw to build a personal CRM automation that scans your recent emails and meetings, updates a contact interaction log in Google Sheets, and flags contacts that are due for follow-up — on a weekly cron schedule. The approach is incident-friendly: structured steps, decision-tree troubleshooting, and a "time to first clue" mindset that prioritizes reproducibility and minimal fixes.

What Is Paradime?

Paradime is an AI-native platform designed to replace dbt Cloud™. It provides a complete environment for coding, shipping, debugging, and scaling data pipelines for analytics and AI. Teams use Paradime to:

  • Code data pipelines up to 10× faster with DinoAI, an AI assistant integrated directly into the development IDE.

  • Ship production dbt™ pipelines using Bolt, Paradime's orchestration and CI/CD engine with cron-based scheduling, Slack/email notifications, and YAML-as-code configurations.

  • Debug failed runs instantly with DinoAI-powered Summary Logs that surface root causes and suggested fixes in seconds.

  • Monitor pipeline health, run history, and source freshness from a single dashboard.

Paradime supports paradime_schedules.yml as a configuration-as-code pattern, enabling you to version-control your pipeline schedules alongside your dbt™ project:

Why Paradime for a personal CRM? Bolt gives you a production-grade scheduler with built-in monitoring, alerting, and AI-powered debugging — infrastructure that would take weeks to build from scratch.

What Is OpenClaw?

OpenClaw is an open-source personal AI assistant that runs on your machine and connects to messaging platforms like WhatsApp, Telegram, Discord, and Slack. Unlike cloud-only assistants, OpenClaw has:

  • Full system access — reads/writes files, runs shell commands, executes scripts.

  • Browser control — browses the web, fills forms, extracts data.

  • Persistent memory — remembers your preferences, context, and past interactions.

  • Cron jobs and heartbeats — schedules recurring tasks that fire even when you're not actively chatting.

  • Skills and plugins — extends functionality with community-built or custom integrations (installed via clawhub install ).

OpenClaw also has a Python SDK (openclaw-sdk) that provides a programmatic interface:

Why OpenClaw for a personal CRM? It combines LLM reasoning with direct access to your Google Workspace (via the gog skill), enabling it to scan, interpret, and act on your email, calendar, and contact data autonomously.

Architecture Overview

Before diving into setup, here's the end-to-end flow:

Figure 1: Personal CRM automation architecture — Paradime Bolt triggers the OpenClaw agent weekly, which scans Google APIs and updates your CRM spreadsheet.

Setup: openclaw-sdk + Google Contacts API + Gmail API + Google Sheets API

Prerequisites

Requirement

Version / Detail

Python

3.11+

Node.js

18+

OpenClaw

Latest (npm i -g openclaw)

openclaw-sdk

pip install openclaw-sdk

Paradime account

Free tier available

Google Cloud project

With OAuth 2.0 credentials

Slack workspace

With incoming webhook configured

Step 1: Create a Google Cloud Project and Enable APIs

  1. Go to Google Cloud Console.

  2. Create a new project (e.g., personal-crm-openclaw).

  3. Navigate to APIs & Services → Library and enable:

  4. Go to APIs & Services → Credentials → Create Credentials → OAuth 2.0 Client ID.

  5. Download the JSON credentials file.

Step 2: Install and Configure OpenClaw with the gog Skill

The gog skill is a Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.

Set a default account to avoid repeating --account in every command:

Step 3: Install the OpenClaw Python SDK

Verify your gateway connection:

Step 4: Create Your CRM Spreadsheet

Create a Google Sheet named "Personal CRM" with the following columns in a tab called Contacts:

Name

Email

Company

First Seen

Last Contact

Interaction Count

Last Subject

Follow-Up Due

Notes

(data populated by automation)









Note the spreadsheet ID from the URL: https://docs.google.com/spreadsheets/d/{SPREADSHEET_ID}/edit

Figure 2: Setup sequence — follow these steps in order to ensure all dependencies are in place before scripting.

Script: Scan, Update, and Flag

This is the core automation logic. The OpenClaw agent, triggered on a schedule, performs three tasks:

  1. Scan recent emails and calendar events from the past 7 days.

  2. Update the contact interaction log in Google Sheets.

  3. Flag contacts due for follow-up and send a Slack notification.

The CRM Automation Script

Create a file called crm_sync.py:

Script Decision Flow

Figure 3: Script decision tree — the agent scans, merges, writes, and alerts based on follow-up thresholds.

Environment Variables

Configure the following environment variables for the automation to work:

Variable

Purpose

Where to Set

GOOGLE_CREDENTIALS_JSON

Path to your OAuth 2.0 client secret JSON file

Shell environment or .env file

OPENCLAW_API_KEY

API key for OpenClaw gateway authentication (if using remote gateway)

Shell environment or OpenClaw config

SLACK_WEBHOOK_URL

Slack incoming webhook URL for follow-up notifications

Shell environment or Paradime Bolt env vars

CRM_SPREADSHEET_ID

Google Sheets spreadsheet ID

Shell environment

FOLLOWUP_THRESHOLD_DAYS

Number of days before a contact is flagged for follow-up (default: 14)

Shell environment

GOG_ACCOUNT

Default Google account for the gog CLI skill

Shell environment

Setting Environment Variables in Paradime Bolt

In Paradime, environment variables for Bolt schedules are managed through the UI:

  1. Navigate to Settings → Workspaces → Environment Variables.

  2. In the Bolt Schedules section, click Add New.

  3. Enter the Key (e.g., SLACK_WEBHOOK_URL) and Value.

  4. Click the Save icon.

Security note: Sensitive values like GOOGLE_CREDENTIALS_JSON and SLACK_WEBHOOK_URL should be stored as Paradime environment variables (which are encrypted at rest), not committed to your repository.

For more details, see the Paradime Environment Variables documentation.

Bolt Schedule: Cron Weekly

With your script ready and environment variables configured, create a Paradime Bolt schedule to run the CRM sync weekly.

Option 1: YAML-as-Code

Add this to your paradime_schedules.yml:

Option 2: OpenClaw Native Cron

If you prefer to keep the scheduling entirely within OpenClaw:

Or using the JSON API:

Which Scheduling Approach to Choose?

Figure 4: Decision tree for choosing between Paradime Bolt and OpenClaw native scheduling.

Monitoring and Debugging

Paradime Bolt Monitoring

Once your schedule is running in Bolt, you get built-in observability:

  1. Bolt Home Screen — View all schedules with status, last run time, next run time, and trigger type at a glance.

  2. Run History — Click into any schedule to see a chronological list of all executions with status, trigger source, branch, commit, and duration.

  3. Three-Tier Logs — Click a specific run to access:

  4. Artifacts — Access run_results.json, compiled SQL, and manifest files from each run.

Time to first clue: Summary Logs give you an AI-generated root cause hypothesis within seconds of a failure. This is your first stop — not the raw console output.

For a full guide, see Viewing Run History and Analytics and Debugging Failed Runs.

OpenClaw Monitoring

OpenClaw provides its own observability layer:

First 60 seconds triage (run in order when something breaks):

Figure 5: Debugging decision tree — start with Paradime's AI-generated Summary Logs, then drill into OpenClaw diagnostics if the issue is at the agent layer.

Troubleshooting Common Issues

Issue 1: gog Authentication Failure

Symptoms: gog gmail search returns 401 Unauthorized or Token has been expired or revoked.

Root Cause: OAuth token expired or credentials file path is wrong.

Fix:

Time to first clue: Run gog gmail search 'newer_than:1d' --max 1 — if this fails, the issue is authentication, not your script.

Issue 2: Google Sheets "Spreadsheet Not Found"

Symptoms: gog sheets get returns 404 or Spreadsheet not found.

Root Cause: Wrong spreadsheet ID, or the Google account doesn't have access.

Fix:

  1. Double-check the spreadsheet ID from the URL.

  2. Ensure the authenticated Google account has Editor access to the sheet.

  3. Test: gog sheets metadata --json

Issue 3: OpenClaw Cron Job Doesn't Fire

Symptoms: The weekly CRM sync never runs. No logs, no errors.

Root Cause: Cron disabled, gateway not running, or schedule expression incorrect.

Fix:

Log signatures to look for:

  • cron: scheduler disabled → Enable cron in gateway config

  • heartbeat skipped reason=quiet-hours → Adjust quiet hours

  • unknown accountId → Delivery target doesn't exist

Issue 4: Slack Webhook Returns 403 or 404

Symptoms: Script runs successfully but no Slack notification appears.

Root Cause: Invalid webhook URL, or the webhook has been deactivated.

Fix:

  1. Go to your Slack workspace → Apps → Incoming Webhooks → verify the webhook is active.

  2. Test the webhook directly:

  3. If testing works but the script doesn't send, check that SLACK_WEBHOOK_URL is set in the environment where the script runs.

Issue 5: OpenClaw Agent Returns Malformed JSON

Symptoms: json.loads(result.content) throws JSONDecodeError.

Root Cause: The LLM wrapped the JSON in markdown code fences or added commentary.

Fix: Add explicit formatting instructions to your prompt:

Alternatively, use the OpenClaw SDK's structured output feature:

Issue 6: Paradime Bolt Schedule Fails with "Command Not Found"

Symptoms: Bolt run fails immediately with python: command not found or gog: command not found.

Root Cause: The Bolt runtime environment doesn't have your local tools installed.

Fix:

  • Ensure your dbt™ project includes a requirements.txt or packages.yml with all Python dependencies.

  • For the gog CLI, the script must run in an environment where OpenClaw and its skills are installed. Consider using the OpenClaw native cron instead of Bolt for this specific use case, or package the script as a dbt™ Python model.

Quick Troubleshooting Decision Tree

Figure 6: Rapid troubleshooting decision tree — route to the right fix in under 60 seconds.

Wrapping Up

You now have a fully automated personal CRM pipeline that:

  1. Scans your Gmail and Google Calendar for recent interactions every week.

  2. Updates a structured contact log in Google Sheets with interaction counts, timestamps, and context.

  3. Flags contacts that haven't been touched in over 14 days and sends you a Slack reminder.

  4. Runs on a schedule via Paradime Bolt (with AI-powered debugging) or OpenClaw's native cron.

  5. Is debuggable from the first second — Summary Logs in Paradime and openclaw doctor give you instant root cause analysis.

What to Do Next

  • Tune the follow-up threshold: Adjust FOLLOWUP_THRESHOLD_DAYS based on your relationship cadence — 7 days for active deals, 30 days for dormant network contacts.

  • Add meeting prep briefings: Use OpenClaw's daily cron to scan your calendar each morning and deliver a briefing on today's meeting attendees based on your CRM data.

  • Enrich with LinkedIn data: Add a browser skill to OpenClaw that pulls recent activity from LinkedIn profiles for each contact.

  • Build a dbt™ model layer: If your CRM data grows, model it in dbt™ within Paradime to create analytics on interaction frequency, relationship health scores, and network growth.

The combination of Paradime's production-grade orchestration and OpenClaw's autonomous agent capabilities gives you a personal CRM that doesn't just store data — it actively manages your professional relationships while you focus on the conversations that matter.

For more on Paradime Bolt scheduling, see the Creating Schedules documentation. For OpenClaw cron configuration, refer to the Cron Jobs documentation. For the gog Google Workspace skill, visit ClawHub.

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.