When a prospect submits a Typeform (pre-filled via URL parameters from
Instantly), use their hidden field email to look them up in Google Sheets,
retrieve their contact details, and send a summary email via Gmail.
What is the problem & what have you tried?
Google Sheets Search Rows returns zero results even though the hidden field
email is confirmed populated in the Typeform execution log. No errors — all
modules run green. Downstream fields come through as null.
Filter config: email column G | Equal to | 1. Hidden: email
Confirmed working:
Typeform variable tree shows Hidden > email with the correct value
CSV export confirms email is captured on every submission
The Google Sheet contains the prospect record with a matching email in column G
Workaround tried: removed Google Sheets module, mapped all fields directly
from Typeform hidden variables (first_name, last_name, company_name,
company_description, full_address, job_title) via extended URL params.
This works but is not the preferred architecture — I want Make to retrieve
contact fields from the sheet using only the email as the lookup key.
Error messages or input/output bundles
No errors. All modules return green. Google Sheets Search Rows outputs an
empty bundle. OpenAI receives null values and writes [Not provided] for all
General Information fields in the output email.
Hi Stoyan! Thanks for replying. We have also considered that but that doesn’t seem to be the case - I even changed the filter to “Text operators: Equal to (case insensitive)” and ran another test with a different email just now and it still doesn’t work.
Ok this is strange, can you copy an email from the google sheet and try with it directly?
Can you also show a screenshot of how the module is setup on your side? Cause I don’t have the same sheet and when I import the scenario it doesn’t actually show it properly.
Not the summary at the end, check the modules one by one and see where the information disappears.
Start with checking if the sheets module is returning the correct info. Then see if that is being fed to the openAI module and what it’s returning and so on.
On the version of the workflow where it’s Typeform –> GSheets –> ChatGPT –> Gmail, I first notice it on the first module, the Gsheets which would expain why the cross-referencing isn’t working.
When checking on the results log on Typeform the email hidden fields do appears so my understanding is that therefore this must be an issue on the mapping.
Oh I’ve fought this exact one. When Search Rows comes back empty but the email is clearly there and clearly matches, it’s basically always an invisible mismatch between the two strings, not a logic problem. And the fact that it’s a hidden field pre filled from a URL param (Instantly) makes that way more likely.
Couple of usual suspects. The email coming in probably isn’t as clean as it looks. URL params love to sneak in a trailing space, a %20, %40 instead of @, or a different case. The Typeform tree and the CSV both show it looking right because they tidy it up for display, but the raw string going into the search still has the junk. Quick test: wrap the value in lower(trim()) in the search module and do the same on the sheet side, or just dump the raw email into a set variable first and eyeball it with quotes around it. If you see " [email protected]" with a leading space, there’s your culprit.
Other thing worth checking: if your sheet has a header row and “Table contains headers” is ticked, filter by the header name, not column G. Mixing those two is a really common way to get a green run with zero matches.
If you paste the exact email string from the execution log (copy it with the quotes so we can see any spaces) I can probably tell you which one it is.