AutomationFlowsEmail & Gmail › Automated Form Response System with Google Sheets, Slack, Gmail & Contacts

Automated Form Response System with Google Sheets, Slack, Gmail & Contacts

ByAbdullah @abdullahmil on n8n.io

Automatically respond to Google Form entries submitted via Google Sheets. This workflow notifies your Slack team, sends a personalized Gmail response to the user, and adds the user to Google Contacts — all triggered instantly upon new row addition in your connected Sheet.

Event trigger★★☆☆☆ complexity4 nodesGmailSlackGoogle Sheets TriggerGoogle Contacts
Email & Gmail Trigger: Event Nodes: 4 Complexity: ★★☆☆☆ Added:

This workflow corresponds to n8n.io template #6087 — we link there as the canonical source.

This workflow follows the Gmail → Googlesheetstrigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "Fcfrid6ngpoXepqq",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "My workflow 3",
  "tags": [],
  "nodes": [
    {
      "id": "0598aff8-ffec-4b53-93fb-3ac7ceb6e526",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        440,
        -40
      ],
      "parameters": {
        "sendTo": "={{ $('Google Sheets Trigger').item.json.Email }}",
        "message": "=Hey  {{ $('Google Sheets Trigger').item.json.Name }}!\n\nWe see tha that your Problem is \"{{ $('Google Sheets Trigger').item.json.Description }}\"We got your query and our team is working on it. We assure you that the problem will be solved Really Soon.\n\nReach out to us in case of any help\n\nThank you\nRegards,\nN8n Team",
        "options": {},
        "subject": "Ticket Created.!",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "4c92f186-5abb-469d-bb7a-68acefab039b",
      "name": "Send a message1",
      "type": "n8n-nodes-base.slack",
      "position": [
        220,
        100
      ],
      "parameters": {
        "text": "=> Hello Team,A new entry has been added to the google sheets Node. The details are as follows.\nName : {{ $json.Name }}\nEmail : {{ $json.Email }}\nPhone Number : {{ $json['Phone Number']}}\nProblem Desc : {{ $json.Description }}\n\nPlease handle the client's request as stated in the problem.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "=C095F7HDKUL"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "63e9d67e-4a0f-41f2-9fd5-209abadbdcc3",
      "name": "Google Sheets Trigger",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -20,
        -40
      ],
      "parameters": {
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1xJn861StZtmTop8c2WBqf4SvGziT0use3zVCjT4n9-o/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1xJn861StZtmTop8c2WBqf4SvGziT0use3zVCjT4n9-o",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1xJn861StZtmTop8c2WBqf4SvGziT0use3zVCjT4n9-o/edit?usp=drivesdk",
          "cachedResultName": "Sheet Problem 1"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "81b76d73-f77b-4279-b9ab-a7988a0925ce",
      "name": "Create a contact",
      "type": "n8n-nodes-base.googleContacts",
      "position": [
        720,
        80
      ],
      "parameters": {
        "givenName": "={{ $('Google Sheets Trigger').item.json.Name }}",
        "familyName": "={{ $('Google Sheets Trigger').item.json.Name }}",
        "additionalFields": {
          "phoneUi": {
            "phoneValues": [
              {
                "type": "mobile",
                "value": "={{ \"\" + $('Google Sheets Trigger').item.json[\"Phone Number\"] }}\n"
              }
            ]
          }
        }
      },
      "credentials": {
        "googleContactsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3236b95c-d19f-43c3-b0fe-25e64a04f84f",
  "connections": {
    "Send a message": {
      "main": [
        [
          {
            "node": "Create a contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a message1": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Trigger": {
      "main": [
        [
          {
            "node": "Send a message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Automatically respond to Google Form entries submitted via Google Sheets. This workflow notifies your Slack team, sends a personalized Gmail response to the user, and adds the user to Google Contacts — all triggered instantly upon new row addition in your connected Sheet.

Source: https://n8n.io/workflows/6087/ — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Email & Gmail

Hiring teams often struggle with document follow-ups, offer letter generation, and stakeholder communication. Manual checks, email back-and-forth, and missing files slow down hiring and create chaos d

Google Sheets Trigger, HTTP Request, Slack +3
Email & Gmail

N_01_Simple_Lead_Tracker_Automation_v4. Uses googleSheetsTrigger, slack, gmail, hubspot. Event-driven trigger; 14 nodes.

Google Sheets Trigger, Slack, Gmail +1
Email & Gmail

This template is ideal for HR teams, startup founders, operations leads, remote-first companies, and freelancers managing onboarding manually or across multiple tools.

Google Sheets Trigger, Jira, HubSpot Trigger +7
Email & Gmail

This workflow sends an alert to the channel of your choice when an execution fails. Connect the tool where you want alerts to be sent (eg. Gmail, Slack, Teams, etc.) Save the workflow Turn on error no

Error Trigger, Gmail, Slack
Email & Gmail

Splitinbatches Workflow. Uses gmail, gmailTrigger, slack, stopAndError. Event-driven trigger; 7 nodes.

Gmail, Gmail Trigger, Slack +1