> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipedrive: Get Products

> Get all products. Pipedrive Get Products reference includes SDK V2 and CLI requests, input constraints, response fields, and Deepline cost.

Get all products.

<Info>
  Tool ID: `pipedrive_get_products`
</Info>

## Run this action

Use the TypeScript SDK for a single call. Put `ctx.tools.execute(...)` inside a Play when the call should be durable, scheduled, or run across a CSV.

```ts theme={null}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'pipedrive_get_products',
  {
    "owner_id": 123,
    "ids": "example",
    "filter_id": 123
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={null}
deepline tools execute pipedrive_get_products --input '{
  "owner_id": 123,
  "ids": "example",
  "filter_id": 123
}' --json
```

## Example response

The SDK exposes this shape at `result.toolResponse.raw`. Values below are representative.

```json theme={null}
{
  "data": {
    "success": true,
    "data": [
      {
        "id": 123,
        "name": "Example",
        "code": "example"
      }
    ],
    "additional_data": {
      "next_cursor": "cursor_123"
    }
  }
}
```

Use `deepline tools get pipedrive_get_products --json` for the latest machine-readable contract.

## Input reference

Returns data about all products.

| Name                     | Type                                            | Required | Default | Details                                                                                                                                                                                                                      |
| ------------------------ | ----------------------------------------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.owner_id`       | `integer`                                       | No       | —       | If supplied, only products owned by the given user will be returned                                                                                                                                                          |
| `payload.ids`            | `string`                                        | No       | —       | Optional comma separated string array of up to 100 entity ids to fetch. If filter\_id is provided, this is ignored. If any of the requested entities do not exist or are not visible, they are not included in the response. |
| `payload.filter_id`      | `integer`                                       | No       | —       | The ID of the filter to use                                                                                                                                                                                                  |
| `payload.cursor`         | `string`                                        | No       | —       | For pagination, the marker (an opaque string value) representing the first item on the next page                                                                                                                             |
| `payload.limit`          | `integer`                                       | No       | —       | For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.                                                                        |
| `payload.sort_by`        | `"id" \| "name" \| "add_time" \| "update_time"` | No       | `"id"`  | The field to sort by. Supported fields: `id`, `name`, `add_time`, `update_time`. Allowed: `id`, `name`, `add_time`, `update_time`.                                                                                           |
| `payload.sort_direction` | `"asc" \| "desc"`                               | No       | `"asc"` | The sorting direction. Supported values: `asc`, `desc`. Allowed: `asc`, `desc`.                                                                                                                                              |
| `payload.updated_since`  | `string`                                        | No       | —       | If set, only products with an `update_time` later than or equal to this time are returned. In RFC3339 format, e.g. 2025-01-01T10:20:00Z.                                                                                     |
| `payload.custom_fields`  | `string`                                        | No       | —       | Comma separated string array of custom fields keys to include. If you are only interested in a particular set of custom fields, please use this parameter for a smaller response. A maximum of 15 keys is allowed.           |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Returns data about all products.",
    "properties": {
      "owner_id": {
        "type": "integer",
        "description": "If supplied, only products owned by the given user will be returned"
      },
      "ids": {
        "type": "string",
        "description": "Optional comma separated string array of up to 100 entity ids to fetch. If filter_id is provided, this is ignored. If any of the requested entities do not exist or are not visible, they are not included in the response."
      },
      "filter_id": {
        "type": "integer",
        "description": "The ID of the filter to use"
      },
      "cursor": {
        "type": "string",
        "description": "For pagination, the marker (an opaque string value) representing the first item on the next page"
      },
      "limit": {
        "type": "integer",
        "description": "For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed."
      },
      "sort_by": {
        "type": "string",
        "description": "The field to sort by. Supported fields: `id`, `name`, `add_time`, `update_time`.",
        "default": "id",
        "enum": [
          "id",
          "name",
          "add_time",
          "update_time"
        ]
      },
      "sort_direction": {
        "type": "string",
        "description": "The sorting direction. Supported values: `asc`, `desc`.",
        "default": "asc",
        "enum": [
          "asc",
          "desc"
        ]
      },
      "updated_since": {
        "type": "string",
        "description": "If set, only products with an `update_time` later than or equal to this time are returned. In RFC3339 format, e.g. 2025-01-01T10:20:00Z."
      },
      "custom_fields": {
        "type": "string",
        "description": "Comma separated string array of custom fields keys to include. If you are only interested in a particular set of custom fields, please use this parameter for a smaller response. A maximum of 15 keys is allowed."
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name                                          | Type                                                                                  | Required | Default      | Details                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------------------------------------- | ------------------------------------------------------------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `result.data`                                 | `object`                                                                              | Yes      | —            | Provider response payload.                                                                                                                                                                                                                                                                                                                                                                                            |
| `result.data.success`                         | `boolean`                                                                             | No       | —            | If the response is successful or not                                                                                                                                                                                                                                                                                                                                                                                  |
| `result.data.data`                            | `array`                                                                               | No       | —            | Array containing data for all products                                                                                                                                                                                                                                                                                                                                                                                |
| `result.data.data[].id`                       | `integer`                                                                             | No       | —            | The ID of the product                                                                                                                                                                                                                                                                                                                                                                                                 |
| `result.data.data[].name`                     | `string`                                                                              | No       | —            | The name of the product                                                                                                                                                                                                                                                                                                                                                                                               |
| `result.data.data[].code`                     | `string`                                                                              | No       | —            | The product code                                                                                                                                                                                                                                                                                                                                                                                                      |
| `result.data.data[].unit`                     | `string`                                                                              | No       | —            | The unit in which this product is sold                                                                                                                                                                                                                                                                                                                                                                                |
| `result.data.data[].tax`                      | `number`                                                                              | No       | `0`          | The tax percentage                                                                                                                                                                                                                                                                                                                                                                                                    |
| `result.data.data[].is_deleted`               | `boolean`                                                                             | No       | `false`      | Whether this product will be marked as deleted or not                                                                                                                                                                                                                                                                                                                                                                 |
| `result.data.data[].is_linkable`              | `boolean`                                                                             | No       | `true`       | Whether this product can be added to a deal or not                                                                                                                                                                                                                                                                                                                                                                    |
| `result.data.data[].visible_to`               | `1 \| 3 \| 5 \| 7`                                                                    | No       | —            | Allowed: `1`, `3`, `5`, `7`.                                                                                                                                                                                                                                                                                                                                                                                          |
| `result.data.data[].owner_id`                 | `integer`                                                                             | No       | —            | The ID of the Pipedrive user who owns the product                                                                                                                                                                                                                                                                                                                                                                     |
| `result.data.data[].add_time`                 | `string`                                                                              | No       | —            | The date and time when the product was added                                                                                                                                                                                                                                                                                                                                                                          |
| `result.data.data[].update_time`              | `string`                                                                              | No       | —            | The date and time when the product was last updated                                                                                                                                                                                                                                                                                                                                                                   |
| `result.data.data[].description`              | `string`                                                                              | No       | —            | The description of the product                                                                                                                                                                                                                                                                                                                                                                                        |
| `result.data.data[].category`                 | `string \| null`                                                                      | No       | —            | The category of the product                                                                                                                                                                                                                                                                                                                                                                                           |
| `result.data.data[].custom_fields`            | `record`                                                                              | No       | —            | An object where each key represents a custom field. All custom fields are referenced as randomly generated 40-character hashes. To clear a custom field value, set it to `null`. For multi-option fields (field type `set`), use `null` to clear the selection — sending an empty array `[]` is not supported and will result in a validation error.                                                                  |
| `result.data.data[].billing_frequency`        | `"one-time" \| "annually" \| "semi-annually" \| "quarterly" \| "monthly" \| "weekly"` | No       | `"one-time"` | Only available in Growth and above plans How often a customer is billed for access to a service or product Allowed: `one-time`, `annually`, `semi-annually`, `quarterly`, `monthly`, `weekly`.                                                                                                                                                                                                                        |
| `result.data.data[].billing_frequency_cycles` | `integer \| null`                                                                     | No       | `null`       | Only available in Growth and above plans The number of times the billing frequency repeats for a product in a deal When `billing_frequency` is set to `one-time`, this field must be `null` When `billing_frequency` is set to `weekly`, this field cannot be `null` For all the other values of `billing_frequency`, `null` represents a product billed indefinitely Must be a positive integer less or equal to 208 |
| `result.data.data[].prices`                   | `array`                                                                               | No       | —            | The prices of the product in different currencies                                                                                                                                                                                                                                                                                                                                                                     |
| `result.data.data[].prices[].product_id`      | `integer`                                                                             | No       | —            | The ID of the product                                                                                                                                                                                                                                                                                                                                                                                                 |
| `result.data.data[].prices[].price`           | `number`                                                                              | No       | —            | The price of the product                                                                                                                                                                                                                                                                                                                                                                                              |
| `result.data.data[].prices[].currency`        | `string`                                                                              | No       | —            | The currency of the price                                                                                                                                                                                                                                                                                                                                                                                             |
| `result.data.data[].prices[].cost`            | `number`                                                                              | No       | —            | The cost of the product                                                                                                                                                                                                                                                                                                                                                                                               |
| `result.data.data[].prices[].direct_cost`     | `number \| null`                                                                      | No       | —            | The direct cost of the product                                                                                                                                                                                                                                                                                                                                                                                        |
| `result.data.data[].prices[].notes`           | `string`                                                                              | No       | —            | The notes about the price                                                                                                                                                                                                                                                                                                                                                                                             |
| `result.data.additional_data`                 | `object`                                                                              | No       | —            | Pagination related data                                                                                                                                                                                                                                                                                                                                                                                               |
| `result.data.additional_data.next_cursor`     | `string`                                                                              | No       | —            | The first item on the next page. The value of the `next_cursor` field will be `null` if you have reached the end of the dataset and there’s no more pages to be returned.                                                                                                                                                                                                                                             |
| `result.meta`                                 | `object`                                                                              | No       | —            | Additional response metadata (status, paging).                                                                                                                                                                                                                                                                                                                                                                        |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "If the response is successful or not"
          },
          "data": {
            "type": "array",
            "description": "Array containing data for all products",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The ID of the product"
                },
                "name": {
                  "type": "string",
                  "description": "The name of the product"
                },
                "code": {
                  "type": "string",
                  "description": "The product code"
                },
                "unit": {
                  "type": "string",
                  "description": "The unit in which this product is sold"
                },
                "tax": {
                  "type": "number",
                  "description": "The tax percentage",
                  "default": 0
                },
                "is_deleted": {
                  "type": "boolean",
                  "description": "Whether this product will be marked as deleted or not",
                  "default": false
                },
                "is_linkable": {
                  "type": "boolean",
                  "description": "Whether this product can be added to a deal or not",
                  "default": true
                },
                "visible_to": {
                  "type": "number",
                  "enum": [
                    1,
                    3,
                    5,
                    7
                  ]
                },
                "owner_id": {
                  "type": "integer",
                  "description": "The ID of the Pipedrive user who owns the product"
                },
                "add_time": {
                  "type": "string",
                  "description": "The date and time when the product was added"
                },
                "update_time": {
                  "type": "string",
                  "description": "The date and time when the product was last updated"
                },
                "description": {
                  "type": "string",
                  "description": "The description of the product"
                },
                "category": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The category of the product"
                },
                "custom_fields": {
                  "type": "object",
                  "description": "An object where each key represents a custom field. All custom fields are referenced as randomly generated 40-character hashes. To clear a custom field value, set it to `null`. For multi-option fields (field type `set`), use `null` to clear the selection — sending an empty array `[]` is not supported and will result in a validation error.",
                  "additionalProperties": true
                },
                "billing_frequency": {
                  "type": "string",
                  "description": "Only available in Growth and above plans How often a customer is billed for access to a service or product",
                  "default": "one-time",
                  "enum": [
                    "one-time",
                    "annually",
                    "semi-annually",
                    "quarterly",
                    "monthly",
                    "weekly"
                  ]
                },
                "billing_frequency_cycles": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "Only available in Growth and above plans The number of times the billing frequency repeats for a product in a deal When `billing_frequency` is set to `one-time`, this field must be `null` When `billing_frequency` is set to `weekly`, this field cannot be `null` For all the other values of `billing_frequency`, `null` represents a product billed indefinitely Must be a positive integer less or equal to 208",
                  "default": null
                },
                "prices": {
                  "type": "array",
                  "description": "The prices of the product in different currencies",
                  "items": {
                    "type": "object",
                    "properties": {
                      "product_id": {
                        "type": "integer",
                        "description": "The ID of the product"
                      },
                      "price": {
                        "type": "number",
                        "description": "The price of the product"
                      },
                      "currency": {
                        "type": "string",
                        "description": "The currency of the price"
                      },
                      "cost": {
                        "type": "number",
                        "description": "The cost of the product"
                      },
                      "direct_cost": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "The direct cost of the product"
                      },
                      "notes": {
                        "type": "string",
                        "description": "The notes about the price"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "required": [],
              "additionalProperties": false
            }
          },
          "additional_data": {
            "type": "object",
            "description": "Pagination related data",
            "properties": {
              "next_cursor": {
                "type": "string",
                "description": "The first item on the next page. The value of the `next_cursor` field will be `null` if you have reached the end of the dataset and there’s no more pages to be returned."
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Pipedrive provider guide](/docs/providers/pipedrive/guide)
* [SDK V2 quickstart](/docs/sdk-v2/quickstart)
* [SDK reference](/docs/sdk-v2/sdk-reference)
* [Run tools across a CSV](/docs/sdk-v2/batch-csv)
