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
Join us for Jumpstart 2025 with Community on 23 January (in two time zones)! 🎉 Register here.
-
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
- 65.4K Get Help
- 447 Global Discussions
- 144 Industry Talk
- 479 Announcements
- 5.1K Ideas & Feature Requests
- 85 Brandfolder
- 151 Just for fun
- 72 Community Job Board
- 490 Show & Tell
- 33 Member Spotlight
- 2 SmartStories
- 302 Events
- 36 Webinars
- 7.3K Forum Archives