Templates / Automate quote request processing with Tally, Airtable, Slack, and Gmail

Automate quote request processing with Tally, Airtable, Slack, and Gmail

Ready for 3.0

by Baptiste Fort ✓ · 1,067 views · created 2025-06-29 · Lead Generation

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.

Nodes used (6)

GmailAirtableSlack

What it does

What if your quote requests managed themselves? Every quote request is a potential deal — but only if it's handled quickly, properly, and without things falling through the cracks. What if instead of copy-pasting emails and pinging teammates manually, your entire process just... ran itself? This automation makes it happen: it captures form submissions, notifies your sales team on Slack, stores leads in Airtable, and sends an email confirmation to the client — all in one seamless n8n flow. --- ⚙️ Tools used Tally – to collect client quote requests n8n – to automate everything, no code needed Airtable – to store leads and track status Slack – to instantly notify your sales team Gmail – to confirm the request with the client --- 🧩 Flow structure overview 1. Trigger from a Tally form using a webhook 2. Extract and format the data 3. Create a new record in Airtable 4. Send a message to Slack 5. Wait 5 minutes 6. Send an email confirmation via Gmail --- 📥 Step 1 – Webhook (Tally) This node listens for incoming quote requests from the Tally form. HTTP Method: POST Path: /Request a Quote Authentication: None Respond: Immediately The data arrives as an array inside body.data.fields. Each field has a label and a value that we’ll need to map manually. --- 🧹 Step 2 – Edit Fields (Set) This step extracts usable values from the raw form data. Example mapping: Name = {{ $json.body.data.fields0.label }} Email Address = {{ $json.body.data.fields1.value }} Type of Service Needed = {{ $json.body.data.fields2.value }} Estimated Budget = {{ $json.body.data.fields3.value }} Preferred Timeline = {{ $json.body.data.fields4.value }} Additional Details or Questions = {{ $json.body.data.fields5.value }} --- 📊 Step 3 – Create record in Airtable We send the cleaned fields into a database (CRM) in Airtable. Operation: Create Base & Table: Request a Quote - Airtable Base Mapping: Manual field-to-column matching Each quote submission becomes a new record with all project details. --- 📣 Step 4 – Send a message to Slack This node notifies your sales team immediately in a Slack channel. Message format: :new: New quote request received! 👤 Name: {{ $json.fields.Name }} 📧 Email: {{ $json.fields.Email }} 💼 Service: {{ $json.fields"Type of Service" }} 💰 Budget: {{ $json.fields"Estimated Budget (€)" }} ⏱️ Timeline: {{ $json.fields"Preferred Timeline" }} 📝 Notes: {{ $json.fields"Additional Details" }} --- ⏳ Step 5 – Wait 5 minutes This node simply delays the email by 5 minutes. Why? To give a human salesperson time to reach out manually before the automated confirmation goes out. It adds a personal buffer. --- 📧 Step 6 – Send confirmation via Gmail To: {{ \$('Edit Fields').item.json\"Email Address" }} Subject: Thanks for your quote request 🙌 Email Type: HTML Message body: Hi {{ $('Edit Fields').item.json.Name }}, Thanks a lot for your quote request — we’ve received your information! Our team will get back to you within the next 24 hours to discuss your project. Talk soon, — The WebExperts Team --- ✅ Final result With this automation in place: The client feels acknowledged and taken seriously Your team gets notified in real time You store everything in a clean, structured database All this without writing a single line of backend code. It’s fast, scalable, and business-ready.

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.