Smartsheet Webhook callback
Hi,
When the smartsheet event callback is send to the url (server) it expects to receive a call back acknowledgment (status 200). If the subscriber fails to respond with a 200 status, depending on the response, Smartsheet may retry delivery up to 14 times.
My question is how much time do we have to send back the call back acknowledgment before Smartsheet will retry and send the same event again.
I looked in the documentation but couldn't find anything in there in reagrds to this.
Answers
-
Hi @kskarz
I haven't tested this myself, but this is the information from the API Documentation on Webhooks:
"If the subscriber fails to respond with a 200 status, depending on the response, Smartsheet may retry delivery up to 14 times. The first 7 retry attempts occur with a frequency that's determined using exponential backoff; thereafter, retry attempts occur once every three hours until all retries have been exhausted."
I hope that helps!
Genevieve
Need more help? 👀 | Help and Learning Center
こんにちは (Konnichiwa), Hallo, Hola, Bonjour, Olá, Ciao! 👋 | Global Discussions
-
Hi,
I have the same problem.
I need to know is how much time do we have to send back the call back acknowledgment before Smartsheet will retry and send the same event again
Thanks
-
Any possible way I can see anyone's script they are using? I was able to figure out the webhook issue a few weeks ago and I have 100's of webhooks setup now, with zero issues.
var request = require("request");
var options = {
method: 'POST',
url: 'https://api.smartsheet.com/2.0/webhooks',
headers: {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"name": "smartsheet",
"callbackUrl": "https://callbackurl.com",
"scope": "sheet",
"scopeObjectId": SheetID,
"subscope": {
"columnIds": [
8818339260196740
]
},
"events": ["*.*"],
"version": 1
})
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
-
const smartsheet = require('smartsheet');
// initialize Smartsheet client
const smartsheetClient = smartsheet.createClient({
accessToken: 'your-access-token'
});
// define the webhook ID and the updated request body
const webhookId = WebhookID;
const body = {
enabled: true
};
// update the webhook
smartsheetClient.webhooks.updateWebhook(webhookId, body)
.then((updatedWebhook) => {
console.log(`Webhook updated: ${JSON.stringify(updatedWebhook)}`);
})
.catch((error) => {
console.error(`Error updating webhook: ${error}`);
});
Categories
- All Categories
- 14 Welcome to the Community
- Customer Resources
- 64.9K Get Help
- 441 Global Discussions
- 139 Industry Talk
- 471 Announcements
- 4.9K Ideas & Feature Requests
- 129 Brandfolder
- 148 Just for fun
- 68 Community Job Board
- 495 Show & Tell
- 33 Member Spotlight
- 2 SmartStories
- 300 Events
- 36 Webinars
- 7.3K Forum Archives