Webhook callbackUrl Port Support Query

Hi All, 

Raised two cases with Support but no response so starting new discussion. 

We have created smartsheet webhook with  callback url  having port 443, 8008,8000 and 8080 but able to get response when callback url configured with 443 (tried one by one port, doing PUT { "enabled": true } after creating webhook). 

Do other ports are supported or only 443 port is supported in callback url ?

As per support document all other ports are supported but, in our test, only able to get response if 443 is configured. (all other ports are also open on server and able to access callback url using postman and soapui)

Notes in Smartsheet document- 

http://smartsheet-platform.github.io/api-docs/#creating-a-webhook

  • Smartsheet webhooks do not support callbacks to servers using self-signed certificates. The callback server must be using a signed certificate from a certificate authority.
  • The callbackURL cannot be a private IP address.
  • The callbackURL must use one of the following ports: 443 (default for HTTPS), 8000, 8008, 8080, or 8443

Anyone faced this or its issues with Smartsheet documentation?

Ticket number with smartsheet – 03604358, 03607967

 

Comments

  • Hi Shekhar,

    I can confirm that the ports you listed above (and in the documentation) are supported by Smartsheet webhooks.  If you are not receiving webhook callbacks using those ports but are able to reach them manually using Postman, perhaps the ports are being blocked by your company's firewall.  Have you successfully tried making requests to those ports from outside your company network?

    Thanks,

    Kevin

  • Hi Kevin, 

    I have tried from outside company network, but result is same. Able to reach them manually from Postman but not able to enable webhook. (not reaching to Listener)  

    Thanks,

    Shekhar 

  • I'm having the same problem. I can confirm that event callbacks work on ports 443 and 8080. However, I can also confirm that initial verification requests work only on port 443.

    If you run a server on yourdomain.com/yourendpoint and it passes the initial verification challenge, you can then run your server on port 8080, change the callbackUrl of the enabled webhook to yourdomain.com:8080/yourendpoint and it will keep working.

    The API documentation speaks of an ongoing verification:

    "IMPORTANT: ONGOING VERIFICATION. Once a webhook has been enabled, Smartsheet sends a verification request to the webhook's callbackUrl once every 100 callbacks. The subscriber should respond to the verification request as described above -- failure to do so results in the webhook being disabled (enabled: false and status: "DISABLED_VERIFICATION_FAILED")."

    I don't know if such a repeated verification would fail on port 8080 or one of the others, after the workaround mentioned above. Even after 160 successful event callbacks no other verification was attempted from smartsheet's side, so I can't test that.