Skip to main content
Pipedrive logo

Overview

Add Pipedrive to any ModuleX agent or workflow. Sales CRM and pipeline management platform. Connects to the Pipedrive REST API ({your-domain}.pipedrive.com/api/v1 and /api/v2) to manage deals, contacts, leads, activities, organizations, and notes.
Categories: CRM · Sales · Auth: OAuth2 · Actions: 26

Authentication

OAuth2 Authentication

Connect using Pipedrive OAuth (recommended)

Required Credentials

OAuth Configuration

  • Authorization URL: https://oauth.pipedrive.com/oauth/authorize
  • Token URL: https://oauth.pipedrive.com/oauth/token
  • Scopes: deals:full, contacts:full, leads:full, activities:full, search:read, users:read, admin

Available Actions

Parameters

string
required
Subject of the activity
string
required
Type of the activity (e.g. call, meeting, task, deadline, email, lunch). Must match an ActivityType key_string in Pipedrive.
integer
ID of the user whom the activity will be assigned to. If omitted, assigned to the authorized user.
string
ID of the deal this activity will be associated with
string
ID of the lead this activity will be associated with
integer
ID of the organization this activity will be associated with
string
ID of the project this activity will be associated with
string
Due date of the activity. Format: YYYY-MM-DD
string
Due time of the activity in UTC. Format: HH:MM
string
Duration of the activity. Format: HH:MM
boolean
Set the activity as Busy or Free
boolean
Whether the activity is done or not
string
Note of the activity (HTML format)
string
Additional details about the activity that will be synced to your external calendar

Response

Parameters

string
required
Deal title
integer
ID of the user who will be marked as the owner of this deal
integer
ID of the person this deal will be associated with
integer
ID of the organization this deal will be associated with
integer
ID of the pipeline this deal will be placed in
integer
ID of the stage this deal will be placed in
string
Value of the deal. If omitted, value will be set to 0.
string
Currency of the deal (3-character code). If omitted, uses the default currency of the authorized user.
string
Status of the deal. Allowed values: open, won, lost, deleted
integer
Deal success probability percentage
string
Message about why the deal was lost (when status=lost)
integer
Visibility of the deal. 1 = Owner & followers (private), 3 = Entire company (shared)
string
Expected close date of the deal. Format: YYYY-MM-DD
string
Content of a note to attach to the deal after creation

Response

Parameters

string
required
The type of the item. Allowed values: lead, person, deal, organization
array
required
The IDs of labels to add. Element type: string
string
The ID of the lead (required when type=lead)
integer
The ID of the person (required when type=person)
string
The ID of the deal (required when type=deal)
integer
The ID of the organization (required when type=organization)
boolean
Set to true to replace existing labels with the new ones, false to append (Default: false)

Response

Parameters

string
required
The name of the lead
integer
The ID of a person to link to. Required unless organization_id is specified.
integer
The ID of an organization to link to. Required unless person_id is specified.
integer
The ID of the user who will own the lead
array
The IDs of lead labels to associate. Element type: string (UUID)
string
Expected close date. Format: YYYY-MM-DD
string
Visibility of the lead. Allowed values: 1, 3, 5, 7
boolean
Whether the lead was seen in the Pipedrive UI
string
A note to add to the lead

Response

Parameters

string
required
The content of the note in HTML format
string
The ID of the lead to attach the note to
string
The ID of the deal to attach the note to
integer
The ID of the person to attach the note to
integer
The ID of the organization to attach the note to
integer
The ID of the user marked as the author (admin only)
boolean
Pin the note to the deal (requires deal_id) (Default: false)
boolean
Pin the note to the lead (requires lead_id) (Default: false)
boolean
Pin the note to the organization (requires organization_id) (Default: false)
boolean
Pin the note to the person (requires person_id) (Default: false)

Response

Parameters

string
required
Organization name
integer
ID of the user who will be marked as the owner
integer
Visibility. 1 = Owner & followers (private), 3 = Entire company (shared)

Response

Parameters

string
required
Person name
integer
ID of the user who will be marked as the owner
integer
ID of the organization this person will belong to
array
Email addresses. Element type: object with keys {value, primary, label}
array
Phone numbers. Element type: object with keys {value, primary, label}
integer
Visibility. 1 = Owner & followers (private), 3 = Entire company (shared)

Response

Parameters

integer
Maximum number of results to return. If not provided, all leads are returned.
integer
Filter leads by the given user ID
integer
Filter leads by the given person ID
integer
Filter leads by the given organization ID
integer
The ID of the filter to use. Takes precedence over other filters.
string
Field and direction to sort by. Valid fields: id, title, owner_id, creator_id, was_seen, expected_close_date, next_activity_id, add_time, update_time

Response

Parameters

string
required
The ID of the deal to retrieve

Response

Parameters

string
required
The ID of the lead to retrieve

Response

Parameters

integer
required
The ID of the person to retrieve

Response

Parameters

integer
The ID of the filter to apply
integer
Filter by owner user ID
integer
Filter by associated person ID
integer
Filter by associated organization ID
integer
Filter by pipeline ID
integer
Filter by stage ID
string
Filter by status. Allowed values: open, won, lost, deleted
string
Field to sort by. Allowed values: id, update_time, add_time
string
Sort direction. Allowed values: asc, desc
integer
Maximum number of entries to return (max 500)
string
Cursor for pagination to the next page of results

Response

Response

Response

Response

Response

Parameters

string
required
The ID of the deal to merge (will be removed)
string
required
The ID of the deal to merge into (will be kept)

Response

Parameters

integer
required
The ID of the person to merge (will be removed)
integer
required
The ID of the person to merge into (will be kept, data prioritized on conflict)

Response

Parameters

string
The ID of the lead whose notes to deduplicate
string
The ID of the deal whose notes to deduplicate
integer
The ID of the person whose notes to deduplicate
integer
The ID of the organization whose notes to deduplicate
integer
The ID of the user whose notes to deduplicate
string
The ID of the project whose notes to deduplicate
string
Only remove duplicate notes that contain this keyword

Response

Parameters

string
required
The type of the item. Allowed values: lead, person, deal, organization
string
required
ID of the entity to remove labels from
array
required
The label IDs to remove. Element type: string

Response

Parameters

string
required
The search term (minimum 2 characters, or 1 with exact_match)
boolean
When true, only full exact matches are returned (not case sensitive)
array
Fields to search from. Allowed values: custom_fields, notes, title. Element type: string
integer
Filter by person ID
integer
Filter by organization ID
string
Optional fields to include. Allowed: lead.was_seen

Response

Parameters

string
The term to search for in note content
string
Filter by lead ID
string
Filter by deal ID
integer
Filter by person ID
integer
Filter by organization ID
integer
Filter by user ID
string
Sort field. Allowed: id, user_id, deal_id, org_id, person_id, content, add_time, update_time
string
Sort direction. Allowed: ASC, DESC (Default: DESC)
string
Date from which to fetch notes. Format: YYYY-MM-DD
string
Date until which to fetch notes. Format: YYYY-MM-DD
integer
Maximum number of results to return

Response

Parameters

string
required
The search term (minimum 2 characters, or 1 with exact_match)
array
Fields to search from. Allowed: custom_fields, email, notes, phone, name. Element type: string
boolean
When true, only full exact matches are returned (not case sensitive)
integer
Filter by organization ID (upper limit: 2000)
string
Optional fields to include. Allowed: person.picture
integer
Pagination start offset
integer
Items per page

Response

Parameters

string
required
ID of the deal to update
string
New deal title
integer
ID of the new owner user
integer
ID of the person to associate
integer
ID of the organization to associate
integer
ID of the pipeline
integer
ID of the stage in the pipeline
string
Value of the deal
string
Currency (3-character code)
string
Status. Allowed values: open, won, lost, deleted
integer
Deal success probability percentage
string
Reason the deal was lost (when status=lost)
integer
Visibility. 1 = private, 3 = shared
string
A note to add to the deal

Response

Parameters

string
required
The ID of the lead to update
string
New title of the lead
integer
ID of the person to link to
integer
ID of the organization to link to
integer
ID of the new owner user
array
Lead label IDs. Element type: string (UUID)
string
Expected close date. Format: YYYY-MM-DD
string
Visibility. Allowed values: 1, 3, 5, 7
boolean
Whether the lead was seen in the UI
boolean
Whether the lead is archived

Response

Parameters

integer
required
The ID of the person to update
string
New name of the person
integer
ID of the new owner user
integer
ID of the organization this person will belong to
array
Email addresses. Element type: object with keys {value, primary, label}
array
Phone numbers. Element type: object with keys {value, primary, label}
integer
Visibility. 1 = private, 3 = shared

Response

Limits & Quotas

  • Rate limits: Pipedrive enforces per-plan rate limits. Professional plan: 200 requests/10 seconds; Enterprise plan: 400 requests/10 seconds. Exceeding the limit returns HTTP 429.
  • Pagination: List endpoints use cursor-based (v2) or offset-based (v1) pagination. The list_deals tool supports cursor; get_all_leads auto-paginates.
  • Error model: Non-2xx responses and timeouts are caught and returned as success=False + error rather than raising. The error string includes the HTTP status code and response body for debugging.

Clay

Dropcontact

HubSpot