Getting started with QuoteCloud

Turn your website's form into a signable proposal

Keep the form on your own site, in your own design. Your server, or a Zap, turns each submission into a QuoteCloud proposal the client can sign and pay.

Keep the enquiry form on your own website. When it's submitted, your server calls QuoteCloud's API to create a proposal from a template, filling its data items and price-table rows from the answers, then adds the client as a recipient and sends it. Without code, a Zap can catch the form and do the same.

Last reviewed by the QuoteCloud team

Two overlapping panels with sample data. In front, Tidewell Pavilion's own website enquiry form as Hannah Lee filled it in: names Hannah Lee and James Okoro, Saturday 13 March 2027, 96 guests, the Boathouse Terrace, the Waterside Classic package. Behind, the QuoteCloud wedding reception proposal TP-2741 it became, with the package priced for 96 guests.

Why not just email a PDF back?

Tidewell Pavilion's website form used to land in an inbox. Someone copied the answers into a template, exported a PDF and emailed it the next morning, by which time the couple had asked two other venues.

Now the form posts to Tidewell's own server, which creates the proposal in QuoteCloud straight away: branded, priced for the guest count, and ready for Hannah and James to tick extras, sign and pay the deposit online.

  • Your form, your design, your validation: QuoteCloud never needs to be on the page.
  • One template per kind of enquiry; your code picks which.
  • Send it at once, or hold it as a draft for your team to check.

From the form to the proposal

Hannah's answers on Tidewell's site, and the proposal Tidewell's server created from them a moment later.

Check your date and get your proposal

We'll email a priced proposal for your day.

Your names
Hannah Lee & James Okoro
Email
hannah.lee@example.com
Event date
Saturday 13 March 2027
Guests
96
Space
The Boathouse Terrace
Package
Waterside Classic

Send my proposal

Sent to tidewell.example.com · enquiry ENQ-50418

Tidewell's own enquiry form, on Tidewell's own site. Sample data.

Your server

  1. Create Document
  2. Add Document Recipient
  3. Send Document
Tidewell PavilionWedding reception proposal TP-2741 Sample · fictional business

Data items filled from the enquiry

Event date
Saturday 13 March 2027From your system · event_date
Guests
96From your system · guests
Space
The Boathouse TerraceFrom your system · space
Enquiry ID
ENQ-50418From your system · id

Your reception · 96 guests

ItemQtyRateAmount
Food & beverages$17,280
Waterside Classic packagePer guest, from the enquiry's guest count
96 guests $118 $11,328.00
Premium beverages · 5 hoursSparkling, premium wine, beer, soft drinks
96 guests $62 $5,952.00
Ceremony, styling & music$3,750
Ceremony on the lawn60 chairs, arbour, signing table, wet-weather plan
1 lot $1,400 $1,400.00
Theming & stylingCentrepieces for 10 tables, candles and linen
1 lot $1,250 $1,250.00
DJ · 5 hoursCeremony music, first dance and dance floor
1 lot $1,100 $1,100.00
Extras · from the template Tick to add
Welcome cocktailOn arrival, per guest
96 guests $12 $1,152.00
Late-night grazing stationServed at 9.30 pm, per guest
96 guests $14 $1,344.00
Photo booth · 3 hoursProps and prints
1 lot $890 $890.00
Subtotal
$21,030.00
Tax (10%)
$2,103.00
Total
$23,133.00
Deposit to confirm your date (20%)
$4,626.60
TP-2741: the answers in data items, the package priced for 96 guests.

The extras stay in the template for the couple to tick. All data is fictional.

What does the form handler do?

Save the enquiry in your own system first, then make the create call with the template for that kind of event, the answers as data items and the rows your pricing rules produce. Keep the document number against the enquiry.

Run it on your server, never in the browser: the credential QuoteCloud issues must stay out of your web pages.

  • Validate the form before you create anything.
  • Store the document number with your record.
  • Thank the guest at once; the proposal follows by email.
Keep credentials on the server
Your server · form handlerTidewell Pavilion Sample code
Illustrative

Form handler

// Illustrative: your website's form handler (Node-style JavaScript).// QUOTECLOUD_API_URL and the credential come from QuoteCloud.app.post("/enquire", async (req, res) => {  const f = req.body; // the guest's answers  const enquiry = await enquiries.save(f);  const doc = await fetch(process.env.QUOTECLOUD_API_URL, {    method: "POST",    headers: {      "Content-Type": "application/json",      Authorization: process.env.QUOTECLOUD_CREDENTIAL    },    body: JSON.stringify({      template: templateFor(f.eventType), // one per event type      title: `${f.names}'s wedding reception`,      dataItems: { "Event date": f.date, Guests: f.guests,                   "Enquiry ID": enquiry.id },      tableId: "reception",      rows: rowsFor(f.package, f.guests) // your own price rules    })  }).then((r) => r.json());  await enquiries.link(enquiry.id, doc.documentNumber);  res.redirect("/thank-you"); // the proposal follows by email});

Illustrative. templateFor, rowsFor, enquiries and app are your own code; the endpoint, credential and field names come from QuoteCloud.

No server? Let a Zap catch the form

Point the form at a Zapier URL instead, and build the same steps without code.

ZapWebsite enquiry: create and send the proposal

  1. When Webhooks by ZapierTriggerCatch HookYour form posts its answers to the Zap's URL.Passes on
    • names
    • email
    • event_date
    • guests
    • package
  2. Then QuoteCloudSearchFind or Create ContactMatches the email exactly, or creates the contact.Searches on
    • Email Address
    • First Name
  3. Then QuoteCloudActionCreate DocumentFrom your template; data items and rows mapped from the answers.Mapped in
    • Document Title
    • Event date
    • Guests
    • Line Item Label
    • Quantity
    • Price
  4. Then QuoteCloudActionAdd Document RecipientMapped in
    • Document Number
    • Existing Contact
  5. Or QuoteCloudAction · optionalSend DocumentOr leave a draft for the team.Mapped in
    • Document Number
    • To

A form tool with its own Zapier app can start the Zap instead of Catch Hook. Make works too, as a scenario you build with QuoteCloud's API.

Tidewell's site has no server code to spare, so the form posts to a Zapier URL. The proposal still arrives in Hannah's inbox within a minute of the enquiry.

Result

The same proposal, created without code. Each document a Zap creates carries the per-document fee.

QuoteCloud's Zapier app: Essentials and up

The functions team's side of it

What else can your app show or change?

Small calls that put QuoteCloud's document into your own pages and portals.

  • A preview image of a page

    Get Document Page Preview renders a page as a fresh PNG and returns a secure URL valid for one hour, for a thumbnail in your portal.

  • The PDF, when it's signed

    Generate or Fetch Document PDF Link returns a short-lived secure link. Download the file straight away and keep it with your record.

  • Where it's up to

    Find Document Status returns the current status, so your page can say Sent, Viewed or Signed without anyone checking QuoteCloud.

  • Your images in the document

    Upsert Document Image copies an image into a named image block, by the API Link ID set in that block, such as a client's logo.

Build the template, then the form

Start a free 14-day trial, build the proposal template with data items, then connect your form.

Connect your website form in five steps

  1. Build the template

    One template per kind of enquiry, with data items for the answers and a price table named for API rows.

  2. Map the answers

    Decide which answer fills which data item, and which rows your pricing rules add.

  3. Write the handler

    Save the enquiry, call Create Document from your server, add the recipient and keep the document number. Or build the Zap.

  4. Send or hold

    Send it at once for standard enquiries, or leave a draft for your team to check.

  5. Listen for the result

    Use document events to confirm the booking when it's signed and paid.

Website form questions

Can a form on my website create a QuoteCloud proposal?

Yes. Your form posts to your own server, which calls QuoteCloud's API to create the proposal from a template with the answers in data items and price-table rows. Without code, the form can post to a Zap that runs QuoteCloud's Create Document, Add Document Recipient and Send Document.

Can I embed a QuoteCloud document in my own site?

Not as a documented feature. Your app can show a page preview image, valid for an hour, from Get Document Page Preview, show the status from Find Document Status, and send the client the document by email to open and sign. Ask us about anything beyond that for your build.

Should the API call run in the browser?

No. Make the call from your server, where the credential QuoteCloud issues stays private. The browser only posts the form to your own site. Putting the credential in a web page would let anyone who views the page create documents in your account.

Can the form use QuoteCloud's own forms instead?

Yes, inside a document. QuoteCloud's Form Builder, on Essentials and up, adds a form to a QuoteCloud document, and the Form Submitted on Document trigger fires when a recipient submits it. For a form on your own website, use your server or a Zap as this page shows.

More API questions

Your form. Their proposal, in a minute.

Start a free 14-day trial of QuoteCloud and connect your website's enquiry form.