What is your goal?
I need my webhook to check Google Sheets for an existing member email. If the email exists, return {"duplicate":true}. If it does not exist, add the member as a new row and return {"duplicate":false}.
What is the problem & what have you tried?
I am building a webhook-driven member registration scenario.
The scenario is intended to do this:
- If the incoming email already exists in Google Sheets, return
{"duplicate":true}. - If the email does not exist, add the member as a new row and return
{"duplicate":false}.
My current scenario is:
Receive member (Webhook)
→ Router
Router route 1:
Google Sheets – Search Rows
→ Webhook Response
Router route 2:
Google Sheets – Add a Row
→ Webhook Response
The Google Sheet has these columns:
id | firstName | email | situation | interest | consentCommunications | consentAt | locale | source | createdAt | status
Email is column C.
Search Rows is configured with:
- Spreadsheet: Sheet1
- Table contains headers: Yes
- Column range: A1:Z1
- Filter: email (C) equals the incoming webhook email
- Limit: 1
What works:
When I test with an email that already exists, Search Rows returns 1 bundle and the duplicate Webhook Response works. It returns:
{“duplicate”:true}
The problem:
When I test with a completely new email, Search Rows returns 0 bundles. The Add a Row module does not execute. It remains blank in the execution results.
I tried using Router filters:
- Total number of bundles = 0 for the new-member route
- Total number of bundles > 0 for the duplicate route
- Fallback set to No
I also tried placing Search Rows before the Router, but when it returned 0 bundles the Router still had nothing to process.
I am currently using the Google Sheets Search Rows module and do not see an option to continue execution when no rows are found.
I would like to know the recommended architecture for handling this situation while preserving the original webhook bundle:
Existing email → duplicate response
New email → Add a Row → new-member response
I would appreciate a concrete module-by-module solution using the current Make/Maia modules.
Error messages or input/output bundles
For an email that already exists, Google Sheets → Search Rows returns 1 bundle. The output includes the matching row and shows:
- Total number of bundles: 1
- Row number: 4
- email: [email protected]
For a new email, Google Sheets → Search Rows returns:
- Total number of bundles: 0
The Add a Row module then has no execution result.
One of the new-member tests used:
email: [email protected]
The Search Rows execution for that test showed:
Output:
Bundle 1 Collection
Total number of bundles: 0
Credit usage:
1 credit
The duplicate test successfully returned from the Webhook Response:
{“duplicate”:true}
The Webhook Response module also showed a warning in an earlier configuration:
“Response can’t be processed when scenario is not executed immediately on data arrival.”
The webhook is now configured to run immediately as data arrives.



