# Pipedrive

> **Warning:** This connector was updated from version 4.2 to 5.0. The new version uses Pipedrive API v2 and includes significant changes to operation names, endpoints, and HTTP methods. Review the breaking changes below before updating your workflows.

## Overview

Pipedrive CRM enables businesses to plan their sales activities and monitor deals. It works as an account-management tool with the ability to assist with marketing and the entire sales process.

## API Information

The Base URL used for the Pipedrive connector is **<https://api.pipedrive.com/api/v2>**.

More information can be found on their [API documentation (v1.0)](https://developers.pipedrive.com/docs/api/v1/) site. API rate limiting information is available in their [rate limiting documentation](https://pipedrive.readme.io/docs/core-api-concepts-rate-limiting#section-daily-api-fair-usage-limit-for-postput-endpoints).

> **Info:** The connector now uses Pipedrive API v2. The v2 API provides enhanced functionality and follows modern REST conventions with improved consistency across endpoints.

## Breaking Changes in Version 5.0

### Version Summary

The Pipedrive connector has been migrated from version 4.2 to 5.0 which uses API v2. This update includes:

* **API Version**: v1 → v2 (base URL changed from `/v1` to `/api/v2`)
* **Operations**: 25 removed, 65 new operations added
* **Naming Convention**: Standardized operation names (`create_*` → `add_*`, `list_people` → `list_persons`)
* **HTTP Methods**: Update operations changed from PUT to PATCH

### Terminology Updates

Operation names have been standardized to follow consistent naming patterns:

| Old Operation Name                    | New Operation Name     | Change Type                 |
| ------------------------------------- | ---------------------- | --------------------------- |
| `create_activity`                     | `add_activity`         | Naming convention           |
| `create_deal`                         | `add_deal`             | Naming convention           |
| `create_organization`                 | `add_organization`     | Naming convention           |
| `create_person`                       | `add_person`           | Naming convention           |
| `list_people`                         | `list_persons`         | Terminology standardization |
| `get_pipeline_stage`                  | `get_stage`            | Simplified naming           |
| `list_pipeline_stages`                | `list_stages`          | Simplified naming           |
| `find_organizations_by_name`          | `search_organization`  | Consistent search naming    |
| `find_people`                         | `search_persons`       | Consistent search naming    |
| `perform_search`                      | `search_item`          | Clearer naming              |
| `perform_search_using_specific_field` | `search_item_by_field` | Clearer naming              |

### Removed Operations

The following 25 operations have been removed in version 5.0:

* `create_activity` - Use `add_activity` instead
* `create_deal` - Use `add_deal` instead
* `create_note` - Note operations no longer supported in v2 API
* `create_organization` - Use `add_organization` instead
* `create_person` - Use `add_person` instead
* `find_organizations_by_name` - Use `search_organization` instead
* `find_people` - Use `search_persons` instead
* `find_users` - User search no longer available
* `get_deals_timeline` - Deals timeline endpoint removed in v2 API
* `get_pipeline_stage` - Use `get_stage` instead
* `get_user` - Use `get_user_followers` for user-related operations
* `list_activity_types` - Activity types listing removed
* `list_deal_fields` - Deal fields listing removed
* `list_deals_associated_with_a_person` - Functionality integrated into other operations
* `list_organization_deals` - Use `list_deals` with organization filter
* `list_organization_fields` - Organization fields listing removed
* `list_people` - Use `list_persons` instead
* `list_person_fields` - Person fields listing removed
* `list_pipeline_stages` - Use `list_stages` instead
* `list_users` - User listing removed
* `merge_with_deal_id` - Merge operations removed in v2 API
* `merge_with_person_id` - Merge operations removed in v2 API
* `perform_search` - Use `search_item` instead
* `perform_search_using_specific_field` - Use `search_item_by_field` instead

### Added Operations

Version 5.0 introduces 65 operations, including:

**Activities**

* `add_activity`, `delete_activity`, `get_activity`, `list_activities`, `update_activity`

**Deals**

* `add_deal`, `convert_deal_to_lead`, `delete_deal`, `get_deal`, `get_deal_conversion_status`, `list_archived_deals`, `list_deals`, `search_deals`, `update_deal`

**Deal Products**

* `add_deal_product`, `delete_deal_product`, `get_deal_products`, `list_deals_products`, `update_deal_product`

**Deal Followers**

* `add_deal_follower`, `delete_deal_follower`, `get_deal_followers`, `get_deal_followers_changelog`

**Discounts**

* `add_additional_discount`, `delete_additional_discount`, `get_additional_discounts`, `update_additional_discount`

**Installments**

* `add_installment`, `delete_installment`, `list_installments`, `update_installment`

**Organizations**

* `add_organization`, `delete_organization`, `get_organization`, `list_organizations`, `search_organization`, `update_organization`

**Organization Followers**

* `add_organization_follower`, `delete_organization_follower`, `get_organization_followers`, `get_organization_followers_changelog`

**Persons**

* `add_person`, `delete_person`, `get_person`, `list_persons`, `search_persons`, `update_person`

**Person Followers**

* `add_person_follower`, `delete_person_follower`, `get_person_followers`, `get_person_followers_changelog`

**Pipelines**

* `add_pipeline`, `delete_pipeline`, `get_pipeline`, `list_pipelines`, `update_pipeline`

**Stages**

* `add_stage`, `delete_stage`, `get_stage`, `list_stages`, `update_stage`

**Products**

* `add_product`, `delete_product`, `get_product`, `list_products`, `search_products`, `update_product`

**Product Followers**

* `add_product_follower`, `delete_product_follower`, `get_product_followers`, `get_product_followers_changelog`

**Product Variations**

* `add_product_variation`, `delete_product_variation`, `get_product_variations`, `update_product_variation`

**Leads**

* `convert_lead_to_deal`, `get_lead_conversion_status`, `search_leads`

**Users**

* `get_user_followers`

### HTTP Method Changes

Update operations now use PATCH instead of PUT for partial updates:

* `update_activity`: PUT → PATCH
* `update_deal`: PUT → PATCH
* `update_organization`: PUT → PATCH
* `update_person`: PUT → PATCH

### Migration Guide

Follow these steps to migrate your workflows to version 5.0:

1. **Audit Your Workflows**
   * Identify all Pipedrive operations currently in use
   * Document the purpose and dependencies of each operation

2. **Map Operation Names**
   * Use the Terminology Updates table to find renamed operations
   * Update operation references in your workflows

3. **Check for Removed Operations**
   * Review the Removed Operations list
   * Identify alternatives for any removed operations you use
   * Update workflows to use replacement operations

4. **Verify Parameters**
   * Review input parameters for each operation
   * Update any parameter names or structures that changed
   * Test parameter values with the new API v2 format

5. **Update HTTP Methods**
   * Change PUT operations to PATCH for updates
   * Verify request body structure matches PATCH requirements

6. **Test in Development**
   * Create a test workflow with updated operations
   * Verify all operations function correctly
   * Check response data formats

7. **Update Authentication**
   * Reconfigure OAuth 2.0 if needed (see Authentication section)
   * Verify access scopes match your requirements

8. **Deploy Gradually**
   * Update workflows in phases
   * Monitor for errors or unexpected behavior
   * Keep backup of old workflows until migration is complete

## Authentication

Pipedrive uses OAuth 2.0 for authentication. Follow these steps to set up authentication for your Tray.io workflows.

### Prerequisites

* Active Pipedrive account with admin access
* Ability to create OAuth applications in Pipedrive

### Step 1: Access Developer Hub

Log into your Pipedrive account and navigate to Developer Hub:

1. Click your profile icon in the top right corner
2. Select **Tools and apps** from the dropdown menu
3. Click **Developer Hub**

![Access Developer Hub](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-developer-hub-access.png)

### Step 2: Create New App

In the Developer Hub, create a new OAuth application:

1. Verify API status shows as active (green checkmark)
2. Click **+ Create an app** button

![Create App Button](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-create-app-button.png)

### Step 3: Select App Type

Choose the appropriate app type for your integration:

1. Select **Private app** for Tray.io integration
2. Click **Create private app**

![App Type Selection](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-app-type-selection.png)

> **Info:** Private apps do not require marketplace approval and are ideal for internal integrations. They provide the same API access as public apps without the review process.

### Step 4: Configure Basic Information

Enter the basic configuration for your OAuth app:

1. **App name**: Enter a descriptive name (e.g., "Tray.io Integration")
2. **Callback URL**: Enter your Tray.io OAuth callback URL:
   ```
   https://auth.tray.io/oauth2/token
   ```
3. Verify the app type is set to **PRIVATE**

![Basic Info Configuration](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-basic-info-config.png)

> **Warning:** The callback URL must exactly match the Tray.io OAuth callback URL. Incorrect callback URLs will cause authentication to fail.

### Step 5: Configure Access Scopes

Navigate to the **OAuth & access scopes** tab and configure permissions:

1. Select the data types your integration needs to access
2. For each data type, choose access level:
   * **Read only**: View data only
   * **Full access**: Create, read, update, and delete

Common scopes for workflows:

* **Access to basic information**: Always required
* **Deals**: Full access for deal management
* **Activities**: Full access for activity tracking
* **Contacts** (Persons/Organizations): Full access for CRM operations
* **Products**: Read only or Full access based on needs

![Access Scopes Configuration](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-access-scopes.png)

> **Tip:** Select only the scopes your integration requires. This follows the principle of least privilege and improves security.

### Step 6: Retrieve OAuth Credentials

After configuring scopes, retrieve your OAuth credentials:

1. Navigate back to the **OAuth & access scopes** section
2. Copy the **Client ID**
3. Click **Show** to reveal the **Client secret**
4. Copy the **Client secret**

![OAuth Credentials](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-oauth-credentials.png)

> **Warning:** Store your Client secret securely. It provides full access to your Pipedrive data and should never be shared publicly or committed to version control.

### Step 7: Save App Configuration

Save your app configuration:

1. Click the **Save** button in the top right
2. Wait for confirmation that settings were saved

![Save App Configuration](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-save-app.png)

### Step 8: Install and Test (Optional)

Optionally test your OAuth app:

1. Navigate to the **App extensions** tab
2. Click **Install and test** button

![Install and Test](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-install-test.png)

### Step 9: Authorize Access

When prompted, authorize the OAuth app:

1. Review the permissions requested
2. Verify the company and user are correct
3. Click **Allow and Install**

![OAuth Consent](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-oauth-consent.png)

### Configure Authentication in Tray.io

After setting up your OAuth app in Pipedrive, configure authentication in Tray.io:

1. In your Tray.io workflow, add the Pipedrive connector
2. Click the **Auth** tab
3. Click **New Authentication**
4. Enter authentication details:
   * **Name**: Descriptive name (e.g., "Pipedrive Production")
   * **Visibility**: Choose Personal or Organizational
   * **Client ID**: Paste the Client ID from Pipedrive
   * **Client Secret**: Paste the Client secret from Pipedrive
5. Click **Save** and complete the OAuth flow
6. Grant permissions when prompted

Tray.io will test the authentication and display a success indicator.

### Alternative: API Token Authentication

Pipedrive also supports API token authentication for simpler use cases:

1. Navigate to **Personal preferences** > **API** tab
2. Copy your personal API token
3. Use this token for API authentication

![API Token Alternative](https://tray.ai/documentation/images/connectors/service/pipedrive/pipedrive-api-token-alternative.png)

> **Info:** OAuth 2.0 is recommended over API tokens for production workflows. OAuth provides better security, scoped permissions, and easier credential rotation.

## Available Operations

The Pipedrive connector provides 65 operations across multiple resource types. All operations use the Pipedrive API v2 base URL: `https://api.pipedrive.com/api/v2`

### Activities

Manage activities such as calls, meetings, tasks, deadlines, and lunches.

* **add\_activity** - POST `/activities` - Adds a new activity
* **delete\_activity** - DELETE `/activities/:id` - Deletes an activity
* **get\_activity** - GET `/activities/:id` - Retrieves a specific activity
* **list\_activities** - GET `/activities` - Lists all activities
* **update\_activity** - PATCH `/activities/:id` - Updates an activity

### Deals

Manage deals through your sales pipeline.

* **add\_deal** - POST `/deals` - Adds a new deal
* **convert\_deal\_to\_lead** - POST `/deals/:id/convert/lead` - Converts a deal to a lead
* **delete\_deal** - DELETE `/deals/:id` - Deletes a deal
* **get\_deal** - GET `/deals/:id` - Retrieves a specific deal
* **get\_deal\_conversion\_status** - GET `/deals/:id/convert/status/:conversion_id` - Gets deal conversion status
* **list\_archived\_deals** - GET `/deals/archived` - Lists archived deals
* **list\_deals** - GET `/deals` - Lists all deals
* **search\_deals** - GET `/deals/search` - Searches for deals
* **update\_deal** - PATCH `/deals/:id` - Updates a deal

### Deal Products

Manage products attached to deals.

* **add\_deal\_product** - POST `/deals/:id/products` - Adds a product to a deal
* **delete\_deal\_product** - DELETE `/deals/:id/products/:product_attachment_id` - Removes a product from a deal
* **get\_deal\_products** - GET `/deals/:id/products` - Gets products attached to a deal
* **list\_deals\_products** - GET `/deals/products` - Lists all products attached to deals
* **update\_deal\_product** - PATCH `/deals/:id/products/:product_attachment_id` - Updates a product attached to a deal

### Deal Followers

Manage followers for deals.

* **add\_deal\_follower** - POST `/deals/:id/followers` - Adds a follower to a deal
* **delete\_deal\_follower** - DELETE `/deals/:id/followers/:follower_id` - Removes a follower from a deal
* **get\_deal\_followers** - GET `/deals/:id/followers` - Gets followers of a deal
* **get\_deal\_followers\_changelog** - GET `/deals/:id/followers/changelog` - Gets deal followers changelog

### Discounts

Manage discounts applied to deals.

* **add\_additional\_discount** - POST `/deals/:id/discounts` - Adds a discount to a deal
* **delete\_additional\_discount** - DELETE `/deals/:id/discounts/:discount_id` - Deletes a discount from a deal
* **get\_additional\_discounts** - GET `/deals/:id/discounts` - Retrieves discounts for a deal
* **update\_additional\_discount** - PATCH `/deals/:id/discounts/:discount_id` - Updates a deal discount

### Installments

Manage payment installments for deals.

* **add\_installment** - POST `/deals/:id/installments` - Adds an installment to a deal
* **delete\_installment** - DELETE `/deals/:id/installments/:installment_id` - Deletes an installment from a deal
* **list\_installments** - GET `/deals/installments` - Lists deal installments
* **update\_installment** - PATCH `/deals/:id/installments/:installment_id` - Updates a deal installment

### Organizations

Manage organizations (companies) in your CRM.

* **add\_organization** - POST `/organizations` - Adds a new organization
* **delete\_organization** - DELETE `/organizations/:id` - Deletes an organization
* **get\_organization** - GET `/organizations/:id` - Retrieves a specific organization
* **list\_organizations** - GET `/organizations` - Lists all organizations
* **search\_organization** - GET `/organizations/search` - Searches for organizations
* **update\_organization** - PATCH `/organizations/:id` - Updates an organization

### Organization Followers

Manage followers for organizations.

* **add\_organization\_follower** - POST `/organizations/:id/followers` - Adds a follower to an organization
* **delete\_organization\_follower** - DELETE `/organizations/:id/followers/:follower_id` - Removes a follower from an organization
* **get\_organization\_followers** - GET `/organizations/:id/followers` - Gets followers of an organization
* **get\_organization\_followers\_changelog** - GET `/organizations/:id/followers/changelog` - Gets organization followers changelog

### Persons

Manage persons (contacts) in your CRM.

* **add\_person** - POST `/persons` - Adds a new person
* **delete\_person** - DELETE `/persons/:id` - Deletes a person
* **get\_person** - GET `/persons/:id` - Retrieves a specific person
* **list\_persons** - GET `/persons` - Lists all persons
* **search\_persons** - GET `/persons/search` - Searches for persons
* **update\_person** - PATCH `/persons/:id` - Updates a person

### Person Followers

Manage followers for persons.

* **add\_person\_follower** - POST `/persons/:id/followers` - Adds a follower to a person
* **delete\_person\_follower** - DELETE `/persons/:id/followers/:follower_id` - Removes a follower from a person
* **get\_person\_followers** - GET `/persons/:id/followers` - Gets followers of a person
* **get\_person\_followers\_changelog** - GET `/persons/:id/followers/changelog` - Gets person followers changelog

### Pipelines

Manage sales pipelines.

* **add\_pipeline** - POST `/pipelines` - Adds a new pipeline
* **delete\_pipeline** - DELETE `/pipelines/:id` - Deletes a pipeline
* **get\_pipeline** - GET `/pipelines/:id` - Gets a specific pipeline
* **list\_pipelines** - GET `/pipelines` - Lists all pipelines
* **update\_pipeline** - PATCH `/pipelines/:id` - Updates a pipeline

### Stages

Manage pipeline stages.

* **add\_stage** - POST `/stages` - Adds a new pipeline stage
* **delete\_stage** - DELETE `/stages/:id` - Deletes a pipeline stage
* **get\_stage** - GET `/stages/:id` - Gets a specific pipeline stage
* **list\_stages** - GET `/stages` - Lists all pipeline stages
* **update\_stage** - PATCH `/stages/:id` - Updates a pipeline stage

### Products

Manage products in your product catalog.

* **add\_product** - POST `/products` - Adds a new product
* **delete\_product** - DELETE `/products/:id` - Deletes a product
* **get\_product** - GET `/products/:id` - Gets a specific product
* **list\_products** - GET `/products` - Lists all products
* **search\_products** - GET `/products/search` - Searches for products
* **update\_product** - PATCH `/products/:id` - Updates a product

### Product Followers

Manage followers for products.

* **add\_product\_follower** - POST `/products/:id/followers` - Adds a follower to a product
* **delete\_product\_follower** - DELETE `/products/:id/followers/:follower_id` - Removes a follower from a product
* **get\_product\_followers** - GET `/products/:id/followers` - Gets followers of a product
* **get\_product\_followers\_changelog** - GET `/products/:id/followers/changelog` - Gets product followers changelog

### Product Variations

Manage variations of products (different sizes, colors, configurations).

* **add\_product\_variation** - POST `/products/:id/variations` - Adds a product variation
* **delete\_product\_variation** - DELETE `/products/:id/variations/:product_variation_id` - Deletes a product variation
* **get\_product\_variations** - GET `/products/:id/variations` - Gets variations of a product
* **update\_product\_variation** - PATCH `/products/:id/variations/:product_variation_id` - Updates a product variation

### Leads

Manage lead conversion and status tracking.

* **convert\_lead\_to\_deal** - POST `/leads/:id/convert/deal` - Converts a lead to a deal
* **get\_lead\_conversion\_status** - GET `/leads/:id/convert/status/:conversion_id` - Gets lead conversion status
* **search\_leads** - GET `/leads/search` - Searches for leads

### Search

Perform general searches across Pipedrive data.

* **search\_item** - GET `/itemSearch` - Performs general item search
* **search\_item\_by\_field** - GET `/itemSearch/field` - Performs field-specific search

### Users

Retrieve user-related information.

* **get\_user\_followers** - GET `/users/:id/followers` - Gets followers of a user

## Use Cases

The Pipedrive connector enables automation across various CRM workflows:

### Deal Management Automation

Automatically create, update, and track deals as they progress through your sales pipeline. Trigger actions when deals reach specific stages or values.

**Example workflow**: When a deal moves to "Proposal Sent" stage, automatically create a follow-up activity for 3 days later and send a notification to the sales manager.

### Lead Conversion Workflows

Convert qualified leads to deals automatically based on scoring criteria or manual triggers. Track conversion status and update related records.

**Example workflow**: When a lead score exceeds 80, automatically convert the lead to a deal, assign it to the appropriate sales representative, and create an initial discovery call activity.

### Product Catalog Synchronization

Keep product catalogs synchronized between Pipedrive and other systems such as inventory management, e-commerce platforms, or billing systems.

**Example workflow**: When a product is added or updated in your inventory system, automatically sync the changes to Pipedrive, including pricing, descriptions, and availability.

### Follower Management

Automatically add team members as followers to deals, organizations, or persons based on criteria such as deal value, territory, or product type.

**Example workflow**: When a new enterprise deal is created (value > $50,000), automatically add the VP of Sales and account manager as followers to ensure visibility.

### Multi-Stage Pipeline Automation

Automate actions across multiple pipeline stages, such as creating activities, sending notifications, updating fields, or triggering external integrations.

**Example workflow**: As deals progress through pipeline stages, automatically update probability percentages, create stage-specific activities, and notify relevant team members at each transition.

## Pipedrive Trigger

### Overview

Pipedrive trigger allows to react on different action and changes, that was done for your CRM account.

### Example of Usage

This quick‑start guide walks you through building a Tray.io workflow that listens for **Activity Created** events in Pipedrive and receives the full payload in real time.

## Prerequisites

* A Tray.io account with workspace access.
* A Pipedrive account and API access (admin rights recommended).

***

## 1. Add the Pipedrive Trigger and Authenticate

* Click  N**ew workflow** and choose \*\*From scratch. \*\*
* On step of choosing trigger type choose **Pipedrive trigger**
  ![Pipedrive trigger](https://tray.ai/documentation/images/connectors/service/pipedrive/6BkaARAKceYuWUhXk50eSX_image.png)
* Open the **Authentication** tab.
* Choose an existing Pipedrive auth or click **Create new authentication** and follow the OAuth flow.
  ![￼](https://tray.ai/documentation/images/connectors/service/pipedrive/2MqcIcCqpXHSB4D0KzkrGb_P%20Webhook%20v.png)

***

## 2. Define the Trigger Inputs

* Switch to the **Inputs** tab.
* Set **Event action** to **Create**.
* Set **Event object** to **Activity**.
  ![Select inputs](https://tray.ai/documentation/images/connectors/service/pipedrive/4eyDTxd2KYNPloMJ0DC6N9_Add%20description.png)

***

## 3. Enable the Trigger

* Click the green **Enable workflow** button in the bottom‑middle.
  ![￼](https://tray.ai/documentation/images/connectors/service/pipedrive/7lfsnQoZ1OTQgzju5UmA4Z_Saved,%20not%20enabled%20View.png)
* The banner will change from *Saved, not enabled* → *Saved & enabled*.
  ![• Disable workflow](https://tray.ai/documentation/images/connectors/service/pipedrive/4UtMEpQznmNeIxrhGe4k41_•%20Disable%20workflow.png)
  Enabling registers the webhook endpoint with Pipedrive; the workflow is now working.

***

## 4. Create a Test Activity in Pipedrive

* Log in to your Pipedrive account.
* Open **Activities** from the left sidebar and click **+ Activity**.
  ![Create activity](https://tray.ai/documentation/images/connectors/service/pipedrive/3OH3XRsMXiIUkf6F6kOYuT_Screenshot%202025-05-08%20at%2018.40.41.png)
* Fill in the activity form (subject, dates, owner, etc.) and click **Save**.
  ![My New activity](https://tray.ai/documentation/images/connectors/service/pipedrive/7FG2EawLCMLq0AgkdiHP2S_My%20New%20activity.png)

***

## 5. Confirm the Trigger Fired

* Return to your workflow and open the **Logs** pane.
* You should see a new successful execution. Select it to inspect the payload – it will include the activity `id`, `subject`, timestamps, and more.
  ![Screenshot 2025-05-08 at 18.41.41](https://tray.ai/documentation/images/connectors/service/pipedrive/1rjxEsarl7ejKU3g9IGBWX_Screenshot%202025-05-08%20at%2018.41.41.png)

***

## Next Steps

* Add downstream steps (e.g., Slack, Gmail, or logic helpers) to act on the activity details.
* Use the activity `id` to pull additional context such as linked deals or persons.
* Modify the **Event action** or **object** to listen for updates or other Pipedrive entities.

## Available Operations

Please see the [Full Operations Reference](#operationsFull) at the end of this page for complete details on all available operations and their parameters.
