Sytex

pipedrive

Manage deals, contacts, organizations, and activities in Pipedrive CRM. Use when user asks about deals, sales, contacts, pipeline, or Pipedrive.

Sytex 0 Updated 4mo ago

Resources

3
GitHub

Install

npx skillscat add sytex/agent-skills/pipedrive

Install via the SkillsCat registry.

SKILL.md

Pipedrive Integration

Manage deals, contacts, organizations, and activities in Pipedrive CRM.

Commands

All commands: ~/.claude/skills/pipedrive/pipedrive <command>

Setup

Command Description
auth Setup OAuth2 authentication
status Check authentication status

Account

Command Description
me Get current user info
users List all users

Deals

Command Description
deals [flags] List deals
deal <id> Get deal details
deal-create <title> [flags] Create deal
deal-update <id> <field> <value> Update deal
deal-delete <id> Delete deal

Deal flags:

  • --limit <n> - Max results (default: 50)
  • --start <n> - Offset for pagination
  • --all - Fetch ALL results with auto-pagination (saves to file if large)
  • --status <open\|won\|lost\|all> - Filter by status (default: open)
  • --pipeline <id> - Filter by pipeline
  • --stage <id> - Filter by stage
  • --user <id> - Filter by owner
  • --org <id> - Filter by organization
  • --person <id> - Filter by person

Create flags:

  • --org <id> - Link to organization
  • --person <id> - Link to person
  • --pipeline <id> - Pipeline ID
  • --stage <id> - Stage ID
  • --value <amount> - Deal value
  • --currency <code> - Currency (e.g., USD, EUR)

Update fields: title, value, currency, status, stage_id, pipeline_id, person_id, org_id, expected_close_date

Persons (Contacts)

Command Description
persons [flags] List persons
person <id> Get person details
person-create <name> [flags] Create person
person-update <id> <field> <value> Update person
person-delete <id> Delete person

Person flags:

  • --limit <n> - Max results (default: 50)
  • --start <n> - Offset for pagination
  • --all - Fetch ALL results with auto-pagination
  • --org <id> - Filter by organization

Create flags:

  • --email <email> - Email address
  • --phone <phone> - Phone number
  • --org <id> - Link to organization

Update fields: name, email, phone, org_id

Organizations

Command Description
orgs [flags] List organizations

Organization flags:

  • --limit <n> - Max results (default: 50)
  • --start <n> - Offset for pagination
  • --all - Fetch ALL results with auto-pagination
    | org <id> | Get organization details |
    | org-create <name> | Create organization |
    | org-update <id> <field> <value> | Update organization |
    | org-delete <id> | Delete organization |

Update fields: name, address

Activities

Command Description
activities [flags] List activities
activity <id> Get activity details
activity-create <type> <subject> [flags] Create activity
activity-done <id> Mark activity as done
activity-delete <id> Delete activity

Activity flags:

  • --limit <n> - Max results (default: 50)
  • --start <n> - Offset for pagination
  • --all - Fetch ALL results with auto-pagination
  • --from <YYYY-MM-DD> - Filter by start date
  • --to <YYYY-MM-DD> - Filter by end date
  • --date <YYYY-MM-DD> - Filter by specific date
  • --type <type> - Filter by type (call, meeting, task, deadline, email, lunch)
  • --done <0\|1> - Filter by done status
  • --user <id> - Filter by user
  • --deal <id> - Filter by deal
  • --person <id> - Filter by person

Create flags:

  • --deal <id> - Link to deal
  • --person <id> - Link to person
  • --org <id> - Link to organization
  • --due <date> - Due date (YYYY-MM-DD)
  • --time <time> - Due time (HH:MM)
  • --duration <mins> - Duration in minutes
  • --note <text> - Activity note

Pipelines & Stages

Command Description
pipelines List all pipelines
pipeline <id> Get pipeline with stages
stages <pipeline-id> List stages in a pipeline

Notes

Command Description
notes <entity> <id> List notes (entity: deal, person, org)
note-create <entity> <id> <content> Add note to entity

Search

Command Description
search <query> [--type <type>] Search across Pipedrive

Search types: deal, person, organization, product, file

Examples

# My info
~/.claude/skills/pipedrive/pipedrive me

# List open deals
~/.claude/skills/pipedrive/pipedrive deals

# List won deals
~/.claude/skills/pipedrive/pipedrive deals --status won

# Get deal details
~/.claude/skills/pipedrive/pipedrive deal 123

# Create a deal
~/.claude/skills/pipedrive/pipedrive deal-create "New Project" --value 5000 --org 456

# Update deal value
~/.claude/skills/pipedrive/pipedrive deal-update 123 value 10000

# List contacts
~/.claude/skills/pipedrive/pipedrive persons --limit 20

# Create contact
~/.claude/skills/pipedrive/pipedrive person-create "John Doe" --email john@example.com --phone "+1234567890"

# List activities for today
~/.claude/skills/pipedrive/pipedrive activities --done 0

# Create a call activity
~/.claude/skills/pipedrive/pipedrive activity-create call "Follow up call" --deal 123 --due 2024-01-15

# Mark activity done
~/.claude/skills/pipedrive/pipedrive activity-done 789

# Search for deals
~/.claude/skills/pipedrive/pipedrive search "acme" --type deal

# Add note to deal
~/.claude/skills/pipedrive/pipedrive note-create deal 123 "Called and discussed pricing"

# Fetch ALL deals (auto-paginated, saves to file if large)
~/.claude/skills/pipedrive/pipedrive deals --all --status all

# Fetch all deals for a specific user
~/.claude/skills/pipedrive/pipedrive deals --user 123 --all

Large Results

When using --all, if the result exceeds 50KB it will be saved to a file and the command returns:

{"success":true,"total_items":509,"saved_to_file":"/tmp/pipedrive-results/result_XXX.json","message":"..."}

Process the file with jq or python:

# Filter deals with >10 activities
cat /tmp/pipedrive-results/result_XXX.json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for d in data['data']:
    if d.get('activities_count', 0) > 10:
        print(f\"{d['title']}: {d['activities_count']} activities\")
"