Tool ID:
pipedrive_update_productRun this action
Use the TypeScript SDK for a single call. Putctx.tools.execute(...) inside a Play when the call should be durable, scheduled, or run across a CSV.
import { Deepline } from 'deepline';
const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
'pipedrive_update_product',
{
"id": 123
},
);
console.log(result.toolResponse.raw);
CLI
deepline tools execute pipedrive_update_product --input '{
"id": 123
}' --json
Example response
The SDK exposes this shape atresult.toolResponse.raw. Values below are representative.
{
"data": {
"success": true,
"data": {
"id": 123,
"name": "Example",
"code": "example"
}
}
}
deepline tools get pipedrive_update_product --json for the latest machine-readable contract.
Input reference
Updates product data.| Name | Type | Required | Default | Details |
|---|---|---|---|---|
payload.id | integer | Yes | — | The ID of the product |
payload.name | string | No | — | The name of the product. Cannot be an empty string |
payload.code | string | No | — | The product code |
payload.description | string | No | — | The product description |
payload.unit | string | No | — | The unit in which this product is sold |
payload.tax | number | No | 0 | The tax percentage |
payload.category | number | No | — | The category of the product |
payload.owner_id | integer | No | — | The ID of the user who will be marked as the owner of this product. When omitted, the authorized user ID will be used |
payload.is_linkable | boolean | No | true | Whether this product can be added to a deal or not |
payload.visible_to | 1 | 3 | 5 | 7 | No | — | Allowed: 1, 3, 5, 7. |
payload.prices | array | No | — | An array of objects, each containing: currency (string), price (number), cost (number, optional), direct_cost (number, optional). Note that there can only be one price per product per currency. When prices is omitted altogether, a default price of 0 and the user’s default currency will be assigned. |
payload.custom_fields | object | 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. |
payload.billing_frequency | "one-time" | "annually" | "semi-annually" | "quarterly" | "monthly" | "weekly" | No | — | 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. |
payload.billing_frequency_cycles | integer | No | — | 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 |
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 | object | No | — | — |
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.meta | object | No | — | Additional response metadata (status, paging). |
Deepline cost
- Pricing model:
fixed(per call). - Estimated Deepline credits:
0per pricing unit. - Provider-native pricing may still exist outside Deepline credit billing.