How I received notifications when users signup to our private beta on Relaye
Running a beta is weird. On one hand, you desperately want to know when someone signs up. On the other hand, constantly checking Google Forms responses feels like watching water boil.
I’ve been collecting signups for Relaye.io using Google Forms for a while now. It does the job, but the lack of real-time notifications drove me nuts. Sure, I could get emails, but who doesn’t already have an overflowing inbox?
What I really needed was a ping on my phone the moment someone showed interest. Ironically, this is exactly the kind of problem Relaye was built to solve, so I figured I should eat my own dog food.
Where Google Forms Notifications Fall Short
Google Forms is a fantastic tool for data collection, but when it comes to notifications, it’s fairly limited. By default, you’re stuck with email notifications (sent from your own account) or you have to manually check the spreadsheet for new entries.
Neither option worked well for me. Email gets lost in the shuffle, and constantly refreshing a spreadsheet is both inefficient and distracting. What I needed was a way to get timely notifications where I’d actually see them.
Enter Google Apps Script + Relaye.io
The trick is to use Google Apps Script to hook into form submissions and send the data wherever you want. Here’s how I set it up:
Step 1: Create a Webhook Input in Relaye
First, I needed somewhere to send the data:
- Logged into Relaye.io
- Clicked “New Input” and picked “Generic Webhook”
- Named it “Beta Signups” (because I’m super creative)
This gave me a webhook URL that looks like: https://app.relaye.io/G34412311769/6uoipTasvLGICit_RNLvhg
Step 2: Set Up the Output Destination
Next, I decided where I wanted these notifications to go. I picked Telegram since it’s always open on my phone:
- Went to “Outputs” → “New Output”
- Picked “Telegram (Relaye Notification Bot)”
- Added the @relayebot to my Telegram
- Typed
/relayelink
in the chat - Clicked the link the bot gave me
- Named the output “Beta Signups” and saved it
Step 3: Connect the Input to the Output
Now to wire everything together:
- Went to “Connections” → “New Route”
- Picked my “Beta Signups” input
- Picked my Telegram output
- Hit “Create Connection”
Step 4: Add the Google Apps Script to the Form
-
Create Your Google Form Go to Google Forms, create a form, and add some fields.
-
Link It to a Google Sheets Spreadsheet Click on Responses → the green Sheets icon to create a linked spreadsheet.
-
Open Google Apps Script In the linked Google Sheet, click on Extensions → Apps Script.
-
Paste the following code in, swap in my actual webhook URL and save.
function onFormSubmit(e) {
const webhookUrl = "<RELAYE_INPUT_LINK>; // 🔗 Replace with your actual webhook endpoint
const sheetUrl = SpreadsheetApp.getActiveSpreadsheet().getUrl(); // Get the URL of the active sheet
const formData = e.namedValues;
const wrapped = {
data: formData,
sheet_url: sheetUrl,
};
const options = {
method: "post",
contentType: "application/json",
payload: JSON.stringify(wrapped),
};
UrlFetchApp.fetch(webhookUrl, options);
}
- Set Up the Trigger
- In the Apps Script Editor:
- Click the clock icon on the left (Triggers).
- Click + Add Trigger.
- Choose:
- Function: onFormSubmit
- Event source: From spreadsheet
- Event type: On form submit
- Save the trigger.
- In the Apps Script Editor:
And you’re done! Head back to relaye.io for the rest of the steps.
Step 5: Customize the Template
The last bit was formatting the notification to not look like garbage:
In “Connections,” I clicked “Edit” on my route Changed the template to something actually readable:
🚀 Relaye.io Private Beta Google Form New Signup
Email: <%= data["Email Address"].first %>
---
<% data.each do |key,value| %>
<%= key %>
<%= value.join(",") %>
<% end %>
---
<%= sheet_url %>
Did it work?
Yep! I filled out my own form as a test (I’m not desperate, you’re desperate), and a few seconds later:
And just like that, I was free from the tyranny of constantly refreshing spreadsheets. Now when someone signs up, my phone buzzes, I get a little dopamine hit, and life is good.
The best part? When I inevitably get tired of Telegram, I can just create a new route in Relaye to send it somewhere else - no touching the Google Form script again.
If you’re running any kind of signup form and find yourself obsessively checking for new responses, do yourself a favor and set this up. Your sanity will thank you.
Want to try Relaye?
I just soft-launched the private beta of Relaye.io a few days ago, and I’m really excited to get more people trying it out. As I mentioned in my LinkedIn post, Relaye is built to solve a problem I kept seeing as an SRE/Sysadmin - how to manage the flood of notifications from different tools and services, and route them exactly where they’re needed.
Whether you’re dealing with similar notification challenges or want a more flexible way to route your webhooks, Relaye might be just what you need. We’re currently accepting a limited number of users to ensure we can provide the best experience possible.
Sign up here to join our private beta - I’d love to hear how you end up using it!