Back to Pipedrive in Google Sheets
SheetXAI logo
Pipedrive logo
Pipedrive · Google Sheets Guide

Bulk Add Products to Pipedrive Deals From a Google Sheet

2026-05-15
5 min read

The Scenario

Your sales admin team received 50 signed quote sheets — PDFs converted to a Google Sheet, each row representing a product line from a quote. The sheet has deal_id, product_id, quantity, and price per line. Every one of those products needs to be attached to the corresponding Pipedrive deal before the order can move to billing.

You have done manual product-to-deal attachment in Pipedrive before. The UI is: open deal, click Products tab, click Add Product, search for the product by name, enter quantity and price, save. That is six steps per row. Fifty quotes with an average of eight line items each is 400 repetitions.

The bad version:

  • You start working through the sheet at 9 AM, opening deals in Pipedrive and attaching products one line at a time
  • On quote 12 you realize the product_ids in the sheet are from the old catalog — they map to different products in the current Pipedrive catalog
  • You pause to build a lookup table, realize four product IDs don't exist in Pipedrive at all, and send a Slack to the sales engineer asking for clarification

It is noon. You have completed 11 out of 50 quotes.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Google Sheet. It reads the quote lines and attaches products to deals in bulk — no tabbing between UI screens, no clicking Add Product 400 times.

For each row in the QuoteLines sheet (columns: deal_id, product_id, quantity, price), add the product to the corresponding Pipedrive deal using the quantity and price from the sheet. Write the returned attachment ID into column E.

What You Get

  • Every product line attached to its corresponding Pipedrive deal
  • The attachment ID written into column E for each successful row
  • ERROR written into column E for rows where the deal_id or product_id is not found in Pipedrive, so you can address those specifically without losing track of what succeeded

What If the Data Is Not Quite Ready

Some product_ids in the sheet don't exist in Pipedrive — you need to flag those before running

Check each row in QuoteLines: look up the product_id in column B in Pipedrive. Write EXISTS or NOT FOUND into column F. Then pause and let me review before attaching anything.

The price in the sheet includes a currency symbol and needs to be cleaned before attaching

For each row in QuoteLines, strip the currency symbol from the price in column D to get a numeric value. Then attach the product in column B to the deal in column A with the cleaned quantity from column C and cleaned price. Write the attachment ID into column E.

Multiple rows share the same deal_id and you want them grouped and attached together

Group the rows in QuoteLines by deal_id in column A. For each deal, attach all the products in that group — product_id from column B, quantity from column C, price from column D — in a single operation. Write the deal_id and total product lines attached into a summary tab called Attach Summary.

You need to clear existing products from a deal before attaching the new quote lines

For each unique deal_id in QuoteLines, first remove all existing products from the Pipedrive deal, then attach the new products from the sheet using product_id, quantity, and price. Write the result for each deal_id into a summary tab with columns for deal_id, products removed, products added, and status.

The pattern is to describe the full operation — cleanup first, then attach — in one prompt rather than two manual passes.

Try It

If you have a quote sheet with product lines ready to attach, Get the 7-day free trial of SheetXAI and ask it to run the bulk attachment. See the spoke on exporting organizations with pipeline value if you need an account-level summary of what's attached to deals by organization.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more