How to Connect a Google Form to a Slack Channel Using Webhooks

Google Forms is an incredibly popular tool for collecting customer feedback, IT support tickets, and event registrations. However, by default, the only way to know if someone submitted a form is to manually check the attached Google Sheet or rely on slow email notifications. If your team uses Slack for daily communication, you can drastically improve response times by connecting your Google Form directly to a specific Slack channel. Every time a user hits “Submit,” a custom notification will instantly appear in Slack. You can achieve this using a simple, free Google Apps Script and a Slack Webhook.

Step 1: Generate a Slack Webhook URL

First, you need to tell Slack to open a secure “door” so Google can push messages into a specific channel.

  1. Open your Slack workspace in a web browser.
  2. Click on your workspace name in the top left corner, select Settings & administration, and then click Manage apps.
  3. In the App Directory search bar, type Incoming WebHooks and select it.
  4. Click Add to Slack.
  5. Choose the specific channel where you want the form notifications to appear (e.g., #support-tickets) and click Add Incoming WebHooks integration.
  6. Slack will generate a unique Webhook URL (it starts with https://hooks.slack.com/). Copy this entire URL; you will need it shortly.

Step 2: Add the Apps Script to Google Forms

Now, we need to add a small piece of code to your Google Form that triggers when a submission occurs.

  1. Open your Google Form in edit mode.
  2. Click the three vertical dots (More menu) in the top right corner.
  3. Select Script editor. A new tab will open showing the Google Apps Script interface.
  4. Delete any placeholder code in the editor and paste the following script:
function onSubmit(e) {
  var slackWebhookUrl = "PASTE_YOUR_SLACK_WEBHOOK_URL_HERE";
  
  var formResponse = e.response;
  var itemResponses = formResponse.getItemResponses();
  var message = "*New Form Submission!*\n";
  
  for (var i = 0; i < itemResponses.length; i++) {
    var itemResponse = itemResponses[i];
    message += "*" + itemResponse.getItem().getTitle() + ":* " + itemResponse.getResponse() + "\n";
  }
  
  var payload = {
    "text": message
  };
  
  var options = {
    "method": "post",
    "contentType": "application/json",
    "payload": JSON.stringify(payload)
  };
  
  UrlFetchApp.fetch(slackWebhookUrl, options);
}
  1. Replace the text PASTE_YOUR_SLACK_WEBHOOK_URL_HERE with the actual URL you copied from Slack in Step 1. (Keep the quotation marks around the URL).
  2. Click the Save icon (the floppy disk).

Step 3: Create the Form Trigger

Finally, you must tell Google to actually run this script every time the form is submitted.

  1. In the Apps Script editor, click on the Triggers icon (it looks like an alarm clock) on the left-hand menu.
  2. Click the blue + Add Trigger button in the bottom right corner.
  3. Set “Choose which function to run” to onSubmit.
  4. Set “Select event type” to On form submit.
  5. Click Save. Google will likely prompt you to authorize the script. Follow the security warnings and click “Allow.”

Your integration is now active. Open your live Google Form, submit a test response, and check your Slack channel. Within seconds, a cleanly formatted message containing all the form answers will appear in the chat.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.