I’ve had this working for years under API v1. With needing to migrate to v2 I can’t figure out a way to make it work.
In pipedrive I have all my products setup with a custom field that’s the Xero item code.
Previously I would just call “list all products attached to a deal” and it would return the products and the custom fields. I’d then use xero item code when generating a invoice.
Worked great for years!
Now when I list all products attached to the deal it’s not giving me the custom fields and I don’t think it’s possible to do so with requesting each product in pipedrive individually.
Hello @jbuesking ! I haven’t tested this specific case myself, but based on the Pipedrive v2 migration guide, the v2 endpoints now support a custom_fields parameter that lets you request specific fields back in the response.
You could try making a separate HTTP call to GET /api/v2/products/{id} and add the custom_fields parameter with your field key (the 40-character hash you find in Pipedrive under Settings > Data fields > Products). If it works, the flow in Make would be: get deal products, iterate over them, fetch each product individually with that call, pull the Xero item code from the response and pass it into Xero.
It’s an extra step compared to v1 but could be the cleanest solution available right now.
Yes, it’s looking like after pulling the list of products attached to the deal, I’ll then have pull each product individually to get the custom fields.
Prior in V1 I could get the products custom fields without individually calling each.
See attached image showing how V1 gave me the custom fields without calling each one individually.
It’s looking like I might have to put the xero product id in the default “comments” field. While rough it does pull the default fields when /api/{DEAL_ID}/products is called and we don’t use the comments field for anything.