Hi everyone, I have an AppSheet webhook created with another site and the Add Record works perfectly. Now Iโm moving towards being able to update the records Iโve added but wondered how AppSheet would work as I donโt see a GET option.
Does AppSheet have the GET capability already built in? If yes, how can I help it reference the correct record. Iโve reviewed the Webhook documentation for AppSheet but havenโt seen a sample of a JSON Update script here. Any references would be outstanding.
Thanks so much.
Hereโs the error text.
Error:
โWebhook HTTP post request failed with exception {โnameโ:โErrorโ,โerrorGroupโ:โUserโ,โcodeโ:โWD_VALIDATION_ERRORโ} The remote server returned an error: (500) Internal Server Error.โ
AppSheet does not have GET webhooks, but that is for webhooks sent from AppSheet to other systems.
{
"Action": "Edit",
"Properties": {
"Locale": "en-US",
"Location": "47.623098, -122.330184",
"Timezone": "Pacific Standard Time",
"UserSettings": {
"Option 1": "value1",
"Option 2": "value2"
}
},
"Rows": [
{
"Key": "VALID_KEY_VALUE"
"FirstName": "Jane",
"LastName": "Doe"
}
]
}
Also, required values can be left out of the webhook body for Edits, as long as the row already has the required value. You only have to provide Key:Value pairs for the columns you want to edit.
Great information! Iโm needing to send an UPDATE โfromโ AppSheet to another service. In my example, I will update records in AppSheet and look for that data to be updated in the other service.
Since AppSheet doesnโt have GET, whatโs the best way?
Ah, sorry I misunderstood. That would either be a POST or PUT webhook from AppSheet to the external service, triggered on Table-Update
in AppSheet.
What is the external service? Their API documentation should tell you how to format your webhooks coming from AppSheet.
No problem, thanks. I have the script required on the other service. Iโm looking for the JSON script needed within the AppSheet workflow since AppSheet doesnโt have the option for GET. I have this so far but unfortunately receive the error below which is understandable as Iโve not told the system which record to update. Hope this makes sense.
Error:
โWebhook HTTP post request failed with exception {โnameโ:โErrorโ,โerrorGroupโ:โUserโ,โcodeโ:โWD_VALIDATION_ERRORโ} The remote server returned an error: (500) Internal Server Error.โ
You need to refine the JSON body. Visit the documentation for the template, as well as checking the useful tools @GreenFlux kindly provided before.
Nice! Ok, Iโll dig in to this tonight. Thanks so much!
Constructing JSON body is bit painful even on NO-CODE platform of Appsheet as it is bit โcodingโ flavour with it, but @GreenFlux made it less painful with his tool. Try it out.
I think this means that youโre not hitting a valid endpoint or the headers are wrong. If you get past authentication the errors are usually more specific. This sounds more like the URL or headers are incorrect so the specific server never gets a chance to respond.
Could you please post a picture of your webhook settings? The image above doesnโt show the URL.
Nice Generator - will put to good use!! Hereโs the image. Iโve seen other webhooks and see the need for the GET function in order to grab the correct record to update but when I generate the template, I receive the fields in the image.
Most API endpoint schemas have the record ID at the end of the URL for Reads/Updates/Deletes.
You may need to put the record ID after /updaterecords/<<[RecordID]>>
. (External systemโs ID, not AppSheetโs)
Where did you get the URL? It looks like it could be missing the table name to update as well as the key. And it could be a POST instead of PUT. It just depends on the API. Check the Wix API docs, or whichever 3rd party add-on you are using to expose the data.
Try sending test POSTs/PUTs from Insomnia. You can edit the URL formatting and retest much faster and figure out the right syntax, then paste it back in AppSheet.
Ok, Will give it a try - a million thanks!
Hi,
i have an external service that is used for usermanagement which should update my appsheet via webhook. the problem is, that this service has no knowledge of the ID in Appsheet because it is working in another data table. Can i somehow search the ID via Firstname + Lastname or Email?
Topic "Read selected rows" in this article may help https://support.google.com/appsheet/answer/10105770?hl=en&ref_topic=10105767
Thank you very much! I totally misunderstood the title and didn't even read the article. It works really well. Now I just need to figure out how to proceed when the last name and therefore the email changes.
User | Count |
---|---|
18 | |
15 | |
10 | |
7 | |
4 |