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

⚑ 906 views · 🎣 Lead Generation & Enrichment

Description

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


🧩 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.

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.fields[0].label }}
Email Address = {{ $json.body.data.fields[1].value }}
Type of Service Needed = {{ $json.body.data.fields[2].value }}
Estimated Budget = {{ $json.body.data.fields[3].value }}
Preferred Timeline = {{ $json.body.data.fields[4].value }}
Additional Details or Questions = {{ $json.body.data.fields[5].value }}

πŸ“Š Step 3 – Create record in Airtable

We send the cleaned fields into a database (CRM) in Airtable.

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

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:

All this without writing a single line of backend code. It’s fast, scalable, and business-ready.

πŸ”— Nodes Used

Airtable, Slack, Webhook, Gmail

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup