Working with webhooks

If you are creating integrations that are dependent on 3rd-party webhooks, you may find that some policies are quite restrictive.

e.g. for Jira Cloud, the following constraints apply:

  • For an OAuth 2.0 app, the limit is 5 webhooks per app per user on a tenant
  • A single webhook url can be registered per app
  • Webhooks expire every 30 days

In such a case a solution you may need to implement is to set up webhook proxies.

This could be done natively in the Tray builder by:

  1. Creating a webhook-triggered workflow to receive all webhooks from the 3rd party
  2. Building the necessary filtering logic into the workflow (which you otherwise might have done with the 3rd party using e.g. Jira queries)
  3. Routing the payloads to any required destinations

You would then need to schedule a job, after e.g. 29 days, to create a new webhook with the 3rd party (in the 3rd party admin UI or via API) with the same destination URL of your Tray workflow.

You could also build the above proxy system in your own external code outside of Tray.

Was this page helpful?