Update!
Well folks, I ended up taking the path of trial and error
With the help of Claude and GPT I arrived at a working solution that uses a google apps script to:
- Turn the table data into the correct JSON payload.
- Runs some deduplication checks.
- Sends it to a Make webhook.
- Adds payload logs (startTime, endTime, ObjectCount, Status).
- Then also adds all initial individual row data to another sheet too.
The Make scenario uses a JSON parser and Text aggregator to select specific data and prepare it for the API request, with a webhook response to log the response code and message back to the origin sheet.
Following my initial post, I experimented with the Google Sheets Perform A Function module, but soon realised that this didn’t give me enough flexibility in managing a larger payload — which has more to do with Google sheets max char (50k) limit for TEXTJOIN
.
Although, I still have some further tweaks to be made as I’ve encountered another issue when I ported over the Apps Script from my test sheet to the live one (under a different G-Workspace domain).
Exception: You do not have permission to call appendRow
The apps script function is invoked when the payload sheet has data.
=IF(COUNTA(A2:A)>0,SendJSONArray(),"No data to push right now")
Weird thing is that I also got this error on my own sheet + apps script, but it ran the requests through anyway
I’ll experiment with an additional helper function column, or go for the time-based trigger instead (former is definitely the preferred option so the script is only invoked when new data comes in).
In the end, the scenarios in Make turned out quite simple.
Most of the time I spent amending the apps script to make sure it was sending the data without duplicates, while also accounting for and logging any potential errors.
Thanks for all who chimed in here or via DMs
p.s. Why I ended up tackling this on my end, instead of pursuing with the initial approach of looping in an expert:
90% of the DMs I received didn’t convince me to hop on a call — none of them had rate nor availability stated for a 1hr consult call.
Of those that wanted to follow through with a conversation, none of them shared a scheduling link, or a link to their website.
For the call that I did book, I was given the link to their listing on the Make partner directory, so then I had to navigate to their site and find if/where there was an option to book.
Therein, that call ending up as a no show on their part because they didn’t factor in a public scheduled event into their rep’s availability (something that could be… automated)
Heed this advice partners — if you have a prospect that indicates they’re willing to jump on a paid consult call asap, then you’d best make sure to make it as transparent (rate $) and easy as possible for them to do so. Which should be the default in any case.