Angebot angefordert? Tally sendet, Airtable zeichnet auf, Slack erinnert, Gmail bedankt.

Fortgeschritten

Dies ist ein Lead Generation-Bereich Automatisierungsworkflow mit 13 Nodes. Hauptsächlich werden Set, Wait, Gmail, Slack, Webhook und andere Nodes verwendet. Automatisierung der Bearbeitung von Angebotanfragen durch Tally, Airtable, Slack und Gmail

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
  • Slack Bot Token oder Webhook URL
  • HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
  • Airtable API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "wOhPQ3JzlrQMFgRa",
  "meta": {
    "instanceId": "e95c8554b03e2c16a5c8c44cc7d45f6192b966fba75d5438d1201989ceff13e2",
    "templateCredsSetupCompleted": true
  },
  "name": "A quote request? Tally sends it, Airtable logs it, Slack alerts, Gmail thanks.",
  "tags": [],
  "nodes": [
    {
      "id": "327dd9ab-9ca2-46d8-a513-676da8f69458",
      "name": "Warten",
      "type": "n8n-nodes-base.wait",
      "position": [
        1720,
        1060
      ],
      "webhookId": "f9c8eafb-ecaa-4b32-a6b5-fb10dbee1f19",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "1023020f-48bd-4266-a92a-ad3fb2caccfe",
      "name": "Webhook-Trigger : Tally",
      "type": "n8n-nodes-base.webhook",
      "position": [
        620,
        1060
      ],
      "webhookId": "2eefd271-2928-42a7-98ef-7fc65524a950",
      "parameters": {
        "path": "Request a Quote",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "8e13c8f4-d052-4b60-ac8e-b86b37072304",
      "name": "GMAIL : Nachricht senden",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1980,
        1060
      ],
      "webhookId": "38134cd8-0b71-4d19-bab4-3c473cb35f47",
      "parameters": {
        "sendTo": "={{ $('Edit Fields').item.json['Email Address'] }}",
        "message": "=Hi {{ $('Edit Fields').item.json.Name }} ,\n\nThanks a lot for your quote request — we’ve received your information!\n\nOur team will get back to you within the next 24 hours to discuss your project.\n\nTalk soon,  \n— The WebExperts Team",
        "options": {},
        "subject": "Thanks for your quote request 🙌"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "FKD43HaVeVoUXOi0",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b6845fe9-3c43-4ce9-9323-d563d6abda72",
      "name": "Felder bearbeiten",
      "type": "n8n-nodes-base.set",
      "position": [
        900,
        1060
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "95bdaad3-0b5e-44a4-bbd3-060d425d7b68",
              "name": "Name",
              "type": "string",
              "value": "={{ $json.body.data.fields[0].label }}"
            },
            {
              "id": "479970d8-e639-463a-bf7a-5f8d55cd65b2",
              "name": "Email Address",
              "type": "string",
              "value": "={{ $json.body.data.fields[1].value }}"
            },
            {
              "id": "ce6234c2-ceff-4191-8942-55a88dc47c77",
              "name": "Type of Service Needed",
              "type": "string",
              "value": "={{ $json.body.data.fields[2].value }}"
            },
            {
              "id": "d2cb542d-1145-466b-93b4-4e377ecc1334",
              "name": " Estimated Budget",
              "type": "string",
              "value": "={{ $json.body.data.fields[3].value }}"
            },
            {
              "id": "e375ee00-745c-472a-862c-dfae10867d3f",
              "name": "Preferred Timeline",
              "type": "string",
              "value": "={{ $json.body.data.fields[4].value }}"
            },
            {
              "id": "0165025d-aee9-4853-ae94-314644aab9e1",
              "name": "Additional Details or Questions",
              "type": "string",
              "value": "={{ $json.body.data.fields[5].value }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b985ff1a-137e-41f1-ae28-1778d834c44c",
      "name": "Eintrag erstellen",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1180,
        1060
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appZ7CtNukjbwxDap",
          "cachedResultUrl": "https://airtable.com/appZ7CtNukjbwxDap",
          "cachedResultName": "Request A Quote - Airtable Base"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblcS0ZQeEo4dC1Iv",
          "cachedResultUrl": "https://airtable.com/appZ7CtNukjbwxDap/tblcS0ZQeEo4dC1Iv",
          "cachedResultName": "Request A Quote - Airtable Base"
        },
        "columns": {
          "value": {
            "Name": "={{ $json.Name }}",
            "Email": "={{ $json['Email Address'] }}",
            "Type of Service": "={{ $json['Type of Service Needed'] }}",
            "Additional Details": "={{ $json['Additional Details or Questions'] }}",
            "Preferred Timeline": "={{ $json['Preferred Timeline'] }}",
            "Estimated Budget (€)": "={{ $json[' Estimated Budget'] }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Type of Service",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Type of Service",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Estimated Budget (€)",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Estimated Budget (€)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Preferred Timeline",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Preferred Timeline",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Additional Details",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Additional Details",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Submission Date",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Submission Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9QdKkMHsy4ojigs3",
          "name": "Airtable Personal Access Token account 2"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "ebf0387d-2614-4911-a09b-7373b1675fae",
      "name": "Nachricht senden",
      "type": "n8n-nodes-base.slack",
      "position": [
        1460,
        1060
      ],
      "webhookId": "fd880910-128a-47f8-98a6-c1b486d98381",
      "parameters": {
        "text": "=:new: *New quote request received!*\n\n*👤 Name: {{ $json.fields.Name }}\n*📧 Email: {{ $json.fields.Email }}\n*💼 Service: {{ $json.fields['Type of Service'] }}\n*💰 Budget: {{ $json.fields['Estimated Budget (€)'] }}\n*⏱️ Timeline: {{ $json.fields['Preferred Timeline'] }}\n*📝 Notes: {{ $json.fields['Additional Details'] }}\n",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C0945G1RY0Y",
          "cachedResultName": "nouveau-canal"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "Uw4BOaewm5FIDdQM",
          "name": "Slack account"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "be127bac-3d05-4600-8001-d8f0f5503a21",
      "name": "Notiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        1000
      ],
      "parameters": {
        "width": 380,
        "height": 220,
        "content": "**=== AUTOMATION OVERVIEW ===**\n\n**Workflow:** Tally → Airtable → Slack → Gmail  \n**Purpose:** Automatically process client quote requests\n\n*What if your quote requests managed themselves?*\n\nInstead of manually checking emails, notifying your team, and logging leads — this automation handles it all.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "05584140-fe6f-40d7-a76a-b721205b6bf5",
      "name": "Notiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        700
      ],
      "parameters": {
        "color": 2,
        "height": 520,
        "content": "**== STEP 1 – Webhook (Tally) ==**\n\n**Trigger:** When a user submits the quote form.  \n**Type:** POST Webhook  \n**Path:** `/Request a Quote`  \n**Authentication:** None  \n**Respond:** Immediately\n\nTally sends the form fields as an array in `body.data.fields`.  \nEach item contains a `label` and a `value`.\n\nWe’ll extract and map these manually in the next step.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ac694b26-7130-4e63-9a2d-a472f222861a",
      "name": "Notiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        840,
        440
      ],
      "parameters": {
        "color": 3,
        "height": 780,
        "content": "**== STEP 2 – Edit Fields ==**\n\n**Goal:** Convert raw array into usable fields.\n\nUse a Set node or Function with manual mapping:\n\n- `Name` = `{{ $json.body.data.fields[0].label }}`\n- `Email Address` = `{{ $json.body.data.fields[1].value }}`\n- `Type of Service Needed` = `{{ $json.body.data.fields[2].value }}`\n- `Estimated Budget` = `{{ $json.body.data.fields[3].value }}`\n- `Preferred Timeline` = `{{ $json.body.data.fields[4].value }}`\n- `Additional Details` = `{{ $json.body.data.fields[5].value }}`\n\nThis prepares clean variables for Airtable, Slack and Gmail.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ea91126b-5f69-4361-a275-7e4cb5d90242",
      "name": "Notiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        420
      ],
      "parameters": {
        "color": 4,
        "width": 220,
        "height": 800,
        "content": "**== STEP 3 – Create Airtable Record ==**\n\n**Base:** Request a Quote - Airtable Base  \n**Operation:** Create  \n**Table:** Same name  \n**Mode:** Map Each Column Manually\n\n**Mapped fields:**\n- Name → `{{ $json.Name }}`\n- Email → `{{ $json[\"Email Address\"] }}`\n- Service → `{{ $json[\"Type of Service Needed\"] }}`\n- Budget → `{{ $json[\"Estimated Budget\"] }}`\n- Timeline → `{{ $json[\"Preferred Timeline\"] }}`\n- Notes → `{{ $json[\"Additional Details\"] }}`\n\nEach request is now stored as a structured CRM lead.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "46ca2e9a-c1b1-4991-a015-5e2d8519d758",
      "name": "Notiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1400,
        600
      ],
      "parameters": {
        "color": 5,
        "width": 200,
        "height": 620,
        "content": "**== STEP 4 – Send Slack Notification ==**\n\n**Channel:** #sales (or any other)  \n**Message Type:** Simple text\n\n**Slack message:**\n:new: *New quote request received!*\n\n**👤 Name:** {{ Name }}  \n**📧 Email:** {{ Email }}  \n**💼 Service:** {{ Service }}  \n**💰 Budget:** {{ Budget }}  \n**⏱️ Timeline:** {{ Timeline }}  \n**📝 Notes:** {{ Notes }}\n\nOptionally include an Airtable link at the bottom.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7233ac5b-c4fb-4829-afbb-7473ec8bab47",
      "name": "Notiz5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1660,
        700
      ],
      "parameters": {
        "color": 6,
        "width": 200,
        "height": 520,
        "content": "**== STEP 5 – Wait Node ==**\n\n**Purpose:** Delay the confirmation email by 5 minutes.  \nThis allows a human to respond first if needed.\n\n**Settings:**\n- Resume After Time Interval\n- Wait Amount: 5\n- Wait Unit: Minutes\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e1528bd8-124a-49d5-a7f9-0d517598df70",
      "name": "Notiz6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1900,
        540
      ],
      "parameters": {
        "color": 7,
        "height": 680,
        "content": "**== STEP 6 – Send Email via Gmail ==**\n\n**To:** `{{ $('Edit Fields').item.json[\"Email Address\"] }}`  \n**Subject:** \"Thanks for your quote request 🙌\"  \n**Email Type:** HTML\n\n**Email Body:**\n\nHi `{{ $('Edit Fields').item.json.Name }}`,\n\nThanks a lot for your quote request — we’ve received your information!\n\nOur team will get back to you within the next 24 hours to discuss your project.\n\nTalk soon,  \n— The WebExperts Team\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "272c1246-fa67-493c-8f5c-5f26bdfce052",
  "connections": {
    "327dd9ab-9ca2-46d8-a513-676da8f69458": {
      "main": [
        [
          {
            "node": "8e13c8f4-d052-4b60-ac8e-b86b37072304",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b6845fe9-3c43-4ce9-9323-d563d6abda72": {
      "main": [
        [
          {
            "node": "b985ff1a-137e-41f1-ae28-1778d834c44c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ebf0387d-2614-4911-a09b-7373b1675fae": {
      "main": [
        [
          {
            "node": "327dd9ab-9ca2-46d8-a513-676da8f69458",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b985ff1a-137e-41f1-ae28-1778d834c44c": {
      "main": [
        [
          {
            "node": "ebf0387d-2614-4911-a09b-7373b1675fae",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook : Tally": {
      "main": [
        [
          {
            "node": "b6845fe9-3c43-4ce9-9323-d563d6abda72",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - Lead-Generierung

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes13
Kategorie1
Node-Typen7
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
Baptiste Fort

Baptiste Fort

@baptistefort

👋 I'm Baptiste Fort. What if automating was simply our way of taking back control in a world that's moving too fast? I build workflows that are simple, useful — sometimes invisible lol. Automation isn’t cheating. It’s just being one step ahead.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34