What is your goal?
I’m building a Make.com automation that receives inbound text messages and decides whether the sender is new or returning.
The logic is simple:
• Every incoming message has a sender phone number.
• I store past senders in a Google Sheet (“Client Memory”).
• When a message comes in:
• If the phone number already exists in the sheet → treat them as returning.
• If the phone number does not exist → treat them as new and add them to the sheet.
This distinction is critical because it determines which path the automation takes (new client vs existing client). Everything else in the project depends on this working correctly.
Right now, I am only focused on solving this one problem.
What is the problem & what have you tried?
The problem
Even when a phone number definitely exists in the Google Sheet, the lookup step always behaves as if it does not exist.
As a result:
• Every message is treated as “new”
• Duplicate rows keep getting added
• The “existing client” path never triggers
The issue appears to be happening specifically in the Google Sheets “Search Rows” step.
What I have tried
I’ve verified all of the following:
• The sheet does contain the phone number
• The lookup column is correct
• The same exact phone value is being used in the lookup
• The scenario runs without crashing
• Rows are successfully added for new senders
I’ve tried:
• Different search settings
• Different column ranges
• Turning headers on and off
• Ensuring phone numbers are text, not numbers
• Making sure the lookup runs before the router
• Rebuilding the scenario from scratch multiple times
Despite all of this, the lookup never finds an existing row.
Error messages or input/output bundles
Bundles behavior (important context)
In Make.com:
• A lookup that finds a match should return 1 bundle
• A lookup that finds nothing returns 0 bundles
My routing logic depends on this:
• 1 bundle → existing client path
• 0 bundles → new client path
What I actually see
• The search step always returns 0 bundles
• Even immediately after a row was just added
• Even when the value visibly exists in the sheet
The suspicious symptom
In the run logs for the Google Sheets search step, I consistently see:
• The column range shown as only the header row
• The lookup appears to evaluate headers, not actual data rows
• Output says “0 bundles” even when data exists
This makes me think:
• The module may only be reading the header range
• Or it’s misinterpreting the table structure
• Or the row data isn’t being included in the effective search range
Why this breaks everything
Because the lookup never returns a bundle:
• The router always thinks the client is new
• The update path never runs
• The automation can’t distinguish new vs returning users
⸻
Summary (what I need help understanding)
I need to understand why a Google Sheets lookup can return 0 results even when the row clearly exists, and why the lookup appears to only reference the header range instead of the full dataset. Why I think this is happening (but not certain)
My suspicion (not confirmed) is that:
• Make is correctly defining headers as A1:Z1
• But something about formatting, value matching, or how the Search Rows module interprets the table is preventing it from matching actual data rows
It may not actually be “only reading headers,” but the google sheets ( search rows ) output makes it look that way, and I can’t tell if:
• The issue is phone number formatting
• Table interpretation
• Filter behavior
• Or something subtle about Google Sheets + Make interaction
Specifically:
• What causes a Sheets search to behave this way?
• What configuration detail would make it search headers instead of rows?
• How do I reliably get 1 bundle when a matching row exists?
If you got all the way to the end… thank you. If you got all the way to the end and are able to give me some solutions… I might just not throw the laptop at the wall. But seriously… I just want to thank you in advance. You have to idea ( maybe you do ) how long I’ve been annoyed with one simple operation that doesn’t seem to work right whatever I do.







