Register event attendance via webhook with Google Sheets and Gmail
Go to WorkflowDescription
Quick overview
This workflow powers a QR code-based event attendance system. A presenter displays a QR code (generated via the companion web app) which participants scan with their phones. Scanning opens a registration form pre-filled with the Event ID; on submission, the form POSTs to this webhook.
How it works
Receives a POST request via a webhook secured with Basic Auth.
Validates the request body (name, email format, and optional role/event/day) and generates a timestamp plus a target Google Sheets tab name.
If validation fails, returns an error JSON response to the caller.
Reads all existing rows from the Google Sheets tab for the selected day and checks whether the email address is already registered.
If the email is a duplicate, returns an “already registered” JSON response.
If the email is new, appends the attendee details to Google Sheets, sends a confirmation email through Gmail, and returns a success JSON response.
Setup
Configure the webhook Basic Auth credentials and share the webhook URL with the form/app that submits attendance data.
Add Google Sheets OAuth2 credentials and update the spreadsheet ID and ensure each day has a matching tab name (for example, “Day 1” maps to a “Day1” sheet).
Add Gmail OAuth2 credentials and confirm the sender name and email content/subject match your event details.
Customization
Change the duplicate-check key (default: email + eventId) to match your deduplication strategy.
Add or remove required fields in the validation Code node.
Customize the error, duplicate, and success JSON response bodies to match what the front-end expects.
To support multi-day events, extend the Google Sheets column mapping to include the day field sent in the payload.