View as Markdown

Pipedrive Integration

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:

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:

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:

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:

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:

import { createMCPClient, pipedriveIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [pipedriveIntegration()],
});

Configuration Options

export interface PipedriveIntegrationConfig {
  clientId?: string;

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

export interface PipedriveListDealsParams { start?: number;

pipedrive_list_leads

List leads

export interface PipedriveListLeadsParams { start?: number;

pipedrive_list_persons

List persons

export interface PipedriveListPersonsParams { start?: number;

pipedrive_list_organizations

List organizations

export interface PipedriveListOrganizationsParams { start?: number;

pipedrive_list_activities

List activities

export interface PipedriveListActivitiesParams { start?: number;

pipedrive_list_notes

List notes

export interface PipedriveListNotesParams { start?: number;

pipedrive_list_pipelines

List pipelines

export interface PipedriveListPipelinesParams { start?: number;

pipedrive_list_products

List products

export interface PipedriveListProductsParams { start?: number;

pipedrive_create_deal

Create deal

export interface PipedriveCreateDealParams { deal_json: string;

Notes

  • Category: Business
  • Authentication mode: OAuth