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
- Smartsheet Customer Resources
- 64.2K Get Help
- 419 Global Discussions
- 221 Industry Talk
- 461 Announcements
- 4.8K Ideas & Feature Requests
- 143 Brandfolder
- 142 Just for fun
- 58 Community Job Board
- 462 Show & Tell
- 32 Member Spotlight
- 1 SmartStories
- 299 Events
- 38 Webinars
- 7.3K Forum Archives