Skip to content

Instantly share code, notes, and snippets.

@jpsilvashy
Last active November 17, 2020 17:28
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save jpsilvashy/f7e7ac5b8f34663079dff52274ab6b7b to your computer and use it in GitHub Desktop.
Save jpsilvashy/f7e7ac5b8f34663079dff52274ab6b7b to your computer and use it in GitHub Desktop.
Post Google Sheets form entries to Slack

Post Google Sheets form entries to Slack

By using Google Form's script editor, you can call Slack webhooks when form submissions are made. You can use this script to do things like creating a live feedback form for taking questions from an audience or notifying your team when someone signs up for an event.

Setup

First, be sure you're collecting the email address in the form:

'img'

Create a form script

Next, open the script editor:

'img'

Paste the contents of javascript file in this gist into the script editor:

'img'

You may need to authorize access to Google Docs:

'img'

Create a Slack app

Go To https://api.slack.com/apps and create a new app,

Next, create an "incoming webhook" for your app, and swap in a url for the SLACK_WEBHOOK_POST_URL in our script in the script editor.

Then you'll need to edit the forms "triggers" so that our onSubmit function is called when a new form response is recorded:

'img'

'img'

Once you create the trigger, you're all done!

// Put your Slack webhook here, make sure its connected to the correct channel
var SLACK_WEBHOOK_POST_URL = "https://hooks.slack.com/services/EXAMPLE";
function onSubmit(entry) {
// Get item submitted
var response = entry.response.getItemResponses();
// Email is always the first item
var data = entry.response.getRespondentEmail() + " | " + response[0].getResponse();
// Stringify payload
var payload = {
payload: '{"text": "' + data + '"}'
};
// Build request
var options = {
method: "post",
payload: payload
};
// Send to Slack
UrlFetchApp.fetch(SLACK_WEBHOOK_POST_URL, options);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment