---
sourceDocument: Xanadu Create Integrations with Applications
sourceDocumentLink: https://www.servicenow.com/docs/r/xanadu/integrate-applications

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu Create Integrations with Applications

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# Set up a bi-directional webhook for the Jira spoke

# Set up a bi-directional webhook for the Jira spoke {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read

Configure a webhook to subscribe to Jira with a ServiceNow callback URL.

## Before you begin

* Request an Integration Hub subscription
* Activate the Jira spoke
* Role required: admin
{#setup-jira302-webhooks__ul_xl3_c55_z3b}

## Create
a
token {#ariaid-title2}

Create a token to embed in the Jira webhook URL.

### Before you begin

Role required: admin

### Procedure

1. In the navigation filter, enter <kbd class="ph userinput">token_verification.list</kbd>.  
   The system displays records in the Token Verifications table.
2. Click New.
3. On the form, fill the fields.  
   {#create-token-jirav302__table_uzr_l41_1jb__entry__2}

   | Field | Description |
   |-|-|
   | Name | Unique name to identify the token. For example, <kbd class="ph userinput">Jira token</kbd>. |
   | Description | Description of the token. |
   | Token | Authentication token. This token is used to authenticate incoming webhook requests. |
   [Table 1. Token Verification form]

   {#create-token-jirav302__table_uzr_l41_1jb}

### Result

The token created is used to authenticate incoming webhook requests.

## Register a
Jira webhook in ServiceNow {#ariaid-title3}

Register a Jira webhook in ServiceNow to notify the ServiceNow app when certain events occur in Jira.

### Before you begin

Role required: admin

### Procedure

1. Navigate to AllJira WebhooksJira Webhook Registries.
2. Click New.
3. On the form, fill in the fields.  
   {#add-api-path__table_w1l_s55_z3b__entry__2}

   | Field | Description |
   |-|-|
   | Name | Unique name to identify the record. For example, <kbd class="ph userinput">Jira webhook</kbd>. |
   | Description | Description of the record. |
   | Token | Authentication token. This token is used to authenticate incoming webhook requests. |
   | Path | Jira webhook path. By default, this path is set to <kbd class="ph userinput">api/sn_jira_spoke/jira_webhook_callbacks/wh_entry</kbd>. |
   [Table 2. Jira Webhook Registry form]

   {#add-api-path__table_w1l_s55_z3b}
4. Right-click the form header and click Save.
5. Choose how you want to authenticate callback requests and select one of the either options.  
   {#add-api-path__table_a1t_rxc_yhc__entry__2}

   | Callback URL Type | Description |
   |-|-|
   | Token-based Callback URL | Uses a static token in the URL for simple authentication. |
   | HMAC-based Callback URL | Uses Hash-based Message Authentication Code (HMAC) for enhanced security and tamper-proof authentication. |
   [ ]

   {#add-api-path__table_a1t_rxc_yhc}  
   The system displays either the token‑based callback URL or the HMAC‑based callback URL based on your selection.
6. Copy and record the webhook callback URL.

### Result

The Jira webhook is registered in your ServiceNow instance.

## Add a callback URL in Jira {#ariaid-title4}

Provide a webhook callback URL in yourJira Atlassian account to create a webhook.

### Before you begin

Role required: admin

### Procedure

1. Log in to your Jira Atlassian account.
2. Create a webhook in your Atlassian account.
3. Enter the webhook callback URL in the URL field.  
   See the [Atlassian Developer](https://developer.atlassian.com/docs/) portal documentation for instructions on creating a webhook.  
   Note:  
   If you select an HMAC-based callback URL while [registering a webhook](https://www.servicenow.com/docs/48xIbtDMnIycnKfOYFqOrQ#add-api-path "Register a Jira webhook in ServiceNow to notify the ServiceNow app when certain events occur in Jira."), enter the [secret token created](https://www.servicenow.com/docs/48xIbtDMnIycnKfOYFqOrQ#create-token-jirav302 "Create a token to embed in the Jira webhook URL.") from your ServiceNow instance in the webhook's Secret field.
4. Select the related events that should trigger the webhook.

### Result

The callback URL is added in your Jira Atlassian account. You can create routing policies and subflows as per your requirement. See [Customize a bi-directional webhook](https://www.servicenow.com/docs/48xIbtDMnIycnKfOYFqOrQ#customize-routingpolicy "Create a webhook routing policy and subflow as per your requirement.") for information regarding the creation of new routing policies and subflows.

## Customize
a
bi-directional webhook {#ariaid-title5}

Create
a
webhook routing policy and subflow as per your requirement.

### Before you begin

Role required: admin

### About this task

The default routing policy in the Jira WebHook Routing Policies module triggers the Process Jira Webhooks subflow and notifies the ServiceNow app when certain events occur in Jira. See [Jira Spoke](https://www.servicenow.com/docs/oER4AnWLheh_i5ELcB1dSQ "Manage issues, users, stories, groups, projects, sprints, and webhooks, and look up audit logs in Jira. Retrieve Jira data to use in a flow. Use bi-directional webhooks and subscribe to Jira with a ServiceNow callback URL. Install Now Assist for Integration Hub and start using the available AI agents to perform tasks in your ServiceNow instance. Set up triggers for the required events to enable webhooks to connect with your ServiceNow instance.") for information about the fields that the default routing policy and subflows support. To use any other fields in your custom subflow and customize conditions in the routing policy, perform these steps.

### Procedure

1. Navigate to AllFlow DesignerDesigner.
2. Click Subflows.
3. Create a copy of the default subflow, Process Jira Webhooks.
4. Customize the subflow as per your requirement and publish it. See [Building subflows](https://www.servicenow.com/docs/access?context=subflows&version=xanadu&pubname=xanadu-build-workflows&ft:locale=en-US) for more information about creating and using subflows and [Jira Spoke](https://www.servicenow.com/docs/oER4AnWLheh_i5ELcB1dSQ "Manage issues, users, stories, groups, projects, sprints, and webhooks, and look up audit logs in Jira. Retrieve Jira data to use in a flow. Use bi-directional webhooks and subscribe to Jira with a ServiceNow callback URL. Install Now Assist for Integration Hub and start using the available AI agents to perform tasks in your ServiceNow instance. Set up triggers for the required events to enable webhooks to connect with your ServiceNow instance.") for information about the fields that the default routing policy and subflows support.
5. Navigate to Jira WebhooksJira WebHook Routing Policies.
6. Click New.
7. On the form, fill in the fields.  
   {#customize-routingpolicy__table_awj_xgv_z3b__entry__2}

   | Field | Description |
   |-|-|
   | Label | Unique label to identify the routing policy. |
   | Default answer | Option to specify if this is the default answer. The default answer is applicable when the conditions are not met. 1. Click the lookup icon (![Lookup icon]()). 2. Select the required subflow from the Document list. Note: Ensure that the Table name is <kbd class="ph userinput">Flow [sys_hub_flow]</kbd>. {#customize-routingpolicy__ol_sdf_ftb_1jb} |
   | Condition | Conditions to be met when the required events occur in Jira. See [Jira webhooks](https://www.servicenow.com/docs/oER4AnWLheh_i5ELcB1dSQ "Manage issues, users, stories, groups, projects, sprints, and webhooks, and look up audit logs in Jira. Retrieve Jira data to use in a flow. Use bi-directional webhooks and subscribe to Jira with a ServiceNow callback URL. Install Now Assist for Integration Hub and start using the available AI agents to perform tasks in your ServiceNow instance. Set up triggers for the required events to enable webhooks to connect with your ServiceNow instance.") for information about the supported fields. |
   | Answer | Subflow that must be triggered when the specified conditions are met. |
   [Table 3. Decision form]

   {#customize-routingpolicy__table_awj_xgv_z3b}
8. Click Submit.  
   Note:  
   These routing policies are saved in the Decision tables. Users are cautioned against directly updating or modifying data in these tables.

### Result

The routing policy and subflow are created.

*[\>]: and then


