> ## 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 a custom product field in Pipedrive with its type and options. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Create a custom product field in Pipedrive with its type and options.

> [!NOTE]
>
> Tool ID: `pipedrive_add_product_field`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute pipedrive_add_product_field --input '{
  "field_name": "Example",
  "field_type": "varchar"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "success": true,
    "data": {
      "field_name": "Example",
      "field_code": "example",
      "field_type": "int",
      "is_custom_field": true,
      "is_optional_response_field": true
    }
  }
}
```

Use `deepline describe 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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "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](https://deepline.com/docs/providers/pipedrive/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.