Templates / Generate construction bid estimates with Azure OpenAI, Google Docs and Sheets

Generate construction bid estimates with Azure OpenAI, Google Docs and Sheets

Ready for 3.0

by Rahul Joshi ✓ · 180 views · created 2026-06-16

Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.

What this workflow does

This AI workflow has 15 nodes and runs when someone submits an n8n form (“AI Bid Estimation — Upload Scope of Work”) (plus 1 other trigger). Along the way it connects Azure OpenAI Chat Model, Google Docs, Google Sheets and Gmail and 1 more.

How it runs

Trigger: When someone submits an n8n form (“AI Bid Estimation — Upload Scope of Work”) (plus 1 other trigger).

  1. Extract from File: extracts data from a file (pdf)
  2. Google Sheets: uses Google Sheets
  3. Slack: uses Slack
  4. AI Agent: runs an AI agent, with model: Azure OpenAI Chat Model
  5. Calculate Cost Per Item (Code): runs custom JavaScript code
  6. Parse Extracted Data (Code): runs custom JavaScript code
  7. Aggregate: combines items into one
  8. Build Bid Summary (Code): runs custom JavaScript code
  9. Google Docs: uses Google Docs
  10. Google Sheets: append

…plus 2 more steps. See the full node list below.

Services it uses

Azure OpenAI Chat ModelGoogle DocsGoogle SheetsGmailSlack

Before you upgrade to n8n 3.0

Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.

Nodes used (11)

From the author

Quick Overview This workflow collects a construction Scope of Work PDF via an n8n form, uses Azure OpenAI to extract BOQ-style line items, prices them using a Google Sheets unit-rate database, generates a formatted Google Docs bid report, logs the estimate to…

Excerpt from Rahul Joshi's description on n8n.io.

View the original on n8n.io → Check your own copy

Get the weekly “what broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.