---
title: "Actions: P"
description: "How to set up each action of the 15 apps starting with P."
label: "P"
generated: "the tool catalog in services/core/src/tool-catalog"
---


Apps starting with P. Add any of these from **Integrations → n8n → Add tools → Browse apps**; see [Set up an action](/build/set-up-actions) for each way a key is sent, and the [catalog index](/reference/actions) for every app.

## Paddle

- **n8n node:** [Paddle](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.paddle/) (`n8n-nodes-base.paddle`, version 1), 9 actions.
- **n8n performs it:** runs on the n8n credential *Paddle API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/paddle/)).
- **Veefore performs it:** 9 of 9 actions, with the key in the request body, as the `vendor_auth_code` field.
- **You enter:** Vendor auth code, Vendor ID.
- **Also sent:** Vendor ID in the body as `vendor_id`.
- **API address:** `https://vendors.paddle.com/api`.
- **Get the key:** [vendors.paddle.com](https://vendors.paddle.com/authentication-v2)

**Paddle in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a coupon | `POST /2.1/product/create_coupon` | — |
| Get many coupons | `POST /2.0/product/list_coupons` | `productId` |
| Update a coupon | `POST /2.1/product/update_coupon` | — |
| Get many payments | `POST /2.0/subscription/payments` | — |
| Reschedule a payment | `POST /2.0/subscription/payments_reschedule` | `paymentId` |
| Get a plan | `POST /2.0/subscription/plans` | `planId` |
| Get many plans | `POST /2.0/subscription/plans` | — |
| Get many products | `POST /2.0/product/get_products` | — |
| Get many users | `POST /2.0/subscription/users` | `limit` |

## PagerDuty

- **n8n node:** [PagerDuty](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty/) (`n8n-nodes-base.pagerDuty`, version 1), 9 actions.
- **n8n performs it:** runs on the n8n credential *PagerDuty API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/pagerduty/)).
- **Veefore performs it:** 9 of 9 actions, with the key in a header, as `Authorization: Token token=<key>`.
- **You enter:** API token.
- **API address:** `https://api.pagerduty.com`.
- **Get the key:** [support.pagerduty.com](https://support.pagerduty.com/docs/api-access-keys#generate-a-general-access-rest-api-key)

**PagerDuty in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create an incident | `POST /incidents` | `title`, `serviceId`, `email` |
| Get an incident | `GET /incidents/{incidentId}` | `incidentId` |
| Get many incidents | `GET /incidents` | — |
| Update an incident | `PUT /incidents/{incidentId}` | `incidentId`, `email` |
| Create an incident note | `POST /incidents/{incidentId}/notes` | `incidentId`, `content`, `email` |
| Get many incident notes | `GET /incidents/{incidentId}/notes` | `incidentId` |
| Get a log entry | `GET /log_entries/{logEntryId}` | `logEntryId` |
| Get many log entries | `GET /log_entries` | — |
| Get a user | `GET /users/{userId}` | `userId` |

## PayPal

- **n8n node:** [PayPal](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.paypal/) (`n8n-nodes-base.payPal`, version 1), 4 actions.
- **n8n performs it:** runs on the n8n credential *PayPal API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/paypal/)).
- **Veefore performs it:** not available. PayPal first exchanges the client ID and secret for a short-lived token; n8n performs it.
- **Get the key:** [developer.paypal.com](https://developer.paypal.com/api/rest/#link-getclientidandclientsecret)

**PayPal in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a payout | n8n performs it | `senderBatchId` |
| Get a payout | n8n performs it | `payoutBatchId` |
| Cancel a payout item | n8n performs it | `payoutItemId` |
| Get a payout item | n8n performs it | `payoutItemId` |

## Peekalink

- **n8n node:** [Peekalink](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.peekalink/) (`n8n-nodes-base.peekalink`, version 1), 2 actions.
- **n8n performs it:** runs on the n8n credential *Peekalink API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/peekalink/)).
- **Veefore performs it:** 2 of 2 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://api.peekalink.io`.
- **Get the key:** [docs.peekalink.io](https://docs.peekalink.io/quickstart#1-get-your-api-key)

**Peekalink in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Check whether the preview for a given link is available | `POST /is-available/` | `url` |
| Return the preview for a link | `POST /` | `url` |

## Perplexity

- **n8n node:** [Perplexity](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.perplexity/) (`n8n-nodes-base.perplexity`, version 3), 4 actions.
- **n8n performs it:** runs on the n8n credential *Perplexity API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/perplexity/)).
- **Veefore performs it:** 4 of 4 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://api.perplexity.ai`.
- **Get the key:** [perplexity.ai](https://www.perplexity.ai/account)

**Perplexity in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a response | `POST /v1/agent` | `input` |
| Create an embedding | `POST /v1/embeddings` | `model`, `input` |
| Create a contextualized embedding | `POST /v1/contextualizedembeddings` | `model`, `input` |
| Search the web | `POST /search` | `query` |

## Phantombuster

- **n8n node:** [Phantombuster](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.phantombuster/) (`n8n-nodes-base.phantombuster`, version 1), 6 actions.
- **n8n performs it:** runs on the n8n credential *Phantombuster API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/phantombuster/)).
- **Veefore performs it:** 6 of 6 actions, with the key in a header, as `X-Phantombuster-Key: <key>`.
- **You enter:** API key.
- **API address:** `https://api.phantombuster.com/api/v2`.
- **Get the key:** [hub.phantombuster.com](https://hub.phantombuster.com/docs/api#how-to-find-my-api-key)

**Phantombuster in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Delete an agent | `POST /agents/delete` | `agentId` |
| Get an agent | `GET /agents/fetch` | `agentId` |
| Get many agents | `GET /agents/fetch-all` | — |
| Get the output of an agent | `GET /agents/fetch-output` | `agentId` |
| Add an agent to the launch queue | `POST /agents/launch` | `agentId` |
| Launch an agent and stream results | `POST /agents/launch-sync` | `agentId` |

## Philips Hue

- **n8n node:** [Philips Hue](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.philipshue/) (`n8n-nodes-base.philipsHue`, version 1), 4 actions.
- **n8n performs it:** runs on the n8n credential *PhilipHue OAuth2 API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/philipshue/)).
- **Veefore performs it:** 4 of 4 actions, with OAuth 2.0 with a refresh token; Veefore renews access tokens at `https://api.meethue.com/v2/oauth2/token`.
- **You enter:** OAuth client ID, Client secret, Refresh token.
- **API address:** `https://api.meethue.com/route`.
- **Get the key:** [developers.meethue.com](https://developers.meethue.com/my-apps/)

**Philips Hue in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Delete a light | `DELETE /api/{user}/lights/{lightId}` | `lightId`, `user` |
| Get a light | `GET /api/{user}/lights/{lightId}` | `lightId`, `user` |
| Get many lights | `GET /api/{user}/lights` | `user` |
| Update a light | `PUT /api/{user}/lights/{lightId}/state` | `lightId`, `on`, `user` |

## Pipedrive

- **n8n node:** [Pipedrive](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pipedrive/) (`n8n-nodes-base.pipedrive`, version 2), 49 actions.
- **n8n performs it:** runs on the n8n credential *Pipedrive API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/pipedrive/)).
- **Veefore performs it:** 49 of 49 actions, with the key in the query string, as `?api_token=<key>`.
- **You enter:** API key.
- **API address:** `https://api.pipedrive.com/v1`.
- **Get the key:** [app.pipedrive.com](https://app.pipedrive.com/settings/api)

**Pipedrive in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create an activity | `POST /activities` | `subject`, `type` |
| Delete an activity | `DELETE /activities/{activityId}` | `activityId` |
| Get an activity | `GET /activities/{activityId}` | `activityId` |
| Get many activities | `GET /activities` | — |
| Update an activity | `PATCH /activities/{activityId}` | `activityId` |
| Create a deal | `POST /deals` | `title`, `associateWith`, `org_id` |
| Delete a deal | `DELETE /deals/{dealId}` | `dealId` |
| Duplicate a deal | `POST /deals/{dealId}/duplicate` | `dealId` |
| Get a deal | `GET /deals/{dealId}` | `dealId` |
| Get many deals | `GET /deals` | — |
| Search deals | `GET /deals/search` | `term` |
| Update a deal | `PATCH /deals/{dealId}` | `dealId` |
| Add a product to a deal | `POST /deals/{dealId}/products` | `dealId`, `productId`, `item_price`, `quantity` |
| Get many products of a deal | `GET /deals/{dealId}/products` | `dealId` |
| Remove a product from a deal | `DELETE /deals/{dealId}/products/{productAttachmentId}` | `dealId`, `productAttachmentId` |
| Update a product in a deal | `PATCH /deals/{dealId}/products/{productAttachmentId}` | `dealId`, `productAttachmentId` |
| Create a file | `POST /files` | `binaryPropertyName` |
| Delete a file | `DELETE /files/{fileId}` | `fileId` |
| Download a file | `GET /files/{fileId}/download` | `fileId`, `binaryPropertyName` |
| Get a file | `GET /files/{fileId}` | `fileId` |
| Update a file | `PUT /files/{fileId}` | `fileId` |
| Create a lead | `POST /leads` | `title`, `associateWith`, `organization_id` |
| Delete a lead | `DELETE /leads/{leadId}` | `leadId` |
| Get a lead | `GET /leads/{leadId}` | `leadId` |
| Get many leads | `GET /leads` | — |
| Update a lead | `PUT /leads/{leadId}` | `leadId` |
| Create a note | `POST /notes` | `content` |
| Delete a note | `DELETE /notes/{noteId}` | `noteId` |
| Get a note | `GET /notes/{noteId}` | `noteId` |
| Get many notes | `GET /notes` | — |
| Update a note | `PUT /notes/{noteId}` | `noteId` |
| Create an organization | `POST /organizations` | `name` |
| Delete an organization | `DELETE /organizations/{organizationId}` | `organizationId` |
| Get an organization | `GET /organizations/{organizationId}` | `organizationId` |
| Get many organizations | `GET /organizations` | — |
| Search organizations | `GET /organizations/search` | `term` |
| Update an organization | `PATCH /organizations/{organizationId}` | `organizationId` |
| Create a person | `POST /persons` | `name` |
| Delete a person | `DELETE /persons/{personId}` | `personId` |
| Get a person | `GET /persons/{personId}` | `personId` |
| Get many persons | `GET /persons` | — |
| Search persons | `GET /persons/search` | `term` |
| Update a person | `PATCH /persons/{personId}` | `personId` |
| Create a product | `POST /products` | `name` |
| Delete a product | `DELETE /products/{productId}` | `productId` |
| Get a product | `GET /products/{productId}` | `productId` |
| Get many products | `GET /products` | — |
| Search products | `GET /products/search` | `term` |
| Update a product | `PATCH /products/{productId}` | `productId` |

## Plivo

- **n8n node:** [Plivo](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.plivo/) (`n8n-nodes-base.plivo`, version 1), 3 actions.
- **n8n performs it:** runs on the n8n credential *Plivo API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/plivo/)).
- **Veefore performs it:** 3 of 3 actions, with HTTP basic auth: username Auth ID, password Auth token.
- **You enter:** Auth ID, Auth token.
- **API address:** `https://api.plivo.com/v1/Account/{authId}`.
- **Get the key:** [console.plivo.com](https://console.plivo.com/dashboard/)

**Plivo in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Make a call | `POST /Call` | `from`, `to`, `answer_method`, `answer_url`, `authId` |
| Send an MMS | `POST /Message` | `from`, `to`, `authId` |
| Send an SMS | `POST /Message` | `from`, `to`, `message`, `authId` |

## Postgres

- **n8n node:** [Postgres](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/) (`n8n-nodes-base.postgres`, version 2.7), 6 actions.
- **n8n performs it:** runs on the n8n credential *Postgres* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/postgres/)).
- **Veefore performs it:** not available. Postgres is not a web API (a database, queue, file transfer or local step), so only n8n can perform it.

**Postgres in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Delete table or rows | n8n performs it | `schema`, `table` |
| Execute a SQL query | n8n performs it | `query` |
| Insert rows in a table | n8n performs it | `schema`, `table` |
| Insert or update rows in a table | n8n performs it | `schema`, `table` |
| Select rows from a table | n8n performs it | `schema`, `table` |
| Update rows in a table | n8n performs it | `schema`, `table` |

## PostHog

- **n8n node:** [PostHog](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.posthog/) (`n8n-nodes-base.postHog`, version 1), 5 actions.
- **n8n performs it:** runs on the n8n credential *PostHog API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/posthog/)).
- **Veefore performs it:** 5 of 5 actions, with the key in the request body, as the `api_key` field.
- **You enter:** API key.
- **API address:** `https://us.i.posthog.com`.
- **Get the key:** [app.posthog.com](https://app.posthog.com/settings/user-api-keys)

**PostHog in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create an alias | `POST /batch` | `alias`, `distinctId` |
| Create an event | `POST /capture` | `eventName`, `distinctId` |
| Create an identity | `POST /batch` | `distinctId` |
| Track a page | `POST /batch` | `name`, `distinctId` |
| Track a screen | `POST /batch` | `name`, `distinctId` |

## ProfitWell

- **n8n node:** [ProfitWell](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.profitwell/) (`n8n-nodes-base.profitWell`, version 1), 2 actions.
- **n8n performs it:** runs on the n8n credential *ProfitWell API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/profitwell/)).
- **Veefore performs it:** 2 of 2 actions, with the key in a header, as `Authorization: <key>`.
- **You enter:** Private API token.
- **API address:** `https://api.profitwell.com/v2`.
- **Get the key:** [www2.profitwell.com](https://www2.profitwell.com/app/account/integrations)

**ProfitWell in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Get settings for your company | `GET /company/settings/` | — |
| Get a metric | `GET /metrics/{type}` | `type`, `month` |

## Pushbullet

- **n8n node:** [Pushbullet](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pushbullet/) (`n8n-nodes-base.pushbullet`, version 1), 4 actions.
- **n8n performs it:** runs on the n8n credential *Pushbullet OAuth2 API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/pushbullet/)).
- **Veefore performs it:** 4 of 4 actions, with OAuth 2.0 with a refresh token; Veefore renews access tokens at `https://api.pushbullet.com/oauth2/token`.
- **You enter:** OAuth client ID, Client secret, Refresh token.
- **API address:** `https://api.pushbullet.com/v2`.
- **Get the key:** [pushbullet.com](https://www.pushbullet.com/#settings/account)

**Pushbullet in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a push | `POST /upload-request` | `type`, `title`, `body`, `target` |
| Delete a push | `DELETE /pushes/{pushId}` | `pushId` |
| Get many pushes | `GET /pushes` | — |
| Update a push | `POST /pushes/{pushId}` | `pushId`, `dismissed` |

## Pushcut

- **n8n node:** [Pushcut](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pushcut/) (`n8n-nodes-base.pushcut`, version 1), 1 action.
- **n8n performs it:** runs on the n8n credential *Pushcut API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/pushcut/)).
- **Veefore performs it:** 1 of 1 action, with the key in a header, as `API-Key: <key>`.
- **You enter:** API key.
- **API address:** `https://api.pushcut.io/v1`.
- **Get the key:** [pushcut.io](https://www.pushcut.io/webapi)

**Pushcut in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Send a notification | `POST /notifications/{notificationName}` | `notificationName` |

## Pushover

- **n8n node:** [Pushover](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pushover/) (`n8n-nodes-base.pushover`, version 1), 1 action.
- **n8n performs it:** runs on the n8n credential *Pushover API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/pushover/)).
- **Veefore performs it:** 1 of 1 action, with the key in the request body, as the `token` field.
- **You enter:** Application API token.
- **API address:** `https://api.pushover.net/1`.
- **Get the key:** [pushover.net](https://pushover.net/apps/build)

**Pushover in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Push a message | `POST /messages.json` | `userKey`, `message` |
