RFQ Automation System
AI-Driven Procurement Intelligence
ABOUT THE PROJECT
Procurement is one of those processes that looks simple from the outside but falls apart at scale. A buyer needs quotes, so they draft an RFQ document by hand, dig through contacts to find the right suppliers, send individual emails, build a spreadsheet to track responses, manually chase everyone who hasn't replied, compare quotes line by line, and then write and send an award letter. Research puts the average procurement cycle at 6 to 10 weeks. Most of that time is not decision-making. It is coordination overhead.
I built this system to eliminate that overhead entirely. The idea was simple: everything that happens after a buyer decides what they need should be automatic. One form submission kicks off the entire pipeline. The system generates the RFQ brief, finds matching suppliers in Airtable, sends invitation emails with a rate limiter to avoid hitting Gmail's limits, receives and deduplication-checks incoming quotes, runs anomaly detection to flag prices that look out of place, automatically follows up with suppliers who have not responded, and closes the loop by generating a PDF award document and emailing it to the winning supplier. Every action is logged back to Airtable.
The hardest part of the build was not any single feature in isolation. It was making the entire chain hold together. RFQ creation, quote generation, quote mapping across records, anomaly checking, follow-up scheduling, database updates, and frontend state all had to stay in sync at every step. A quote submitted through a Tally form had to map correctly to the right RFQ record in Airtable, trigger the right anomaly check against the right historical data, update the right status fields, and reflect accurately on the frontend without any manual reconciliation. When one part of that chain used slightly different identifiers or wrote to a field in an unexpected format, everything downstream broke silently. Getting the data model consistent across n8n, Airtable, and the frontend so that each part of the workflow spoke the same language was the real engineering challenge of this project.
The stack is n8n for orchestration, Airtable as the primary database and record store, Tally for supplier quote submission forms, and Gmail API for all outgoing communication. The frontend is built in HTML, CSS, and JavaScript, and the whole thing is triggerable from the interface without opening n8n. User authentication is handled separately via Supabase.