Announced on |
Migration and deprecation |
July 26, 2021 |
February 22, 2022 |
This article describes the deprecation of the HTTP targets in Zendesk Support.
What is changing?
Beginning on February 22, 2022, you will no longer be able to create new HTTP targets. At this time, Zendesk will begin converting all eligible active HTTP targets to webhooks. When the conversion is complete, HTTP targets will be deprecated and no longer accessible.
Why is Zendesk removing HTTP targets?
With the launch of webhooks, Zendesk is migrating customers over to this experience. Webhooks address several shortcomings in HTTP targets, particularly related to security. Targets permit unsecure (HTTP) connections and the use of username and password to authenticate. Both of these pose security risks and aren’t supported by webhooks. Webhooks require secure HTTP (HTTPS) and use more robust authentication methods.
Webhooks also provides the following benefits:
- Deactivation behavior that isn’t disruptive.
- More logging, which can help diagnose issues with third-party systems.
- Improved retry behavior for temporary server failures and timeouts
Am I affected?
Everyone using HTTP targets is affected.
What do I need to do?
In most cases, you’ll be able to convert your HTTP targets with only a few clicks. The business rules and triggers related to the targets will be cloned and modified to use the converted webhooks.
If your HTTP targets meet any of the following criteria and you want them to be converted, you’ll need to modify your targets before starting the conversion.
- The target uses basic authentication (username and password) and HTTP (instead of HTTPS).
- The target is inactive.
For more information, see Converting HTTP targets to webhooks.
Frequently asked questions
What if I don’t convert by the final date?
It is strongly recommended that you convert your HTTP targets prior to the specified deprecation date. After this date, you won't be able to create new HTTP targets or activate or edit existing targets. All eligible targets will automatically go through the conversion process. You will be able to view and update your activated HTTP targets until they've been converted to webhooks. Any targets that fail to convert during the automated conversion will be deactivated and unrecoverable.
If I create targets using the API, do I need to change my process?
Yes. You should start using the API to create equivalent webhooks rather than targets as soon as possible.
I’m having issues with the conversion. How do I get help?
If you need assistance converting your existing HTTP targets, contact Zendesk Customer Support.
What if I convert my targets to webhooks, but need to switch back?
If for any reason you need to revert your converted webhooks back to targets, that is possible until HTTP targets are deprecated. Targets can be reverted individually. See Reverting a converted webhook to a target.
What about the other types of targets? Are those being deprecated, too?
At this time, only HTTP targets are being deprecated and converted to webhooks.
What about targets created from Zendesk integrations?
The following Zendesk integrations are being updated to use webhooks. HTTP targets created by these integrations will be converted automatically.
- Jira
- Salesforce
- Hubspot
- Discord
- Slack
What about targets created by private apps and apps installed from the Zendesk Marketplace?
The HTTP targets for existing installed marketplace apps and private apps will be converted to webhooks.
New and updated marketplace apps will fail validation if their requirements include HTTP targets. Developers should ensure their apps use webhooks if they previously used HTTP targets. Similarly, private apps uploaded after the deprecation date will fail validation if they contain HTTP targets in their requirements.json file.
32 Comments
This specifically talks about the deprecation of HTTP targets. Are URL targets going to be similarly affected? I know it says only HTTP targets will be affected bu I just wanted to be sure.
I also have this question. The email I received mentioned both URL and HTTP targets being replaced, but the help pages only refer to HTTP targets, as far as I've seen.
Hey @...
Will webhooks eventually support parameterized URLs as in https://xxx.zendesk.com/api/v2/tickets/{{ticket.id}}.json?
IOW, will they offer functional parity to HTTP targets with a JSON payload, or will there be restrictions?
Yours truly
Peter
@...
Support for placeholders in the URL is "coming soon".
https://support.zendesk.com/hc/en-us/articles/1260803041889/comments/4404782666906
Hi @... @...,
Apologies for the communication. I can confirm this only applies to HTTP targets, not URL targets. Future communications will be updated and made clearer.
Greetings @...,
As @... helpfully pointed out, this is indeed coming soon and is planned. We estimate a matter of weeks for this to be supported in webhooks.
Cheers,
Chris
why not just disable the basic username / pw from utilizing webhooks?
Hi @...,
Thanks for the feedback. Many existing targets users use basic authentication. There's nothing inherently wrong or insecure with basic auth itself, but how the requests are sent.
For this reason, we are removing any authentication features for webhooks that choose to use HTTP (not secured with TLS).
Could you please clarify the situation with Zendesk apps. In requirements.json the developer is able to define targets (including HTTP targets), but it does not support webhooks. Soon there won't be any way for the apps to define a HTTP target / webhook in the app requirements?
Hi @...,
The situation with apps is still being worked on. We hope to very soon have webhooks available in requirements alongside other types. A transition plan is still underway for migration of requirements-created webhooks.
We will be updating these articles once we have more information for app developers and users.
Hi Chris Sos
My understanding of this article comments is that URL Targets to webhooks are out of the scope for now. Could it change in the future? Should we study to move them to webhooks too ? Will you provide any converter like you did for HTTP Targets?
Thanks
Hi Arnaud Héritier,
URL targets are out of scope for now. This may change in future as URL targets are also legacy and can be superceded by webhooks for nearly all use-cases.
A converter is not possible due to the intricacies of URL targets (specifically the "attribute" naming and usage). We would highly recommend investigating moving off URL targets in favour of webhooks for any customer.
Chris
Hi Chris Sos any ETA on when support for placeholders is going to be implemented for webhooks?
Our goal is to use URL like https://zendesk.com/api/v2/tickets/{{ticket.id}}.json
Hi Anton Maslov,
Placeholder support was released in late September for webhooks :)
Chris
Thanks a lot Chris Sos, I will do it for my instance
Is there some way to know (preferibly from the API) the target from which the webhook was created when migrating?
Thanks in advance.
Hi Jose! There are a couple of ways that you could accomplish this depending on what you were specifically looking for. Before I get into those methods, I do want to point out that when the target is converted, the name and content of the previously active target will be the same as the webhook.
I'm awaiting confirmation on this, but as far as I can tell, the conversion_id of the webhook is the same as the previous target's id. So if you need to reference that, you can do so in the UI by following these instructions. There is also an undocumented (and thus unsupported as of now!) API that will return a target_id object that is the same as the trigger's original id: https://{{subdomain}}.zendesk.com/api/v2/targets_migrator/
Once I confirm this or find other options, I will drop an update in here!
Can you confirm if February 22 is still the date when HTTP targets will be deprecated and converted automatically to webhooks?
Hi Kyle Pinkley,
Yes, that's right. From that date active HTTP targets on all accounts will be forcibly migrated to webhooks and there will be no way to revert the changes. New HTTP targets will not be able to be created after that date.
Chris
Hi,
Can you confirm that Placeholder support was released for webhooks?
Extensions with placeholder in format "/api/v2/tickets/{{ticket.id}}" are not recognized from automatic convertion tool in Admin Center.
Sandro
Hi Sandro Olivieri,
Placeholders are supported in URLs as you described. Please ensure the target in question is also active and not associated with an app as these are currently being skipped for conversion.
If you're still seeing issues, let me know and I'll open a ticket on your behalf to investigate.
Chris
Hi Chris,
Can you confirm what's exactly the deprecation date? Is it February 22nd, 2022?
Thank you!
Jalerson Lima, the automated migration and deprecation process begins February 22, 2022. It will take some time to perform the migration for all accounts, so it's impossible to give a precise date on which any given account will have that process completed. Please be prepared for deprecation by February 22.
We've made some updates to the scope of this announcement that we'd like to highlight:
Are there any plans to allow us to customize the static "retry" logic? With Targets it would never retry, and it seems now with Webhooks is it will Retry Unconditionally up to 4 times.
This change in default behavior will require us to rework dozens of integrations we have currently built out.
^ This is going to be an issue for us as well.
And my team too...retry logic has me concerned.
Hi all,
Webhook retry logic is documented here: https://developer.zendesk.com/documentation/event-connectors/webhooks/creating-and-monitoring-webhooks/#webhook-retry-logic
Webhooks are built to be RESTful and will follow server directions for retries for temporary issues like HTTP 503s or 429s. We would recommend servers not returning these responses if the requests should not be retried.
We'd love to know what specifically is concerning about this logic.
Webhook requests that time out are retried up to five times. Consecutive failed requests won't deactivate the webhook.
We cant control these as we dont control the response.
For me its specifically this, since Zendesk only waits a second or two for a successful response, we have some integrations that occasionally take slightly longer than that to complete. Today we are okay with the current logic, even though ZD receives a Timeout Response, our system handles that request accordingly and finishes running.
With being forced over to your new Webhooks, this would cause duplicate jobs being sent and ran until we are able to refactor our integrations to be 100% async or have an effective method to filter out duplicate requests.
We would prefer to never have a timeout retry, or perhaps Zendesk could include something specific in the Headers that would indicate when a retry attempt is being made.
Chris Sos
Regarding these two bullets:
Is the conversion automatic or should I be able to do it manually now? I am currently not allowed to update the target I currently have installed as part of a private app.
The requirements specification does not seem to allow specification of webhooks yet. https://developer.zendesk.com/documentation/apps/app-developer-guide/apps_requirements/ when will this be possible?
Hi Jacob Kjeldahl
I can understand that this is a little ambiguous in the announcement above. In regards to conversion, this will be automatically handled by Zendesk as HTTP targets created by apps are excluded from the conversion process available to customers in product.
With regards to availability of webhooks support in apps requirements, we had hoped this would be able to be released earlier, but this will be coming very shortly - we are currently resolving a few issues here but rest assured this will be available in the coming weeks. Until this is available, apps will continue to be able to create HTTP targets and will not fail validation.
Please sign in to leave a comment.