Creating a Webhook


To create a webhook for your app you need to visit the My Apps section of developer.xero.com.

All you need to do is select your app and tell us two things:

  • The categories of events you’re interested in, and
  • The url for us to deliver to
Screenshot of Webhooks Form

Note: Your URL must be HTTPS

Click save and your webhook is created. You’ll need to take note of the Webhook Key which is used when doing an intent to receive validation.

When your webhook is first created the status will be Intent To Receive required.

Screenshot of Webhooks Form Showing Status

The Webhooks Status

Intent To Receive required Your webhook subscription has just been created and events won’t be delivered until the intent to receive validation is started. Updating your delivery url and re-enabling a disabled subscription will also place you in this status.
Intent To Receive in progress Intent to receive validation is in progress. This can take up to 30 seconds to complete. If it fails, the status will go back to Intent To Receive required and you will have to click the Send ITR button to retry.
OK Webhooks are being delivered successfully.
Retry We haven’t received a successful response on the most recent delivery attempt and will retry sending with decreasing frequency for an overall period of 24 hours.
Disabled We haven’t received a successful response after retrying for 24 hours and the webhook is now disabled. Click the Re-enable button to re-activate your subscription.