pipedrive-setup
Skill509 starsChanged 2 months agoMITView on GitHub
Connect Pipedrive CRM for a live pipeline view and confirm-gated deal updates. Use when the user says 'connect Pipedrive', 'link my CRM', 'sync my pipeline with Pipedrive'. Not for pipeline analysis without a CRM; use `pipeline-health`. Not for reconciling an already-connected CRM; use `pipeline-sync`.
- Reads credentials
In this repository153 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .claude/plugins/compound-engineering/CLAUDE.mdCLAUDE.md
- .cursor/rules/search-routing.mdcCursor rule
- anthropic-algorithmic-artSkill
- anthropic-brand-guidelinesSkill
- anthropic-doc-coauthoringSkill
- anthropic-docxSkill
- anthropic-frontend-designSkill
- anthropic-internal-commsSkill
- anthropic-mcp-builderSkill
- anthropic-pptxSkill
- anthropic-slack-gif-creatorSkill
- anthropic-theme-factorySkill
- anthropic-webapp-testingSkill
- anthropic-web-artifacts-builderSkill
- anthropic-xlsxSkill
- atlassian-setupSkill
- backup-nowSkill
- backup-restoreSkill
- backup-setupSkill
- calendar-setupSkill
- commitmentsSkill
- create-mcpSkill
- daily-planSkill
- daily-reviewSkill
- decision-logSkill
- delegate-checkSkill
- dex-backlogSkill
- dex-doctorSkill
- dex-improveSkill
- dex-obsidian-setupSkill
- dex-rollbackSkill
- dex-updateSkill
- dex-whats-newSkill
- diff-profileSkill
- enable-semantic-searchSkill
- getting-startedSkill
- goal-backlogSkill
- google-workspace-setupSkill
- granola-setupSkill
- identity-snapshotSkill
- industry-truthsSkill
- initiative-kickoffSkill
- integrate-mcpSkill
- journalSkill
- manage-capabilitiesSkill
- meeting-closeoutSkill
- meeting-prepSkill
- ms-teams-setupSkill
- pipeline-syncSkill
- process-meetingsSkill
- product-briefSkill
- project-healthSkill
- prompt-improverSkill
- relationship-radarSkill
- reviewSkill
- save-insightSkill
- scrapeSkill
- skill-scoreSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 3 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 47
/daily-plan: read-only nudge on stale/overdue focus deals. - Very specific: line 54
Every write is confirm-gated.
- Very specific: line 72
If true, run pipedrive_status().
- Very specific: line 135
Check .mcp.json for a pipedrive-mcp entry under mcpServers.
- Distinctive: line 146
If already present, leave it.
- Very specific: line 162
Run pipedrive_list_stages() and pipedrive_list_users().
- Very specific: line 165
Write System/integrations/pipedrive.yaml, following the commented template at System/integrations/pipedrive.yaml.example.
- Distinctive: line 167
Leave any mapping the user is unsure about empty.
- Very specific: line 182
Update-only (default): leave writes.allow_create: false in pipedrive.yaml.
- Distinctive: line 207
If already connected and the user runs this again, offer:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- Generated from `.claude/skills/pipedrive-setup/SKILL.md` by `scripts/generate-agents-skills.py`. Do not edit. -->Pipedrive Setup
Connect your Pipedrive CRM to Dex. This gives Dex a live view of your pipeline and the ability to push notes, activities and field updates into the deals you're working on, always after showing you exactly what it will send.
Design (read this: it shapes the setup)
- Hybrid source of truth. Pipedrive owns the canonical numbers (stage, value, probability, close date, owner, activities). Your local pipeline tracker note (default
04-Projects/Pipeline_Tracker.md, configurable viatracker_pathinSystem/integrations/pipedrive.yaml) keeps the strategy (per-deal narrative, coverage, positioning) and defines the focus list: the deals you're actively working drive which Pipedrive deals Dex syncs. - Confirm every write. Nothing is written to the CRM without Dex showing you the exact payload first (the write tools support
dry_runpreviews). - Creation is opt-in. By default Dex can only annotate and update deals that already exist. If you want Dex to be able to create deals or organisations, that is a separate, deliberate switch (
writes.allow_create), because many CRMs are shared with colleagues. - Scope = your focus list, mapped deal-by-deal in
/pipeline-sync. There is no blanket auto-sync of the whole organisation.
What This Enables
/pipeline-sync: "show me my pipeline", reconcile live CRM numbers against your tracker, flag drift, push confirmed updates./week-review: reconcile sub-step surfaces deal-number drift./meeting-prep: live deal context for a deal-linked company./process-meetings: offers to push meeting outcomes to the deal (confirmed)./daily-plan: read-only nudge on stale/overdue focus deals.
Privacy & Security
- Your access token is stored in the macOS Keychain (service
dex-pipedrive) on a Mac, or in the gitignored vault-root.envfile (PIPEDRIVE_API_TOKEN=...) on other systems. It is never committed. - Non-secret settings (your Pipedrive domain, stage/owner mappings) live in
System/integrations/pipedrive.yaml. - The token is never placed in
.mcp.jsonorconfig.yaml(both are committed to git). - Every write is confirm-gated. Dex uses
dry_runpreviews so you always see the payload before it sends.
When to Run
- User types
/pipedrive-setup - User asks to connect Pipedrive / their CRM
- User wants a live pipeline view in Dex
- During
/integrate-mcpif Pipedrive is mentioned
Setup Flow
Throughout this flow, Dex performs every file action for the user. They only ever paste their token into the chat; Dex does the rest.
Step 1: Check if Already Connected
- Read
System/integrations/config.yaml->pipedrive.enabled. - If
true, runpipedrive_status(). If it returnsconnected: true, jump to Reconfiguration. - Otherwise continue to Step 2.
Step 2: Explain What We're Setting Up
Say:
**Let's connect Pipedrive to Dex.**
You'll get a live view of your pipeline, and Dex can push notes / activities /
field updates into your deals, always showing you exactly what it'll send first.
Your local pipeline tracker stays the home of your strategy and focus list.
Pipedrive becomes the source of truth for the deal *numbers*.
**What you'll need:**
- Your Pipedrive personal API token (I'll show you where)
- About 3 minutes
**Ready?**Wait for confirmation.
Step 3: Get the API Token + Domain
Guide the user:
To get your Pipedrive API token:
1. In Pipedrive, click your profile (top right) -> **Personal preferences**
2. Open the **API** tab
3. Copy **Your personal API token**
Also tell me your Pipedrive web address, the bit before .pipedrive.com
(e.g. if you log in at https://yourcompany.pipedrive.com, the domain is "yourcompany").Capture:
api_token: validate non-empty (Pipedrive tokens are ~40-character hexadecimal).company_domain: the subdomain only.
Step 4: Store the Token Securely
On macOS, store it in the Keychain (service dex-pipedrive, account api) as a small JSON blob so the domain travels with it:
security add-generic-password -U -s dex-pipedrive -a api \
-w '{"api_token": "<token>", "company_domain": "<domain>"}'On other systems (or if the Keychain write fails), append to the gitignored vault-root .env file instead:
PIPEDRIVE_API_TOKEN=<token>Then chmod 600 .env and confirm it is gitignored (git check-ignore .env should echo the path). Never ask the user to edit files themselves.
Step 5: Register the MCP Server (idempotent)
Check .mcp.json for a pipedrive-mcp entry under mcpServers. If missing, add (note: VAULT_PATH only, no token), substituting the real vault path:
"pipedrive-mcp": {
"type": "stdio",
"command": "<vault path>/.venv/bin/python",
"args": ["<vault path>/core/integrations/pipedrive/pipedrive_server.py"],
"env": { "VAULT_PATH": "<vault path>" }
}If already present, leave it. Tell the user the MCP server picks up the token on the next session restart.
This step is how an existing install gets Pipedrive: an update never adds a server to a
vault's .mcp.json, so the entry above is added here, when the user chooses to connect.
Step 6: Enable + Test
- Set
pipedrive.enabled: trueinSystem/integrations/config.yaml(add thepipedrive:section if it is missing). - Run
pipedrive_status().- Success (
connected: true): show the authenticated user's name. Continue. - Failure: surface the error message. Common fixes: full token copied, no trailing spaces, correct domain. Retry up to twice, then offer to come back later (leave
enabled: false).
- Success (
Step 7: Build Stage + Owner Mappings
These let Dex translate your tracker's language to Pipedrive ids and back.
- Run
pipedrive_list_stages()andpipedrive_list_users(). - Propose a
stage_mappingfrom the stage phrases used in the user's tracker to Pipedrive stage ids, and anowner_mappingfrom the owner names in the tracker to Pipedrive user ids. Show the proposal and let the user correct it. - Optionally capture per-stage default probabilities into
stages:(the API does not return them, so ask the user to read them from Pipedrive's pipeline settings if they want stage-inherited probabilities). - Write
System/integrations/pipedrive.yaml, following the commented template atSystem/integrations/pipedrive.yaml.example.
Leave any mapping the user is unsure about empty; reconciliation degrades gracefully without a complete map.
Step 8: Creation Permission (deliberate choice)
Ask:
One more choice: do you want Dex to be able to CREATE deals and organisations
in Pipedrive, or only update existing ones?
Default is update-only. If your Pipedrive is shared with colleagues, an
AI-created deal can be a governance problem, so most people leave this off.
Either way, every single write is previewed and only sent on your explicit yes.- Update-only (default): leave
writes.allow_create: falseinpipedrive.yaml. - Allow creation: set
writes.allow_create: trueand note it can be switched off again at any time.
Step 9: Capability Cascade
Tell the user what just lit up:
Pipedrive connected.
Now available:
- /pipeline-sync: live pipeline + reconcile drift vs your tracker (run this next to map your focus deals)
- /week-review now reconciles deal numbers against the CRM
- /meeting-prep pulls live deal context for deal-linked companies
- /process-meetings offers to push meeting outcomes to deals (you confirm)
- /daily-plan flags focus deals going stale
Next step: run /pipeline-sync to match your focus deals to their
Pipedrive records so the two stay in sync from here on.Reconfiguration
If already connected and the user runs this again, offer:
- Test: run
pipedrive_status(). - Re-enter token: repeat Step 4.
- Rebuild mappings: re-run Step 7.
- Change creation permission: re-run Step 8.
- Disconnect: set
pipedrive.enabled: false. Optionally delete the Keychain item (security delete-generic-password -s dex-pipedrive -a api) or the.envline. Leave the MCP entry andpipedrive.yamlin place (harmless; tools degrade gracefully).
Troubleshooting
feature_status: off-> token missing orpipedrive.enablednot true. Re-run Steps 4-6.- 401 -> token invalid/expired. Regenerate in Pipedrive -> Personal preferences -> API.
- 403 -> token lacks permission for that action (e.g. editing a deal owned by a colleague). Surface honestly; don't retry blindly.
- "Deal creation is disabled" ->
writes.allow_createis false. That is the safe default; only flip it if the user genuinely wants Dex creating CRM records (Step 8). - Wrong numbers -> check
company_domain/base_urlpoint at the right Pipedrive account.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

