Skip to main content

Generate pro construction quotes from jotform to email with Supabase CRM

Workflow preview

Workflow preview
100%
Generate pro construction quotes from jotform to email with Supabase CRM preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Who it's for Construction and renovation businesses that need to generate detailed quotes from customer inquiries—plasterers, painters, contractors, renovation specialists, or any construction serv...

Best for

  • CRM automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.webhook, n8n-nodes-base.splitout, n8n-nodes-base.stopanderror, n8n-nodes-base.manualtrigger, n8n-nodes-base.stickynote, n8n-nodes-base.set, n8n-nodes-base.supabase, n8n-nodes-base.code

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Stephan Koning.

Original n8n.io source

1.1 Workflow description

Title
Generate pro construction quotes from jotform to email with Supabase CRM
Workflow name
Generate pro construction quotes from jotform to email with Supabase CRM

Who it's for

Construction and renovation businesses that need to generate detailed quotes from customer inquiries—plasterers, painters, contractors, renovation specialists, or any construction service provider handling quote requests through online forms.

What it does

Automatically transforms JotForm submissions into professional, itemized construction quotes with complete CRM tracking—no subscription needed (saving €200-500/year). When a customer fills your project request form (specifying wall/ceiling areas, finish types, ceiling heights, wet areas, prep work), the workflow extracts measurements, normalizes service selections, applies intelligent pricing rules from your Supabase catalog, calculates line items with material and labor costs plus proper VAT handling, stores everything in a structured CRM pipeline (customer → project deal → estimate), and generates a branded HTML email ready for delivery.

This self-hosted pricing engine replaces paid invoicing software for quote generation, saving thousands over time while eliminating manual takeoffs and quote preparation—

from 30-60 minutes to under 30 seconds.

How it works

Stage 1: JotForm webhook triggers → Parser extracts project data (m² measurements, service types, property details) → Normalize Dutch construction terms to database values → Save raw submission for audit trail

Stage 2: Upsert customer record (idempotent on email) → Create project deal → Link to form submission

Stage 3: Fetch active pricing rules → Calculate line items based on square meters, service type (smooth plaster vs decorative), ceiling height premiums, property status (new build vs renovation), wet area requirements → Apply conditional logic (high ceilings = price multiplier, prep work charges, finish level) → Group duplicate items → Save estimate header + individual lines

Stage 4: Query optimized view (single call, all data) → Generate professional HTML email with logo, itemized services table (description, m², unit price, totals), VAT breakdown, CTA buttons, legal disclaimer

Setup requirements

  • Supabase account (free tier sufficient) - Database for CRM + pricing catalog
  • JotForm account (free tier works) - Form builder with webhook support
  • Email service - Gmail, SendGrid, or similar (add your own email node)

How to set up

1. Database setup (2 minutes):

  • Run this workflow's "SQL Generator" node to output complete schema
  • Copy output → Paste in Supabase SQL Editor → Click Run
  • Creates 9 tables + 1 optimized view + sample construction services (plastering €21-32/m², painting €12-15/m², ornamental work, ceiling finishes)

2. Credentials:

  • Add Supabase credentials to n8n (Project URL + Service Role Key from Supabase Settings → API)
  • No JotForm credentials needed (uses webhook)

3. JotForm webhook:

  • Clone demo construction form: jotform stucco planet demo- Form fields: Property type, postcode, services needed, wall/ceiling m², finish level, ornament quantities, molding meters, wet areas, ceiling heights, prep removal, start date, customer contact
  • Settings → Integrations → Webhooks → Add your n8n webhook URL
  • Test with preview submission

4. Customize email:

  • Update company info in "Generate Email HTML" node (logo, business address, contact details, Chamber of Commerce number, VAT number)
  • Adjust colors/branding in HTML template
  • Available in Dutch and English versions

How to customize

Add your construction services: Edit price_catalog table in Supabase (no code changes):

INSERT INTO price_catalog (item_code, name, unit_price, vat_rate, unit_type) 
VALUES ('DRYWALL_INSTALL', 'Drywall Installation', 18.50, 9, 'm²');

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Webhook

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2

Block 2 - Split Out

Type / Role
n8n-nodes-base.splitOut - splitOut
Config choices
Version 1

Block 3 - upsert form submission -error

Type / Role
n8n-nodes-base.stopAndError - stopAndError
Config choices
Version 1

Block 4 - upsert form customer -error

Type / Role
n8n-nodes-base.stopAndError - stopAndError
Config choices
Version 1

Block 5 - When clicking ‘Test workflow’

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 6 - Stage 1: Webhook Processing

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Stage 2: CRM Insert

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 8 - Stage 3: Quote Generation

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - Parser

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 10 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Save Form Submission

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 12 - Upsert Customer

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 13 - Create Deal

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 14 - Fetch Pricing Rules

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 15 - Calculate Quote Line Items

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 16 - Save Estimate Header

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 17 - Insert Line Items

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 18 - Prepare Line Item Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 19 - Fetch Complete Quote

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 20 - Generate Email HTML

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 21 - Fetch Mapping Rules

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 22 - Prepare AI Context

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 23 - Normalize Form Data

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 24 - Stage 3: Quote Generation1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Showing the first 24 of 27 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Generate pro construction quotes from jotform to email with Supabase CRM
Complexity advanced
Nodes 27
Categories CRM
Author Stephan Koning
Published 14 Oct 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/9608/9608.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate pro construction quotes from jotform to email with Supabase CRM do?

Who it's for Construction and renovation businesses that need to generate detailed quotes from customer inquiries—plasterers, painters, contractors, renovation specialists, or any construction serv...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your CRM use case.