Getting started with QuoteCloud

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.

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.

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

  1. When Google SheetsTriggerNew Spreadsheet RowFires for each new row added to the bottom of the Requests worksheet.Passes on
    • Names
    • Email
    • Address
    • Roof
    • System
    • System price
    • Battery
    • Battery price
  2. Then QuoteCloudSearchFind or Create ContactFinds the contact by exact email, or creates it.Searches on
    • Email Address
    • First Name
    • Last Name
  3. Then QuoteCloudActionCreate 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
  4. Then QuoteCloudActionAdd Document RecipientMapped in
    • Document Number
    • Existing Contact
    • Recipient Role
  5. 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 QuoteCloud

The row goes in, the proposal comes out

Row 9 of the Requests sheet, beside the draft TS-2681 it created.

Tallowwood Solar & StorageSolar & battery proposal TS-2681 Sample · fictional business

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

ItemQtyRateAmount
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
Deposit on signing (15%)
$2,626.80
Data items and three price-table rows from row 9. The bird mesh is the template's option for the Ngatas to tick.

Zap

  1. New Spreadsheet Row
  2. Create Document
  3. Update Spreadsheet Row
Tallowwood · Proposal requestsGoogle Sheets · our illustration, not Google’s screen Illustration · sample data
Tallowwood's Proposal requests sheet: one row per home with the names, email, address, roof, system, battery and consultant. Row 9, Harriet and Joel Ngata, starts a Zap.
NamesEmailAddressSystemBatteryDocument
Ruth Abernethyruth.abernethy@example.com41 Coolabah RoadExisting 5 kW10 kWhTS-2631
Mei & Tom Vargamei.varga@example.com9 Ironbark Close6.6 kW13.5 kWhTS-2622
Harriet & Joel Ngata (row added by a Zap)harriet.ngata@example.com14 Banksia Rise6.6 kW10 kWhTS-2681
  • Requests
  • Packages

Row added by a Zap

The Requests sheet: row 9 typed by the office, its Document column filled by the 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.

Sheet row to proposal: Google Sheets columns and where they land in QuoteCloud
Google Sheets: Google Sheets columnDirectionQuoteCloud: QuoteCloud fieldGoes intoExample (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
Email 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.
Work out the per-document fee
Tallowwood · Proposal requestsGoogle Sheets · our illustration, not Google’s screen Illustration · sample data
Tallowwood's Proposal requests sheet: one row per home with the names, email, address, roof, system, battery and consultant. Row 9, Harriet and Joel Ngata, starts a Zap.
NamesEmailAddressSystemBatteryDocument
Ruth Abernethyruth.abernethy@example.com41 Coolabah RoadExisting 5 kW10 kWhTS-2631
Mei & Tom Vargamei.varga@example.com9 Ironbark Close6.6 kW13.5 kWhTS-2622
Harriet & Joel Ngataharriet.ngata@example.com14 Banksia Rise6.6 kW10 kWhTS-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 Google Sheets questions

More on QuoteCloud and Google Sheets

Six use cases with the exact Zapier steps, then how to connect, test and what it costs.

Type the row. Check the draft.

Start a free 14-day trial, prepare one template and build the Zap with a test row.