> ## 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: Add Product Field

> Create one product field. Includes SDK V2 and CLI requests, input constraints, response fields, and Deepline credit cost.

Create one product field.

<Info>
  Tool ID: `pipedrive_add_product_field`
</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_add_product_field',
  {
    "field_name": "Example",
    "field_type": "varchar"
  },
);

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

### CLI

```bash theme={null}
deepline tools execute pipedrive_add_product_field --input '{
  "field_name": "Example",
  "field_type": "varchar"
}' --json
```

## Example response

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

```json theme={null}
{
  "data": {
    "success": true,
    "data": {
      "field_name": "Example",
      "field_code": "example",
      "field_type": "int",
      "is_custom_field": true,
      "is_optional_response_field": true
    }
  }
}
```

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

## Input reference

Creates a new product custom field.

| Name                    | Type                                                                                                                                                                                          | Required | Default | Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.field_name`    | `string`                                                                                                                                                                                      | Yes      | —       | Field name Minimum length: 1. Maximum length: 255.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `payload.field_type`    | `"varchar" \| "text" \| "double" \| "phone" \| "date" \| "daterange" \| "time" \| "timerange" \| "set" \| "enum" \| "varchar_auto" \| "address" \| "monetary" \| "org" \| "people" \| "user"` | Yes      | —       | The type of the field Value Description `varchar` Text (up to 255 characters) `varchar_auto` Autocomplete text (up to 255 characters) `text` Long text (up to 65k characters) `double` Numeric value `monetary` Monetary field (has a numeric value and a currency value) `date` Date (format YYYY-MM-DD) `set` Options field with a possibility of having multiple chosen options `enum` Options field with a single possible chosen option `user` User field (contains a user ID of another Pipedrive user) `org` See the live schema for the complete constraint. |
| `payload.options`       | `array`                                                                                                                                                                                       | No       | —       | Field options (required for enum and set field types)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `payload.ui_visibility` | `object`                                                                                                                                                                                      | No       | —       | UI visibility settings for the field. Controls where the field appears in the Pipedrive web UI. Note that products have a simpler visibility model than other entity types.                                                                                                                                                                                                                                                                                                                                                                                          |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Creates a new product custom field.",
    "properties": {
      "field_name": {
        "type": "string",
        "description": "Field name",
        "minLength": 1,
        "maxLength": 255
      },
      "field_type": {
        "type": "string",
        "description": "The type of the field Value Description `varchar` Text (up to 255 characters) `varchar_auto` Autocomplete text (up to 255 characters) `text` Long text (up to 65k characters) `double` Numeric value `monetary` Monetary field (has a numeric value and a currency value) `date` Date (format YYYY-MM-DD) `set` Options field with a possibility of having multiple chosen options `enum` Options field with a single possible chosen option `user` User field (contains a user ID of another Pipedrive user) `org` Organization field (contains an organization ID which is stored on the same account) `people` Person field (contains a person ID which is stored on the same account) `phone` Phone field (up to 255 numbers and/or characters) `time` Time field (format HH:MM:SS) `timerange` Time-range field (has a start time and end time value, both HH:MM:SS) `daterange` Date-range field (has a start date and end date value, both YYYY-MM-DD) `address` Address field",
        "enum": [
          "varchar",
          "text",
          "double",
          "phone",
          "date",
          "daterange",
          "time",
          "timerange",
          "set",
          "enum",
          "varchar_auto",
          "address",
          "monetary",
          "org",
          "people",
          "user"
        ]
      },
      "options": {
        "type": "array",
        "description": "Field options (required for enum and set field types)",
        "items": {
          "type": "object",
          "properties": {
            "label": {
              "type": "string",
              "description": "The option label"
            }
          },
          "required": [
            "label"
          ],
          "additionalProperties": false
        }
      },
      "ui_visibility": {
        "type": "object",
        "description": "UI visibility settings for the field. Controls where the field appears in the Pipedrive web UI. Note that products have a simpler visibility model than other entity types.",
        "properties": {
          "add_visible_flag": {
            "type": "boolean",
            "description": "Whether the field is shown in the add product modal. Default is false. Cannot be set to false for the 'name' system field.",
            "default": false
          },
          "details_visible_flag": {
            "type": "boolean",
            "description": "Whether the field is shown in the product details view. Default is true.",
            "default": true
          }
        },
        "additionalProperties": true
      }
    },
    "required": [
      "field_name",
      "field_type"
    ],
    "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       | —       | Whether the request was successful                                                                                                                                                                                                                                                                                                                                                                            |
| `result.data.data`                                    | `object`                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —       | —                                                                                                                                                                                                                                                                                                                                                                                                             |
| `result.data.data.field_name`                         | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                        | Yes      | —       | The display name/label of the field                                                                                                                                                                                                                                                                                                                                                                           |
| `result.data.data.field_code`                         | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                        | Yes      | —       | The unique identifier for the field (40-character hash for custom fields)                                                                                                                                                                                                                                                                                                                                     |
| `result.data.data.field_type`                         | `"int" \| "double" \| "boolean" \| "varchar" \| "text" \| "phone" \| "varchar_options" \| "varchar_auto" \| "date" \| "daterange" \| "time" \| "timerange" \| "enum" \| "set" \| "address" \| "monetary" \| "deal" \| "deals" \| "lead" \| "org" \| "people" \| "project" \| "stage" \| "user" \| "activity" \| "json" \| "picture" \| "status" \| "visible_to" \| "price_list" \| "billing_frequency" \| "projects_board" \| "projects_phase"` | Yes      | —       | The type of the field Allowed: `int`, `double`, `boolean`, `varchar`, `text`, `phone`, `varchar_options`, `varchar_auto`, `date`, `daterange`, `time`, `timerange`, `enum`, `set`, `address`, `monetary`, `deal`, `deals`, `lead`, `org`, `people`, `project`, `stage`, `user`, `activity`, `json`, `picture`, `status`, `visible_to`, `price_list`, `billing_frequency`, `projects_board`, `projects_phase`. |
| `result.data.data.options`                            | `array \| null`                                                                                                                                                                                                                                                                                                                                                                                                                                 | No       | —       | Array of available options for enum/set fields, null for other field types                                                                                                                                                                                                                                                                                                                                    |
| `result.data.data.options[].id`                       | `record`                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —       | The option ID (integer for custom fields, string for built-in fields)                                                                                                                                                                                                                                                                                                                                         |
| `result.data.data.options[].label`                    | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —       | The option display label                                                                                                                                                                                                                                                                                                                                                                                      |
| `result.data.data.options[].color`                    | `string \| null`                                                                                                                                                                                                                                                                                                                                                                                                                                | No       | —       | Optional color code for the option                                                                                                                                                                                                                                                                                                                                                                            |
| `result.data.data.options[].update_time`              | `string \| null`                                                                                                                                                                                                                                                                                                                                                                                                                                | No       | —       | When the option was last updated Format: `date-time`.                                                                                                                                                                                                                                                                                                                                                         |
| `result.data.data.options[].add_time`                 | `string \| null`                                                                                                                                                                                                                                                                                                                                                                                                                                | No       | —       | When the option was created Format: `date-time`.                                                                                                                                                                                                                                                                                                                                                              |
| `result.data.data.subfields`                          | `array \| null`                                                                                                                                                                                                                                                                                                                                                                                                                                 | No       | —       | Array of subfields for complex field types (address, monetary), null for simple field types                                                                                                                                                                                                                                                                                                                   |
| `result.data.data.subfields[].field_code`             | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —       | The subfield identifier                                                                                                                                                                                                                                                                                                                                                                                       |
| `result.data.data.subfields[].field_name`             | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —       | The subfield display name                                                                                                                                                                                                                                                                                                                                                                                     |
| `result.data.data.subfields[].field_type`             | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —       | The subfield type                                                                                                                                                                                                                                                                                                                                                                                             |
| `result.data.data.is_custom_field`                    | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                       | Yes      | —       | Whether this is a user-created custom field                                                                                                                                                                                                                                                                                                                                                                   |
| `result.data.data.is_optional_response_field`         | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                       | Yes      | —       | Whether this field is not returned by default in entity responses                                                                                                                                                                                                                                                                                                                                             |
| `result.data.data.ui_visibility`                      | `object`                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —       | UI visibility settings (only included when requested via include\_fields parameter)                                                                                                                                                                                                                                                                                                                           |
| `result.data.data.ui_visibility.add_visible_flag`     | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                       | No       | —       | Whether the field is shown in the add modal                                                                                                                                                                                                                                                                                                                                                                   |
| `result.data.data.ui_visibility.details_visible_flag` | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                       | No       | —       | Whether the field is shown in the details view (read-only)                                                                                                                                                                                                                                                                                                                                                    |
| `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": "Whether the request was successful"
          },
          "data": {
            "type": "object",
            "properties": {
              "field_name": {
                "type": "string",
                "description": "The display name/label of the field"
              },
              "field_code": {
                "type": "string",
                "description": "The unique identifier for the field (40-character hash for custom fields)"
              },
              "field_type": {
                "type": "string",
                "description": "The type of the field",
                "enum": [
                  "int",
                  "double",
                  "boolean",
                  "varchar",
                  "text",
                  "phone",
                  "varchar_options",
                  "varchar_auto",
                  "date",
                  "daterange",
                  "time",
                  "timerange",
                  "enum",
                  "set",
                  "address",
                  "monetary",
                  "deal",
                  "deals",
                  "lead",
                  "org",
                  "people",
                  "project",
                  "stage",
                  "user",
                  "activity",
                  "json",
                  "picture",
                  "status",
                  "visible_to",
                  "price_list",
                  "billing_frequency",
                  "projects_board",
                  "projects_phase"
                ]
              },
              "options": {
                "type": [
                  "array",
                  "null"
                ],
                "description": "Array of available options for enum/set fields, null for other field types",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "object",
                      "description": "The option ID (integer for custom fields, string for built-in fields)",
                      "additionalProperties": true
                    },
                    "label": {
                      "type": "string",
                      "description": "The option display label"
                    },
                    "color": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Optional color code for the option"
                    },
                    "update_time": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "When the option was last updated",
                      "format": "date-time"
                    },
                    "add_time": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "When the option was created",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "subfields": {
                "type": [
                  "array",
                  "null"
                ],
                "description": "Array of subfields for complex field types (address, monetary), null for simple field types",
                "items": {
                  "type": "object",
                  "properties": {
                    "field_code": {
                      "type": "string",
                      "description": "The subfield identifier"
                    },
                    "field_name": {
                      "type": "string",
                      "description": "The subfield display name"
                    },
                    "field_type": {
                      "type": "string",
                      "description": "The subfield type"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "is_custom_field": {
                "type": "boolean",
                "description": "Whether this is a user-created custom field"
              },
              "is_optional_response_field": {
                "type": "boolean",
                "description": "Whether this field is not returned by default in entity responses"
              },
              "ui_visibility": {
                "type": "object",
                "description": "UI visibility settings (only included when requested via include_fields parameter)",
                "properties": {
                  "add_visible_flag": {
                    "type": "boolean",
                    "description": "Whether the field is shown in the add modal"
                  },
                  "details_visible_flag": {
                    "type": "boolean",
                    "description": "Whether the field is shown in the details view (read-only)"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "field_name",
              "field_code",
              "field_type",
              "is_custom_field",
              "is_optional_response_field"
            ],
            "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)
