The Problem
You made a Google Form for client inquiries, bookings, feedback, or job applications, and it works. The trouble is that nobody sees the responses. Google Forms can email you, but those emails get lost among everything else. If you and your team already work in Slack, it's easier to get a message in a channel every time someone submits the form.
This guide shows you how to set that up with Make.com (formerly Integromat) on its free plan. You don't need to write any code. Once it's running, each new response shows up in Slack as a short, readable message with the answers you choose.
What You Need
- A Google account that owns or can edit the form.
- A Google Form linked to a Google Sheet. In your form, open the Responses tab and click the option to link it to Sheets. Google creates a spreadsheet with a tab usually called Form Responses 1.
- A Slack workspace where you're allowed to add apps. Some company workspaces need admin approval.
- A free Make.com account. Sign up at make.com.
- At least one test response. Submit your own form once so the sheet has data to work with.
About the free plan: Make's free tier gives you a monthly allowance of operations (Make now calls them "credits") and limits how often scenarios can run. The shortest schedule on the free plan is usually every 15 minutes. These limits change from time to time, so check Make's pricing page for the current numbers.
Step-by-Step Setup
Step 1: Create a New Scenario
Log in to Make and click Create a new scenario. A "scenario" is Make's name for an automation. You'll see an empty canvas with a large plus button in the middle.
Step 2: Add the Google Sheets Trigger
You could look for a Google Forms module, but the most reliable method is to watch the spreadsheet your form writes to. Every response becomes a new row, so a new row means a new response.
- Click the plus button and search for Google Sheets.
- Choose the Watch New Rows trigger.
- Click Create a connection (or Add), sign in with your Google account, and allow access. Use the same account that owns the response spreadsheet.
- Fill in the settings:
- Search Method / Spreadsheet: Select your response spreadsheet from the list.
- Sheet Name: Pick the responses tab, usually Form Responses 1.
- Table contains headers: Set this to Yes. Row 1 holds your question titles, and Make uses them as field names.
- Row with headers: Keep the default (A1:Z1) unless your form has more than 26 questions.
- Limit: How many rows to process per run. 10 is a sensible number.
- Click OK. Make will ask where to start. Choose the option that starts from now on if you only want future responses. Choose an option that includes existing rows if you want to test with your earlier submission. Be careful: that will post every old row.
Step 3: Add the Slack "Create a Message" Module
- Hover over the right side of the Google Sheets module and click the small plus to add another module.
- Search for Slack and choose Create a Message.
- Create a Slack connection. Make will ask you to approve access in Slack. Depending on the connection type, messages will come from you or from a Make bot.
- Choose the channel. You can usually pick it from a list or enter a channel ID. Start with a public channel such as
#form-responses.
Step 4: Map the Form Fields into the Message
This part decides what your Slack message says. Click inside the Text field. A panel opens with the data from the Google Sheets module, and each item is one of your form's columns (Timestamp, Name, Email, and so on).
Type your message and click the fields to insert them where you want. For example:
*New form response* :inbox_tray:
*Name:* [Name]
*Email:* [Email]
*Service needed:* [Which service are you interested in?]
*Submitted:* [Timestamp]
In Make, each bracketed item is a clickable field chip you insert from the panel, not typed text. Slack uses single asterisks for bold, and pressing Enter in the text field adds a line break.
Tip: If the panel shows column letters (A, B, C) instead of question names, or shows no fields at all, run the trigger once (see Step 5). Make learns the data structure from a real run.
Step 5: Test the Scenario
- Click Save (the disk icon at the bottom).
- Submit a fresh test response to your Google Form.
- Back in Make, click Run once.
- Watch the modules. A small bubble with a number appears over each module that ran. Click a bubble to see the exact data that went in and out.
- Check your Slack channel. The message should be there.
If you see nothing, look at the error section below before changing anything.
Step 6: Schedule It and Turn It On
- Click the clock icon on the Google Sheets trigger, or open the scheduling settings at the bottom of the editor.
- Set it to run at regular intervals and pick a time between runs.
- Turn the scenario on with the toggle at the bottom left, then save.
Pick your interval with the free plan in mind. A polling trigger like Watch New Rows usually uses an operation every time it checks, even when there are no new rows. Checking every 15 minutes adds up to thousands of checks a month, which can be more than the free allowance. For most freelancers, checking every hour or two is a good middle ground. Keep an eye on your usage for the first week and adjust.
Common Errors and Fixes
1. Connection Expired or "invalid_grant"
Symptom: The scenario stops, and the log mentions an invalid, expired, or revoked connection. Cause: You changed your Google password, removed Make's access in your Google account's security settings, or the authorization timed out. Slack connections can also break if an app is removed from the workspace. Fix: Open Connections in Make's left menu, find the broken connection, and use the option to reauthorize it. Sign in again, then run the scenario once to confirm.
2. "No New Rows Found" (Runs, but Nothing Happens)
Symptom: The scenario runs successfully but processes nothing. Cause: The trigger remembers the last row it saw. If you set it to start "from now on" and no one has submitted since, there's nothing new to find. It can also happen after you delete rows from the sheet, because Make's row counter no longer matches. Fix: Submit a new test response and run again. To reset, right-click the trigger module and look for the option to choose where to start. Never delete or sort rows in the responses tab. If you want a cleaned-up view, make a copy in a separate tab.
3. Wrong Sheet or Tab
Symptom: Messages show old data, blank fields, or data from a different form. Cause: If you unlink and relink a form, Google often creates a new tab (Form Responses 2) or a new spreadsheet. Make keeps watching the old one. Fix: In the Google Form's Responses tab, check which spreadsheet it's linked to. Open the Make trigger and update the spreadsheet and sheet name to match. Run once to refresh the fields, then check your mapping in Slack.
4. Slack "channel_not_found" or "not_in_channel"
Symptom: The Slack module fails with one of these errors. Cause: The channel is private and the Make app or bot isn't a member, the channel was renamed or archived, or you connected Make to a different Slack workspace. Fix: In the Slack channel, invite the Make app (type /invite and pick the app). Or post to a public channel instead. If the channel was renamed or recreated, select it again in the module.
5. Duplicate Messages
Symptom: The same response is posted twice or more. Cause: You have two active scenarios watching the same sheet (easy to do if you cloned one while testing), you reset the starting point to include old rows, or someone sorted or moved rows in the responses tab. Fix: In your Scenarios list, turn off any extra copies. Don't reorder rows in the responses tab. If you have to reset the trigger, choose the option to start from now on.
6. Fields Are Empty in the Slack Message
Symptom: The message arrives, but some answers are blank. Cause: You renamed or added a question in the form, so the column header changed and the old mapping points to nothing. Fix: Run the scenario once so Make picks up the new headers. Then open the Slack module and map the field again.
Wrapping Up
This setup takes about 20 minutes, and form responses stop getting lost in your inbox. Link your form to a sheet, watch that sheet for new rows, and send a well-formatted Slack message. Test it once with a real submission, choose a schedule that fits the free plan, and don't sort or delete rows in the responses tab. If something breaks, it's almost always one of the errors above, and the bubbles on each module will usually show you which step failed.