Pipedrive Node v2 - Problem assigning an Activity to a Person

I’m a heavy user of the Pipedrive nodes; I’ve found that there’s a new version (I assume to use the API v2) that is backward incompatible with the previous one.

The new nodes need a lot of work; for example, when creating a new Pipedrive Activity, and setting the “Person” (in the web UI); I’m getting this error:

`‘person_id’ is a read-only field. Add a primary participant to set ‘person_id’ instead. For example: “participants”: [{ “person_id”: 1, “primary”: true }]`

Bad request - please check your parameters

‘person_id’ is a read-only field. Add a primary participant to set ‘person_id’ instead. For example: “participants”: [{ “person_id”: 1, “primary”: true }]

n8n AI

Error details

From Pipedrive

Error code

400

Full message

{ "success": false, "error": "'person_id' is a read-only field. Add a primary participant to set 'person_id' instead. For example: \"participants\": [{ \"person_id\": 1, \"primary\": true }]", "code": "ERR_BAD_REQUEST" }
Other info

Node type

n8n-nodes-base.pipedrive

Node version

2 (Latest)

n8n version

2.23.2 (Cloud)

Time

6/3/2026, 6:18:03 PM

Stack trace

NodeApiError: Bad request - please check your parameters at ExecuteContext.requestWithAuthentication (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_09b6de71aa48ba17834bf7615757388b/node_modules/n8n-core/src/execution-engine/node-execution-context/utils/request-helper-functions.ts:1368:10) at processTicksAndRejections (node:internal/process/task_queues:104:5) at ExecuteContext.requestWithAuthentication (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_09b6de71aa48ba17834bf7615757388b/node_modules/n8n-core/src/execution-engine/node-execution-context/utils/request-helper-functions.ts:1711:11) at ExecuteContext.pipedriveApiRequest (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Pipedrive/v2/transport/pipedrive.api.ts:70:24) at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Pipedrive/v2/actions/activity/create.operation.ts:148:25) at ExecuteContext.router (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Pipedrive/v2/actions/router.ts:28:17) at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Pipedrive/v2/PipedriveV2.node.ts:29:10) at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_09b6de71aa48ba17834bf7615757388b/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1053:9) at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_09b6de71aa48ba17834bf7615757388b/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1327:11) at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_09b6de71aa48ba17834bf7615757388b/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1778:27 at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_09b6de71aa48ba17834bf7615757388b/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2426:11

Problem in node ‘Create an activity’

Bad request - please check your parameters

This looks less like a workflow issue and more like a change introduced by Pipedrive’s API v2. Based on the error, person_id is no longer writable directly and Pipedrive now expects the contact to be passed as a participant instead.

If the new n8n Pipedrive node is still exposing a “Person” field but sending it as person_id, that’s probably a compatibility gap in the node implementation.

For now, you may want to test the same activity creation through an HTTP Request node using the Pipedrive API directly and pass the participant in the format they expect:

{
  "participants": [
    {
      "person_id": 1,
      "primary": true
    }
  ]
}

Given that this is a breaking change from previous behavior, it may also be worth opening a GitHub issue if one doesn’t already exist. I suspect other heavy Pipedrive users will run into the same problem when moving from the older node version.

thanks, I created the report here Pipedrive v2 Create Activity issue · Issue #31684 · n8n-io/n8n · GitHub

This is a Pipedrive API v2 breaking change, not an n8n bug. Pipedrive made person_id a read-only field in v2, so you can’t set it directly anymore. You have to pass the person as a participant instead.

Since the new n8n Pipedrive node is still exposing a “Person” field but sending it as person_id under the hood, there’s a mismatch between what the node does and what the API now expects.

For now the quickest workaround is to bypass the Pipedrive node and use an HTTP Request node instead, calling the Pipedrive API directly with the correct format:

{
  "participants": [
    {
      "person_id": 123,
      "primary": true
    }
  ]
}

Replace 123 with the actual person ID you’re working with.

Also worth opening a GitHub issue if one doesn’t exist yet this is going to affect every heavy Pipedrive user once they upgrade to the new node version, so the sooner it gets flagged the better.

Let me know if you need help putting together the HTTP Request node setup for this.