Create quotes from Google Sheets rows
When a row is added to your sheet, a Zap creates the document from your QuoteCloud template, with the row's details in data items and its package columns as price-table rows.
- 5/5 on G2
- 4.2 on Capterra
- Building QuoteCloud since 2013
Build a Zap with QuoteCloud's Zapier app, on Essentials and up. Google Sheets' New Spreadsheet Row trigger starts it, Find or Create Contact adds the client, and Create Document makes the document from your template, filling data items and price-table rows from the row's columns. Update Spreadsheet Row writes the document number back.
Last reviewed by the QuoteCloud team
Two overlapping panels with sample data. Behind, Tallowwood Solar & Storage's draft proposal TS-2681 for Harriet and Joel Ngata, created by a Zap from a sheet row: data items prepared for Harriet and Joel Ngata, site address 14 Banksia Rise, roof, consultant Nate Carrow and request row 9, and a price table with three rows from the sheet, a 6.6 kW system, a 10 kWh battery and installation, $15,920.00 plus tax, with the template's bird mesh to tick. In front, an illustration of Tallowwood's Proposal requests sheet with row 9, the Ngatas, just added.
Data items filled by the Zap
Prepared for- Harriet & Joel NgataFrom Google Sheets · Names
Site address- 14 Banksia RiseFrom Google Sheets · Address
Roof- Tiled, north and west facesFrom Google Sheets · Roof
Consultant- Nate CarrowFrom Google Sheets · Consultant
Request row- 9From Google Sheets · Row ID
Your system, priced
| Item | Qty | Rate | Amount |
|---|---|---|---|
| From your request (rows added by the Zap) | $15,920 | ||
6.6 kW system: 15 × 440 W panels + 5 kW hybrid inverterMono panels, 25-year product warranty
|
1 system | $5,940 | $5,940.00 |
Quolla battery, 2 × 5 kWh modules (10 kWh)Includes backup gateway
|
1 system | $8,130 | $8,130.00 |
Installation, switchboard work & monitoringLicensed installers, one day on site
|
1 job | $1,850 | $1,850.00 |
| Add if you'd like (from the template) Tick to add | |||
Bird mesh around the arrayKeeps birds from nesting under the panels
|
1 job | $420 | $420.00 |
- Subtotal
- $15,920.00
- Tax (10%)
- $1,592.00
- Total
- $17,512.00
- Plus, monthly
- $0.00/mo
- Deposit on signing (15%)
- $2,626.80
| A | B | C | D | E | F | |
| 6 | Names | Address | System | Battery | Document | |
|---|---|---|---|---|---|---|
| 7 | Ruth Abernethy | ruth.abernethy@example.com | 41 Coolabah Road | Existing 5 kW | 10 kWh | TS-2631 |
| 8 | Mei & Tom Varga | mei.varga@example.com | 9 Ironbark Close | 6.6 kW | 13.5 kWh | TS-2622 |
| 9 | Harriet & Joel Ngata (row added by a Zap) | harriet.ngata@example.com | 14 Banksia Rise | 6.6 kW | 10 kWh | TS-2681 |
- Requests
- Packages
Row added by a Zap
Why start the quote from a sheet row?
Tallowwood Solar & Storage's office keeps a Proposal requests sheet. After each site visit, Bree Okonkwo adds a row: the homeowners, their email and address, the roof, and the system and battery Nate Carrow recommended. Retyping that into a proposal was the slowest part of her day.
Now the row is the start of the proposal. A Zap creates it from Tallowwood's solar and battery template, puts the names, address and roof in data items, adds the system, battery and installation as price-table rows and writes the document number back on the row. Nate checks it and sends it.
- The template decides the content, the layout and the options; the row fills the details and the priced rows.
- Rows can wait as drafts for a person to check, or go out straight away with Create Document's Auto Send Document.
- The document number goes back on the row, so the sheet shows which requests have a proposal.
How does a new row become a proposal?
Five steps. Every name is the exact event you pick in Zapier.
ZapNew request row: draft the proposal
-
When
Google SheetsTriggerNew Spreadsheet RowFires for each new row added to the bottom of the Requests worksheet.Passes on- Names
- Address
- Roof
- System
- System price
- Battery
- Battery price
-
Then
QCQuoteCloudSearchFind or Create ContactFinds the contact by exact email, or creates it.Searches on
- Email Address
- First Name
- Last Name
-
Then
QCQuoteCloudActionCreate DocumentFrom your template. Data items from the row; three price-table rows into the table with API mode on.Mapped in
- Document Title
- Prepared for
- Site address
- Roof
- Table API Link Id
- Line Item Label
- Price
- Quantity
-
Then
QCQuoteCloudActionAdd Document RecipientMapped in
- Document Number
- Existing Contact
- Recipient Role
-
Then
Google SheetsActionUpdate Spreadsheet RowWrites the document number into the row's Document column.Mapped in- Row
- Document
Turn on API mode in the template's price table settings to get its Table API Link Id. Leave Replace Existing Pricing Table Rows off to keep the template's own rows, such as optional extras. The column map lists every field.
Bree adds the Ngatas as row 9 at 8:50 am on Monday. At 8:52 TS-2681 is a draft in QuoteCloud with their details, the three priced rows and the bird mesh option, Harriet added as the recipient, and TS-2681 in the row's Document column.
Result
A draft proposal from Tallowwood's template, filled and priced from the row a couple of minutes after it was typed.
Essentials and up · per-document fee for each document a Zap creates
How solar retailers price in QuoteCloudThe row goes in, the proposal comes out
Row 9 of the Requests sheet, beside the draft TS-2681 it created.
Data items filled by the Zap
Prepared for- Harriet & Joel NgataFrom Google Sheets · Names
Site address- 14 Banksia RiseFrom Google Sheets · Address
Roof- Tiled, north and west facesFrom Google Sheets · Roof
Consultant- Nate CarrowFrom Google Sheets · Consultant
Request row- 9From Google Sheets · Row ID
Your system, priced
| Item | Qty | Rate | Amount |
|---|---|---|---|
| From your request (rows added by the Zap) | $15,920 | ||
6.6 kW system: 15 × 440 W panels + 5 kW hybrid inverterMono panels, 25-year product warranty
|
1 system | $5,940 | $5,940.00 |
Quolla battery, 2 × 5 kWh modules (10 kWh)Includes backup gateway
|
1 system | $8,130 | $8,130.00 |
Installation, switchboard work & monitoringLicensed installers, one day on site
|
1 job | $1,850 | $1,850.00 |
| Add if you'd like (from the template) Tick to add | |||
Bird mesh around the arrayKeeps birds from nesting under the panels
|
1 job | $420 | $420.00 |
- Subtotal
- $15,920.00
- Tax (10%)
- $1,592.00
- Total
- $17,512.00
- Plus, monthly
- $0.00/mo
- Deposit on signing (15%)
- $2,626.80
Zap
- New Spreadsheet Row
- Create Document
- Update Spreadsheet Row
| A | B | C | D | E | F | |
| 6 | Names | Address | System | Battery | Document | |
|---|---|---|---|---|---|---|
| 7 | Ruth Abernethy | ruth.abernethy@example.com | 41 Coolabah Road | Existing 5 kW | 10 kWh | TS-2631 |
| 8 | Mei & Tom Varga | mei.varga@example.com | 9 Ironbark Close | 6.6 kW | 13.5 kWh | TS-2622 |
| 9 | Harriet & Joel Ngata (row added by a Zap) | harriet.ngata@example.com | 14 Banksia Rise | 6.6 kW | 10 kWh | TS-2681 |
- Requests
- Packages
Row added by a Zap
A Zap never ticks options or chooses content blocks: the bird mesh stays for the client to tick. The sheet is our illustration of a generic spreadsheet with sample data, not Google's screen.
Which columns fill which parts of the proposal?
What the Zap maps, with the sample values from row 9.
| Direction | QCQuoteCloud: QuoteCloud field | Goes into | Example (sample data) | Note | |
|---|---|---|---|---|---|
| Into the document (Create Document) | |||||
| Names + Address | Google Sheets to QuoteCloud | Document Title | Document field | Ngata · Solar & battery, 14 Banksia Rise |
Required. Build it from two columns. |
| Names | Google Sheets to QuoteCloud | Prepared for | Data item | Harriet & Joel Ngata |
|
| Address | Google Sheets to QuoteCloud | Site address | Data item | 14 Banksia Rise |
|
| Roof | Google Sheets to QuoteCloud | Roof | Data item | Tiled, north and west faces |
|
| Row ID (from the trigger) | Google Sheets to QuoteCloud | Request row | Data item | 9 |
Lets a later Zap find the row again. |
| Price-table rows (Create Document) | |||||
| System | Google Sheets to QuoteCloud | Line Item Label | Price-table column | 6.6 kW system: 15 × 440 W panels + 5 kW hybrid inverter |
|
| System price | Google Sheets to QuoteCloud | Price | Price-table column | 5940 |
A plain number: no $ sign or commas. |
| (typed in the Zap) | Google Sheets to QuoteCloud | Quantity · Row Type · Term Based Product | Price-table column | 1 · pricing · No |
Row Type and Term Based Product are required. |
| Battery, Battery price | Google Sheets to QuoteCloud | Second row: label, price | Price-table column | Quolla battery, 10 kWh · 8130 |
|
| Client and write-back | |||||
| Google Sheets to QuoteCloud | Email Address (Find or Create Contact) | Contact field | harriet.ngata@example.com |
Add Document Recipient adds that contact. | |
| Document | QuoteCloud to Google Sheets | Document number | Sheet column | TS-2681 |
Update Spreadsheet Row writes it back. |
Data item names are the ones in your template. All values are sample data.
One row at a time, or a batch of rows?
The Zap runs once for every new row, so the same recipe makes one proposal or many. Paste ten rows at the bottom of the sheet and Zapier picks each one up and creates ten documents, each from the template, each with its own client and rows.
Two things to plan for a batch. Every document a Zap creates carries the per-document fee, so check the volume with the cost calculator first. And leave Auto Send Document off until you've checked one, so a typo in the sheet doesn't reach ten clients.
- Add a Filter by Zapier step on a Ready column so half-typed rows wait.
- Use New Spreadsheet Row (Team Drive) when the sheet lives in a shared drive.
| A | B | C | D | E | F | |
| 6 | Names | Address | System | Battery | Document | |
|---|---|---|---|---|---|---|
| 7 | Ruth Abernethy | ruth.abernethy@example.com | 41 Coolabah Road | Existing 5 kW | 10 kWh | TS-2631 |
| 8 | Mei & Tom Varga | mei.varga@example.com | 9 Ironbark Close | 6.6 kW | 13.5 kWh | TS-2622 |
| 9 | Harriet & Joel Ngata | harriet.ngata@example.com | 14 Banksia Rise | 6.6 kW | 10 kWh | TS-2681 |
- Requests
- Packages
Variations for quotes from rows
A different trigger, a lookup, or the Make route.
Only when a row is ready
Use Updated Spreadsheet Row with the Status column as its trigger column, then Filter by Zapier on Status equals Ready.
Many lines per quote
Keep one row per product line in a second tab and look them all up into the price table.
Send straight away
Turn on Create Document's Auto Send Document with the email fields, or add Send Document after the recipient step.
Build it in Make instead
Bring your own: start a scenario with Make's own Google Sheets modules, then call QuoteCloud's API or Zapier endpoints through Make's built-in OAuth connection. No ready-made QuoteCloud app on Make.
Create your first quote from a row
QuoteCloud's Zapier app is on the Essentials plan and up. Start a free 14-day trial and test with one row addressed to @example.com.
Build the row-to-quote Zap in five steps
- 1
Prepare the template
Add data items such as Prepared for, Site address and Roof, and turn on API mode in the price table's settings to get its Table API Link Id.
- 2
Give the sheet a header row
One column per detail, with prices as plain numbers, and an empty Document column for the write-back.
- 3
Trigger on a new row
In Zapier choose Google Sheets' New Spreadsheet Row, the spreadsheet and the worksheet, then add Find or Create Contact.
- 4
Create the document
Add Create Document with the template, the title, the data items and the price-table rows, then Add Document Recipient and Update Spreadsheet Row.
- 5
Test, then turn it on
Add one test row with an @example.com email, check the draft in QuoteCloud and the number on the row, then switch the Zap on.
Questions about quotes from rows
Which parts of the quote can a sheet row fill?
The document title and subtitle, your template's data items, the recipient, and price-table rows with a label, notes, price, quantity, term, tax, discount and cost. The template decides the content blocks, the layout and any optional items; a Zap doesn't tick options or choose blocks.
Do the row's prices need a special format?
Yes: map plain numbers such as 5940, without a currency sign or commas, into Create Document's Price field. Format the column as a number in Google Sheets, or add a Formatter by Zapier step to clean the value before Create Document.
Will the template's own price rows be kept?
Yes, unless you turn on Replace Existing Pricing Table Rows. With it off, the Zap's rows are added to the table and the template's rows, such as optional extras, stay. With it on, the template's rows in that table are removed first.
Does every row cost a per-document fee?
Every row that creates a document does. Documents created through Zapier or the API carry US$2.00, $1.80 or $1.60 each by volume, and QuoteCloud's Zapier app needs the Essentials plan or higher. Rows the Zap filters out create nothing.
More on QuoteCloud and Google Sheets
Six use cases with the exact Zapier steps, then how to connect, test and what it costs.
- Log every quote event in Google SheetsSent, viewed, signed, paid and expired: each QuoteCloud event adds a row, and sheet formulas turn the log into a report.
- Keep a quote pipeline tracker in Google SheetsOne row per quote: a Zap adds it when the document is created and updates its status as it changes.
- Fill a price table from Google Sheets linesOne sheet row per product line: a Zap looks the lines up and adds them to the new quote's price table.
- Feed the product library from a Google Sheets price listKeep prices in the sheet you already maintain: a Zap creates or updates each QuoteCloud product from its row.
- Google Sheets or QuoteCloud's Spreadsheet block?Two different spreadsheets: your Google Sheet outside, the Spreadsheet block inside the quote, and how a Zap reaches each.
- Connect Google Sheets to QuoteCloud, step by stepCheck the plan, set up the sheet's header row, connect both apps in Zapier and test your first Zap.
- Google Sheets column mapWhich column each Zap on this site writes or reads, which way it travels and a sample value.
- Test and troubleshoot the Google Sheets ZapsTest with a copy of the sheet, then fix the usual problems: no row found, blank columns, duplicate documents.
- What QuoteCloud with Google Sheets can and can't doWhat the Zaps do, where they stop, Zapier or Make, and what we haven't confirmed yet.
- What the Google Sheets connection costsEssentials and up for Zapier, plus a fee only for documents a Zap or the API creates. Logging rows is free.
- FAQAnswers to the questions teams ask before connecting QuoteCloud and Google Sheets.
Type the row. Check the draft.
Start a free 14-day trial, prepare one template and build the Zap with a test row.
Quotes from Google Sheets rowsFree 14 days · no card
Start free trial