Your Pipedrive pipeline holds every deal your team is working. OpenClaw can read it, update it, and watch it for you. By writing a single skill file that calls Pipedrive’s REST API, you give your AI agent direct access to deals, contacts, activities, and pipeline stages. No paid middleware, no Zapier triggers, no MCP plugins required.
This guide covers the full setup: finding your Pipedrive API token, writing the OpenClaw skill from scratch, testing it with real queries, and configuring automated pipeline alerts. If OpenClaw is already running on your machine, expect about 20 minutes from start to finish.
What You Get After Connecting
Once the skill is live, your OpenClaw agent becomes a conversational front end for Pipedrive. You message it in Telegram, WhatsApp, or Slack and it handles the API calls.
Specific capabilities:
- Look up deals and contacts by name, email, or deal value
- Check pipeline status across all stages with a single message
- Create and update deals, persons, and organizations without opening Pipedrive
- Log activities (calls, emails, meetings) directly from chat
- Get daily pipeline summaries via OpenClaw’s heartbeat scheduling
- Detect stale deals that have been stuck in one stage for too long
The agent talks to Pipedrive’s REST API (v1/v2) using your personal API token. Data flows directly between your machine and Pipedrive’s servers.
Before You Start
Three prerequisites:
-
OpenClaw installed and running. If you have not set it up yet, follow the OpenClaw setup guide. That covers installation, workspace configuration, memory, and messaging channels.
-
A Pipedrive account with API access enabled. All paid plans include API access. Your admin may need to enable it under company settings. Free trial accounts also have API access for the trial period.
-
A text editor for writing the skill file. VS Code, Cursor, or any Markdown editor works.
Step 1: Get Your Pipedrive API Token
Pipedrive uses a personal API token for authentication. Every API call includes this token, and Pipedrive uses it to determine which account and permissions apply.
Here is how to find it:
- Log into Pipedrive and click your profile icon (top right)
- Select Company settings
- Go to Personal preferences and open the API tab
- Copy the token shown on that page
If you do not see the API tab, your permission set may not include API access. Ask your Pipedrive admin to enable it under Settings > Manage users > Permission sets.
Store the Token Safely
Do not paste the token into your skill file. Store it in a .env file:
# ~/.env or ~/openclaw/.env
PIPEDRIVE_API_TOKEN=abc123def456ghi789jkl012mno345pqr678stu9
PIPEDRIVE_DOMAIN=yourcompany
The PIPEDRIVE_DOMAIN is the subdomain in your Pipedrive URL. If your Pipedrive URL is https://yourcompany.pipedrive.com, the domain value is yourcompany.
OpenClaw reads environment variables at runtime. This keeps the secret out of workspace files your agent might log or share.
Step 2: Write the OpenClaw Pipedrive Skill
OpenClaw skills are Markdown files that tell your agent how to call external APIs. The skill file lives in your workspace’s skills/ directory.
Create the Skill Directory
mkdir -p ~/.openclaw/workspace/skills/pipedrive
Write the SKILL.md File
Create ~/.openclaw/workspace/skills/pipedrive/SKILL.md with the following content:
---
name: pipedrive
description: Read and write Pipedrive CRM data. Manage deals, persons, organizations, and activities via the Pipedrive REST API.
tools:
- shell
---
# Pipedrive CRM Skill
## Authentication
Use the environment variable `PIPEDRIVE_API_TOKEN` for all API requests.
Use the environment variable `PIPEDRIVE_DOMAIN` for the base URL.
Base URL: https://$PIPEDRIVE_DOMAIN.pipedrive.com/api/v1
All requests include the token as a query parameter or header:
Header method: x-api-token: $PIPEDRIVE_API_TOKEN
## Available Operations
### Search for a Person
Find a contact by name or email:
curl -s -H "x-api-token: $PIPEDRIVE_API_TOKEN" \
"https://$PIPEDRIVE_DOMAIN.pipedrive.com/api/v1/persons/search?term=USER_SEARCH_TERM&limit=5" \
| jq '.data.items[].item | {id, name, primary_email: .emails[0], org_name: .organization.name}'
### List Deals in Pipeline
Fetch all open deals with stage and value:
curl -s -H "x-api-token: $PIPEDRIVE_API_TOKEN" \
"https://$PIPEDRIVE_DOMAIN.pipedrive.com/api/v1/deals?status=open&limit=50" \
| jq '.data[] | {id, title, stage_id, value, currency, person_name: .person_id.name, expected_close_date: .expected_close_date}'
### Get a Single Deal
curl -s -H "x-api-token: $PIPEDRIVE_API_TOKEN" \
"https://$PIPEDRIVE_DOMAIN.pipedrive.com/api/v1/deals/DEAL_ID" \
| jq '.data | {title, stage_id, value, status, person_name: .person_id.name, org_name: .org_id.name, expected_close_date}'
### Create a New Deal
curl -s -H "x-api-token: $PIPEDRIVE_API_TOKEN" \
-H "Content-Type: application/json" \
-X POST "https://$PIPEDRIVE_DOMAIN.pipedrive.com/api/v1/deals" \
-d '{
"title": "DEAL_TITLE",
"value": "DEAL_VALUE",
"currency": "USD",
"person_id": PERSON_ID,
"org_id": ORG_ID,
"stage_id": STAGE_ID
}' | jq '.data | {id, title, stage_id, value}'
### Update a Deal Stage
curl -s -H "x-api-token: $PIPEDRIVE_API_TOKEN" \
-H "Content-Type: application/json" \
-X PUT "https://$PIPEDRIVE_DOMAIN.pipedrive.com/api/v1/deals/DEAL_ID" \
-d '{
"stage_id": NEW_STAGE_ID
}' | jq '.data | {title, stage_id}'
### Add an Activity
Log a call, meeting, or task linked to a deal:
curl -s -H "x-api-token: $PIPEDRIVE_API_TOKEN" \
-H "Content-Type: application/json" \
-X POST "https://$PIPEDRIVE_DOMAIN.pipedrive.com/api/v1/activities" \
-d '{
"subject": "ACTIVITY_SUBJECT",
"type": "call",
"deal_id": DEAL_ID,
"person_id": PERSON_ID,
"due_date": "YYYY-MM-DD",
"note": "ACTIVITY_NOTES"
}' | jq '.data | {id, subject, type, due_date}'
### List Pipeline Stages
curl -s -H "x-api-token: $PIPEDRIVE_API_TOKEN" \
"https://$PIPEDRIVE_DOMAIN.pipedrive.com/api/v1/stages" \
| jq '.data[] | {id, name, pipeline_name: .pipeline_name, order_nr}'
## Rules
- Always confirm before creating or updating records. Show the user what will change and ask for approval.
- When searching for persons, try name first. If multiple results, list them and ask which one.
- For deal stage updates, show the current stage and the proposed new stage before executing.
- Respect rate limits: Pipedrive allows 80 requests per 2 seconds for API token auth.
- Never log the API token in responses or memory files.
- When listing deals, default to open deals unless the user specifies otherwise.
What Each Section Does
The frontmatter (name, description, tools) tells OpenClaw when to activate this skill. Setting tools: shell gives the agent permission to run curl commands.
The operations section provides templated API calls the agent adapts at runtime. When you ask “What deals are closing this week?”, the agent reads the deal listing pattern, adjusts the query, runs curl, and parses the JSON.
The rules section sets guardrails. The confirmation requirement matters most: you do not want your agent silently moving deals to the wrong stage or creating duplicate contacts.
Step 3: Test the Connection
Restart OpenClaw to load the new skill:
openclaw gateway restart
Then open your messaging channel and test with these queries:
Read test:
“List all open deals in Pipedrive”
The agent should return a list of deal names, stages, and values.
Search test:
“Find the contact record for sarah@acme.com in Pipedrive”
The agent should return the person’s name, email, and associated organization.
Write test (with confirmation):
“Create a deal: Acme Corp Expansion, value $25,000, stage Proposal”
The agent should show you the details and ask for confirmation before creating the record. If it creates without asking, strengthen the confirmation rule in your SKILL.md.
Troubleshooting
| Symptom | Likely Cause | Fix |
|---|---|---|
| 401 Unauthorized | Token is invalid or expired | Regenerate token in Pipedrive > Personal preferences > API |
| 403 Forbidden | API access disabled for your user | Ask admin to enable API in your permission set |
| Empty results | Wrong domain in base URL | Check PIPEDRIVE_DOMAIN matches your Pipedrive subdomain |
| 429 Too Many Requests | Rate limit exceeded | Wait 2 seconds, retry. Reduce query frequency. |
| ”Skill not found” | Skill directory wrong | Verify path: ~/.openclaw/workspace/skills/pipedrive/SKILL.md |
What to Automate First
The pattern that works best: start read-only, add writes after a week, automate after two weeks. Jumping straight to automated writes is where teams get burned.
Week 1: Read-Only Lookups
Use your agent for quick pipeline questions during your workday:
- “What stage is the Globex deal at?”
- “Show me all deals over $10K closing this month”
- “When was our last activity with the Initech contact?”
This builds your instinct for what the agent gets right and where it needs clearer instructions. Compare responses against Pipedrive’s UI for the first few days.
Week 2: Add Write Operations
Once lookups feel accurate, start modifying records through chat:
- “Move the Globex deal to Negotiation stage”
- “Log a call with Sarah at Acme: discussed timeline, she needs budget approval by Friday”
- “Create a follow-up task for the Initech deal, due next Tuesday”
Week 3: Automated Alerts and Summaries
This is where the real time savings start. Use OpenClaw’s heartbeat scheduling to run checks without being prompted.
Add this to your heartbeat.md:
## Stale Deal Detection
Every morning, check Pipedrive for deals that have been in the same stage
for more than 14 days with no activities logged in the last 7 days.
Send me a summary with the deal name, current stage, days stuck,
deal value, and assigned owner.
You can also add a daily pipeline brief:
## Daily Pipeline Summary (runs at 8:00 AM)
Pull all deals closing in the next 7 days from Pipedrive.
For each deal, check the last activity date.
Flag deals with no activity in the past 3 days.
Send me a prioritized list of deals that need attention today.
For 24/7 scheduling (even when your laptop is off), deploy OpenClaw on a VPS.
Security Considerations
Your Pipedrive API token grants full access to your CRM data. Treat it like a database password.
Least-privilege approach. Pipedrive’s API token inherits the permissions of the user who generated it. If you want to restrict what the agent can access, create a dedicated Pipedrive user with limited visibility (e.g., can only see their own deals) and generate the token from that account.
Token storage. Keep the token in a .env file outside your workspace directory. Do not put it in agents.md, soul.md, or any workspace file the agent reads into context.
Confirmation rules. The skill’s Rules section requires the agent to confirm before any write operation. This is your safety net against misunderstood instructions.
Audit trail. Pipedrive logs all API activity. Check your activity feed periodically to verify the agent is making the calls you expect.
For more on securing OpenClaw integrations, see Step 9 in the OpenClaw setup guide.
Frequently Asked Questions
Do I need a paid Pipedrive plan to use the API?
Pipedrive includes API access on all paid plans (Essential, Advanced, Professional, Power, Enterprise). The API token is available as long as your admin has not disabled it for your permission set. Free trial accounts also have API access during the trial. There is no separate API add-on or extra charge.
How long does this setup take?
About 20 minutes if OpenClaw is already running. Finding and copying the API token takes 2 minutes. Writing the skill file takes 10 minutes if you copy the template from this guide. Testing takes another 5-10 minutes. If you need to install OpenClaw first, add 30-45 minutes for the initial setup.
Can OpenClaw update Pipedrive deals automatically without me asking?
OpenClaw supports this through heartbeat instructions and cron schedules. You can configure the agent to check for stale deals every morning and send you a summary. We recommend starting with read-only alerts (notifications about deals that need attention) before enabling automated writes (moving deal stages, creating tasks). That way you review the agent’s judgment before it acts on your pipeline.
What are Pipedrive’s API rate limits?
Pipedrive allows 80 requests per 2 seconds for API token authentication. For typical conversational use, you will never hit this. If you configure aggressive automated scans, you might. The API returns a 429 status code when the limit is reached. Add a retry rule to your skill: “If you receive a 429 response, wait 3 seconds and retry once.”
Is it safe to let an AI agent access my sales pipeline?
As safe as your configuration makes it. Store tokens in .env files, require confirmation for write operations, and create a limited-visibility Pipedrive user for the agent if you want tighter access control. OpenClaw runs on your own infrastructure, so data does not pass through third-party servers beyond Pipedrive and your LLM provider. The biggest risk is the agent misinterpreting a vague instruction and modifying the wrong record, which the confirmation rule prevents.
Can I use this from WhatsApp or Slack instead of Telegram?
The Pipedrive skill works identically regardless of which messaging channel you use with OpenClaw. Telegram, WhatsApp, Slack, Discord, and iMessage are all supported. The only difference is the channel configuration in your OpenClaw setup. For details on connecting channels, see the OpenClaw setup guide.
Key Takeaways
- Connect Pipedrive to OpenClaw by writing a custom SKILL.md file with curl-based API call templates and storing your API token in a
.envfile - Start with read-only lookups (deal search, pipeline status) for a week before enabling write operations
- Use heartbeat scheduling to automate daily pipeline summaries and stale deal detection
- Create a limited-visibility Pipedrive user for the agent if you want to restrict what it can access
- Pipedrive’s API rate limit is 80 requests per 2 seconds, which is more than enough for conversational CRM use
SFAI Labs