CONNECT APP
Build with Pipedrive
CRM
- OAuth
MCP
Give your agent Pipedrive tools
Every Pipedrive action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Pipedrive account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "pipedrive",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Add Activity:
const result = await mcp.callTool({
name: "pipedrive-add-activity",
arguments: {
subject: "Subject",
type: "Type",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "pipedrive",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Add Activity:
result = await session.call_tool("pipedrive-add-activity", {
"subject": "Subject",
"type": "Type",
})API PROXY
Call the Pipedrive API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Pipedrive API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.example.com/v1/me",
})
// Any allowed Pipedrive endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Pipedrive actions from your backend
Connect a user's Pipedrive account once, then run Add Activity on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "pipedrive-add-activity",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
pipedrive: { authProvisionId: "apn_xxxxxxx" },
subject: "Subject",
type: "Type",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="pipedrive-add-activity",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"pipedrive": {"authProvisionId": "apn_xxxxxxx"},
"subject": "Subject",
"type": "Type",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "pipedrive-add-activity",
"configured_props": {
"pipedrive": { "authProvisionId": "apn_xxxxxxx" },
"subject": "Subject",
"type": "Type"
}
}'TOOLS
Pipedrive actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Add Activity
actionAdds a new activity. Includesmore_activities_scheduled_in_contextproperty in response'sadditional_datawhich indicates whether there are more undone activities scheduled with the same deal, person or organization (depending on the supplied data). See the Pipedrive API docs for Activities here. For info on adding an activity in PipedriveWritev0.1.26 -
Add Deal
actionAdds a new deal. See the Pipedrive API docs for Deals hereWritev0.1.26 -
Add Labels
actionAdds labels to a lead, person, deal, or organization in Pipedrive. See the documentationWritev0.0.5 -
Add Lead
actionCreate a new lead in Pipedrive. See the documentationWritev0.0.20 -
Add Note
actionAdds a new note. For info on adding an note in PipedriveWritev0.0.21 -
Add Organization
actionAdds a new organization. See the Pipedrive API docs for Organizations hereWritev0.1.22 -
Add Person
actionAdds a new person. See the Pipedrive API docs for People hereWritev0.1.25 -
Create Project
actionCreates a new project in Pipedrive. Use List Project Boards to obtain a valid Board ID and List Project Phases to obtain a valid Phase ID before running this action. Example: to open a project on the first board/phase, call withtitle="Q3 Website Redesign",status="open",boardId="1",phaseId="1"-> returns the created project with its numericid. See the documentationWritev0.0.2 -
Create Task
actionCreates a new task under a project (BETA). Run List Projects first to obtain a valid project ID. Use List User ID Options for the assignee ID. Example: to add a task to a project, call withtitle="Draft kickoff agenda"andprojectId="7"-> returns the created task with its numericid. See the documentationWritev0.0.2 -
Delete Project
actionPermanently deletes a project. This is irreversible. Run List Projects first to obtain a valid project ID. See the documentationWritev0.0.2 -
Delete Task
actionPermanently deletes a task and all of its subtasks (BETA). This is irreversible. Run List Tasks first to obtain a valid task ID. See the documentationWritev0.0.2 -
Get All Leads
actionGet all leads from Pipedrive. See the documentationRead-onlyv0.0.6 -
Get Deal
actionGet a deal by its ID. See the documentationRead-onlyv0.0.3 -
Get Lead by ID
actionGet a lead by its ID. See the documentationRead-onlyv0.0.10 -
Get person details
actionGet details of a person by their ID. See the documentationRead-onlyv0.0.11 -
Get Project
actionGets a single project by its ID. Run List Projects first to obtain a valid project ID. See the documentationRead-onlyv0.0.2 -
Get Task
actionGets a single task by its ID (BETA). Run List Tasks first to obtain a valid task ID. See the documentationRead-onlyv0.0.2 -
List Deals
actionList deals in your Pipedrive account. See the documentationRead-onlyv0.0.4 -
List Filters
actionList filters in your Pipedrive account, optionally scoped to a single entity type. See the documentationRead-onlyv0.0.2 -
List Lead Label IDs Options
actionRetrieves available options for the Lead Label IDs field.Read-onlyv0.0.2 -
List Organization Label IDs Options
actionRetrieves available options for the Organization Label IDs field.Read-onlyv0.0.2 -
List Organizations
actionList organizations in your Pipedrive account. See the documentationRead-onlyv0.0.2 -
List Person Label IDs Options
actionRetrieves available options for the Person Label IDs field.Read-onlyv0.0.2 -
List Persons
actionList persons in your Pipedrive account. See the documentationRead-onlyv0.0.2 -
List Project Boards
actionLists all active project boards. Run this first to obtain a valid board ID for Create Project, Update Project, and List Project Phases. See the documentationRead-onlyv0.0.2 -
List Project Phases
actionLists the phases for a given board. Run List Project Boards first to obtain a board ID, then run this to obtain a valid phase ID for Create Project or Update Project. See the documentationRead-onlyv0.0.2 -
List Projects
actionLists projects in your Pipedrive account. Use the returned IDs with Get Project, Update Project, Delete Project, or Create Task. See the documentationRead-onlyv0.0.2 -
List Tasks
actionLists tasks in your Pipedrive account (BETA). Use List Projects to obtain a project ID to filter by. Use the returned IDs with Get Task, Update Task, or Delete Task. See the documentationRead-onlyv0.0.2 -
List User ID Options
actionRetrieves available options for the User ID field.Read-onlyv0.0.2 -
Merge Deals
actionMerge two deals in Pipedrive. See the documentationWritev0.0.10 -
Merge Persons
actionMerge two persons in Pipedrive. See the documentationWritev0.0.10 -
Remove Duplicate Notes
actionRemove duplicate notes from an object in Pipedrive. See the documentation for getting notes and deleting notesWritev0.0.13 -
Remove Labels
actionRemoves one or more specific labels from a lead, person, deal, or organization in Pipedrive, leaving all other labels intact. See the documentationWritev0.0.2 -
Search Leads
actionSearch for leads by name or email. See the documentationRead-onlyv0.0.11 -
Search Notes
actionSearch for notes in Pipedrive. See the documentationRead-onlyv0.0.13 -
Search persons
actionSearches all Persons byname,email,phone,notesand/or custom fields. This endpoint is a wrapper of/v1/itemSearchwith a narrower OAuth scope. Found Persons can be filtered by Organization ID. See the Pipedrive API docs hereRead-onlyv0.1.26 -
Update Deal
actionUpdates the properties of a deal. See the Pipedrive API docs for Deals hereWritev0.1.24 -
Update Lead
actionUpdates a lead in Pipedrive. See the documentationWritev0.0.7 -
Update Person
actionUpdates an existing person in Pipedrive. See the documentationWritev0.0.17 -
Update Project
actionUpdates an existing project. Run List Projects first to obtain a valid project ID; use List Project Boards and List Project Phases for board and phase IDs. See the documentationWritev0.0.2 -
Update Task
actionUpdates an existing task (BETA). Run List Tasks first to obtain a valid task ID. See the documentationWritev0.0.2
EVENTS
Pipedrive triggers
Event sources your backend can deploy for users and receive through a webhook.
-
Deal Updated (Instant)
triggerEmit new event when a deal is updated.Instantv0.1.14 -
Lead Updated (Instant)
triggerEmit new event when a lead is updated.Instantv0.1.14 -
New Deal (Instant)
triggerEmit new event when a new deal is created.Instantv0.0.18 -
New Event (Instant)
triggerEmit new event when a new webhook event is received. See the documentationInstantv0.0.9 -
New Person (Instant)
triggerEmit new event when a new person is created.Instantv0.0.18 -
Person Updated (Instant)
triggerEmit new event when a person is updated.Instantv0.1.14
MULTI-APP
Use Pipedrive with other popular apps
Most products don't stop at one integration. Pair Pipedrive with the other apps your users rely on, and ship use cases that span both.
- App slug
- pipedrive
- Authentication
- OAuth
- Categories
- CRM
- Actions
- 41
- Triggers
- 6
- API proxy
- Available