---
title: "Pipedrive Integration"
description: "Manage Pipedrive deals, leads, people, organizations, activities, notes, pipelines, and products"
---
The Pipedrive integration provides access to manage Pipedrive deals, leads, people, organizations, activities, notes, pipelines, and products through the Integrate MCP server.

## Installation

The Pipedrive integration is included with the SDK:

```typescript
import { pipedriveIntegration } from "integrate-sdk/server";
```

## Setup

### 1. Create a Pipedrive OAuth App

1. Create an OAuth application for Pipedrive
2. Configure your redirect URI
3. Note your Client ID and Client Secret

### 2. Configure the Integration on Your Server

Add the Pipedrive integration to your server configuration. The integration automatically reads `PIPEDRIVE_CLIENT_ID` and `PIPEDRIVE_CLIENT_SECRET` from your environment variables:

```typescript
import { createMCPServer, pipedriveIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    pipedriveIntegration({
      scopes: ["deals:read", "deals:full", "contacts:read", "contacts:full", "activities:read", "activities:full", "products:read", "products:full"], // Optional
    }),
  ],
});
```

You can override the environment variables by passing explicit values:

```typescript
pipedriveIntegration({
  clientId: process.env.CUSTOM_PIPEDRIVE_ID,
  clientSecret: process.env.CUSTOM_PIPEDRIVE_SECRET,
      scopes: ["deals:read", "deals:full", "contacts:read", "contacts:full", "activities:read", "activities:full", "products:read", "products:full"], // Optional
});
```

### 3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

```typescript
import { client } from "integrate-sdk";

await client.authorize("pipedrive");
const result = await client.pipedrive.listDeals({
  api_domain: "value",
});

console.log(result);
```

If you're using a custom client, add the integration to the integrations array:

```typescript
import { createMCPClient, pipedriveIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [pipedriveIntegration()],
});
```

## Configuration Options

<AutoTypeTable
  path="../src/integrations/pipedrive.ts"
  name="PipedriveIntegrationConfig"
/>


## Default Scopes

These defaults are applied unless you override `scopes` in the integration config:

- `deals:read`
- `deals:full`
- `contacts:read`
- `contacts:full`
- `activities:read`
- `activities:full`
- `products:read`
- `products:full`

## Tools

### `pipedrive_list_deals`

List deals

<AutoTypeTable
  path="generated/tool-params/pipedrive.ts"
  name="PipedriveListDealsParams"
/>

### `pipedrive_list_leads`

List leads

<AutoTypeTable
  path="generated/tool-params/pipedrive.ts"
  name="PipedriveListLeadsParams"
/>

### `pipedrive_list_persons`

List persons

<AutoTypeTable
  path="generated/tool-params/pipedrive.ts"
  name="PipedriveListPersonsParams"
/>

### `pipedrive_list_organizations`

List organizations

<AutoTypeTable
  path="generated/tool-params/pipedrive.ts"
  name="PipedriveListOrganizationsParams"
/>

### `pipedrive_list_activities`

List activities

<AutoTypeTable
  path="generated/tool-params/pipedrive.ts"
  name="PipedriveListActivitiesParams"
/>

### `pipedrive_list_notes`

List notes

<AutoTypeTable
  path="generated/tool-params/pipedrive.ts"
  name="PipedriveListNotesParams"
/>

### `pipedrive_list_pipelines`

List pipelines

<AutoTypeTable
  path="generated/tool-params/pipedrive.ts"
  name="PipedriveListPipelinesParams"
/>

### `pipedrive_list_products`

List products

<AutoTypeTable
  path="generated/tool-params/pipedrive.ts"
  name="PipedriveListProductsParams"
/>

### `pipedrive_create_deal`

Create deal

<AutoTypeTable
  path="generated/tool-params/pipedrive.ts"
  name="PipedriveCreateDealParams"
/>

## Notes

- Category: Business
- Authentication mode: OAuth
