Dropdown is Not Sending Notification to Manychat(ChatBot)

Hi Everyone, I’ve created an App that syncs with my Google Sheet for a restaurant Ordering App. All of the fields work correctly except my Status Dropdown. The Dropdown sends a Notification to Manychat to let the customer know of their order.i.e. Ready, Processing, or Out for Delivery. However, when I change the field in my actual Google Sheet, it sends the notification fine to Manychat, BUT when I change the notification in AppSheet, it changes the status in my Google Sheet, but doesn’t send the notification to Manychat.
I don’t know what the problem could be. Has anyone else experienced something like this where the information gets changed in Google Sheet but not transmitted to the 3rd party?

0 8 468
8 REPLIES 8

Steve
Platinum 4
Platinum 4

Google Sheets allow you to create onEdit triggers: code functions that run whenever a Google Sheet is edited via Google’s web interface. However, onEdit triggers do not fire when data is edited and synced to the spreadsheet via AppSheet. If you have important functionality that needs to run on updated data, we suggest moving it to a timed trigger (a different kind of trigger that Google supports). You can learn more about these different trigger types via the Google Docs page.

In particular, if you utilize Google AppScript onEdit triggers on your Google Sheet, or a third-party add on that utilizes these triggers, the triggers are not fired when AppSheet makes a change to the data in the spreadsheet. This is an unfortunate limitation imposed by Google on all third-party solutions like AppSheet. The best workaround is to utilize a timed AppScript trigger (or an onChange trigger) rather than an onEdit trigger.

If you have formSubmit triggers on the spreadsheet, they do not fire when updates are made via AppSheet. As with onEdit triggers, we recommend moving this logic to a timed trigger.

Steve, Thanks so much for your detailed Reply. I setup everything in Google Apps, but I think I am missing something…
I think I figured out where to put the code. I have it like this…

function myFunction() {
var ss = SpreadsheetApp.openById(“15D9Q7292xRY6I06Igrq3rqRoaR3TwT83PqtFF3Gytww”)
var source = e.source;
source.getActiveRange();
}

Is there anything that I’m missing? When I run the code, it gives me an error of ReferenceError: e is not defined (line 3, file “Code”)
Is there something else that I’m supposed to be adding? I’m a little new to programming…
The column that I want this to run on is Column B of this attached screenshot. That is the Manage Order Tab .…

Please let me know what else I would have to add to this code to get this to run properly… Thanks so much!

Thanks

Add e as an argument to your function

function myFunction(e)
{

}

Thanks!
Do I have to put any code or anything in for this, source.getActiveRange() ?

Can you post the entire function? You need the ActiveRange to figure out which column changed and then take the next step.


So, I am not a coder by any means…lol… But, in Appsheet below, but when I change the status (Column B above), I would like the script to run an onchange script and not the default onedit…
I hope I explained that correctly…

Screen Shot 2020-04-28 at 10.32.18 PM|250x500

I don’t have the rest of the function. Thats what I need help with creating…

I had a similar situation with Manychat, what I did is to make Manyhat to check if the status of the cell had changed every certain time, it may work for Appsheet to go and check the status of the Google sheet’s cell.
I hope it works

Top Labels in this Space