ServiceNow IntegrationHub or Exalate: How do they Compare?

IntegrationHub vs. Exalate

Modern software teams use multiple software platforms to organize their work. There are many options, like IntegrationHub and Exalate, for teams looking to integrate them. Obviously, they all have their pros and cons and it’s important to be aware of these if you want to choose the right technology. By picking a system that meets your needs, you’ll be able to maximize the advantage you get from synchronizing your data.

There’s a key question when deciding whether to use ServiceNow IntegrationHub or Exalate: How do they compare? We’re going to look at both systems in detail today and see what they have to offer. We’ll also take you through the full set-up of both systems so you could really understand what solution they both provide. Finally, we’ll cover common use cases for both IntegrationHub and Exalate.

ServiceNow is hugely popular with teams working on the cloud. Its IntegrationHub solution allows it to share workflows with other services.

Exalate is a cross-company integration solution that aims to deliver reliability, flexibility, and autonomy. It has many high profile clients including brands like Dell, Panasonic, and IBM.

As well as describing what each platform does, we’ll see how they perform in use cases and will get an idea of what they do best. 

Here’s what we’re going to cover in this article: 

ServiceNow IntegrationHub and Exalate: a Quick Comparison

As there is a vast variety of integration scenarios, it would be a good idea to first look from a broader perspective before comparing IntegrationHub and Exalate for a particular use case. We should as well acknowledge that ServiceNow IntegrationHub and Exalate target different sorts of organizations and needs.

IntegrationHub: It is used by enterprises as the main platform to manage IT services with the intention of taking the IT automation to the next level. For such a purpose, IntegrationHub, along with flow-designer and the spokes for various systems, provides an excellent foundation. So with that purpose in mind, if an organization does not choose IntegrationHub, it would most probably be for strategic reasons.

Exalate: It is a cross-company integration solution for organizations with teams working on different platforms, like ServiceNow, Jira, Azure DevOps, GitHub, etc, that intend to streamline the corporation between teams by synchronizing their tickets. Exalate is a good candidate for such a purpose, because of its autonomy, flexibility, and reliability. So if a company is looking for a way to sync incident/ change/ problem tickets with Jira issues/ projects/ stories, then Exalate is a good solution.

Now that we’ve gone over the differences between the platforms, we’ll walk you through setting each of them up. We’ll then examine some use cases to see how things work in practice.

Let’s continue our investigation by looking at both solutions, starting with IntegrationHub

What does ServiceNow IntegrationHub do?

IntegrationHub enables the execution of third-party APIs as a part of a flow when a specific event occurs in ServiceNow. These integrations, referred to as spokes, provide powerful actions without the need to write a script. IntegrationHub provides the following functionalities:

  • Spokes for integrations to a number of third-party tools
  • Creates custom integrations
  • Automate the administration of servers and applications in a network behind a firewall

Installing ServiceNow IntegrationHub and Jira Spoke

IntegrationHub is a separate subscription feature. It has four flavors as indicated below.  Jira is included in the Standard subscription package.

integrationhub subscription feature

Installing IntegrationHub with a subscription

If you have an Integration Hub subscription, ServiceNow will install it on your production and sub-production instances for you.

Installing IntegrationHub on a Sub-production Instance without a Subscription

If you just want to evaluate IntegrationHub before deciding to subscribe or not, check out the information here first on how to request it. You do need to have a ServiceNow HI instance account to request it (meaning that you have an active ServiceNow instance subscription).

Installing IntegrationHub on a PDI (Personal Development Instance)

If you just want to evaluate IntegrationHub without an active ServiceNow Instance, you can request a free evaluation on a PDI. 

Go to your Developer’s account and find “My Instance”.

integrationhub evaluation

Click the “Activate plugin” and choose any of these installers that include the Jira Spoke:

activate plugin integrationhub jira spoke

Verify the Installation of IntegrationHub and Jira Spoke

On the ServiceNow instance, type “IntegrationHub” in the “Filter Navigator” on the left pane. You should be able to see the IntegrationHub Application.

ServiceNow IntegrationHub application

In order to verify that Jira Spoke is installed correctly, you need to check that the Jira Spoke Actions are available in the ServiceNow Flow Designer Application.

Flow Designer is a Now Platform® feature for automating processes in a single design environment. Flow Designer lets process owners use the natural language to automate approvals, tasks, notifications, and record operations without coding. In connection with IntegrationHub, Flow Designer communicates with external instances and third-party systems. 

(Flow Designer should be installed automatically on your ServiceNow instance. If not, you can activate it by going to “System Definition” → “Plugins” → “Flow Designer – Designer” → “Activate”)

Search for Flow Designer on the Left Pane and open it. 

integrationhub flow designer
actions in jira spoke

Go to “Actions” and type in “Jira Spoke” under “Application”. You should find a number of Actions belonging to the Jira Spoke application that can be used in the Flow Designer for the integration with Jira.

How to set up Jira Spoke

Use Jira Spoke to manage issues, users, stories, and groups in Jira. Retrieve Jira data to use in a flow. Use bi-directional webhooks and subscribe to Jira with a ServiceNow callback URL (Note: The bi-directional webhooks are supported in Jira Spoke version 2.6.5)

ServiceNow documentation has Step-by-Step instructions on: 

IntegrationHub Use Cases

Use Case 1: Create a Jira Issue from a ServiceNow Incident

In this use case, the trigger for the integration is an event in ServiceNow. e.g. an Incident is created and assigned to the Assignment group ServiceDesk-Jira. A corresponding Issue in Jira needs to be created. The integration is achieved by utilizing the Jira Spoke Action, the “Create Issue”. The sequence of integration steps is defined in a Flow:

Open ServiceNow “Flow Designer” → “Create New” → “Flow”.

integrationhub the flow trigger

Define the trigger of the Flow: An Incident is created & assigned to ServiceDesk-Jira.

creating incident flow trigger integrationhub

Define the Action to Create an Issue in Jira:

  • The Action “Create Issue” is one of the Actions provided by Jira Spoke.
  • The Project Key “DESK” is defined on the Jira side. It defines in which Project the Issue will be created.
  • Summary: The scripts define that the Issue Summary will be derived from the Incident Short Description.
  • All the other listed attributes can have either a fixed value or can be derived from the Incident.
creating an issue jira spoke

The Issue created on the Jira side looks as following:

jira issue integrationhub

The above description gives an idea of how the Flow Designer works. In a real set-up of the Integration, the flow must be further configured to cover the subsequent scenarios of an integrated Incident/Issue.

  • When an Incident/Issue is updated, update the twin ticket.
  • Cover the Error case i.e. define Actions when the Creation/ Update has errors.

Below is an overview of the Jira Spoke Actions related to the Issues. For each Action, the supported attributes are defined/explained:

integrationhub jira spoke actions

Besides the Actions for Issues, Jira Spoke also provides Actions to manage the following entities in Jira. See more details on supported Actions by Jira Spoke here.

  • User
  • Group
  • Project
  • SDLC
  • MetaData retrieval

Use Case 2: Create a ServiceNow Incident from a Jira Issue

In this use case, the trigger for Integration is an event in Jira. e.g. an Issue is created. Through a webhook created in section 1.3, ServiceNow is informed about this event. This triggers a so-called Subflow. There is an OOB Subflow defined as an example, which is not editable. Users can copy this Subflow and do adjustment according to their own needs.

For this User case Subflow, “My process Jira Webhooks” is created and used in the default routing policy for the Jira webhook event.

servicenow incident my process jira webhook

The “My process Jira Webhooks” begins with a section that defines the Input and Output data. The Input data is the data that is transferred from Jira to ServiceNow when a Webhook event is triggered.

  • The Input Data from Jira can be limited.
  • OOB Subflow has included all the supported Jira Data.
  • Because the Jira Webhook does define what event in Jira will trigger the Webhook, in practice only the relevant table, e.g. the Issue, should be included in the Input data.
jira webhook integrationhub

When the Jira Webhook Event “Issue Created” occurs, trigger ServiceNow Platform Action “Create Task” to use the Input data from Jira to Create an Incident in ServiceNow.

creating incident in ServiceNow

Due to the Routing Policy defined in the first step, whenever Jira Webhook events are triggered, this Subflow is executed and in case of a new Issue creation, an Incident is created in ServiceNow correspondingly.

subflow integrationhub

The Subflow works in a stand-alone way as shown above. However, in an integration scenario, the subsequent synchronization of the integrated Issue/Incident pair needs to be covered in a Flow that uses the above Subflow.

Exalate for ServiceNow and Jira

Now we’ve seen how to integrate ServiceNow and Jira using IntegrationHub, let’s try setting up the same kind of integration with Exalate to see how they compare.

First, we need to install Exalate on both platforms. Then we’ll look at configuring it. Finally, we’ll examine some use cases to see how it performs in action. For a dedicated guide to this, read this document.

Install Exalate on ServiceNow

First, we’ll install Exalte on ServiceNow. This process is also covered in this documentation. The first step is to download an Exalate “update set”, which is an XML file. Click here to download it. 

Exalate update set for servicenow

Then open your ServiceNow account. From the “system update sets” menu on the left-hand side, navigate to “Retrieved Update Sets”. From here, click on the import update set from XML. Click the “Choose File” button and select the XML file you just downloaded. Then click the “Upload” button.

exalate for servicenow xml update

You should be able to view the uploaded file, with “Exalate” mentioned in the description.

Click the Exalate file and then the “Preview Update Set” button. You might need to update your setup by clicking the “Accept remote update” button if you see errors.

If things are working fine, click the “Commit Update Set” button and the installation should be complete for ServiceNow.

Install Exalate on Jira

Next, you’ll need to install Exalate in Jira. The process is different depending on whether you have the Cloud or Server version of Jira.

In either case, you can install Exalate and get started with a free trial.

On the Cloud version, you can find Exalate in the marketplace. If you use your own Server, look in the add-ons menu. Click “Find New Apps” and then search for “Exalate”. The app you want is called “Exalate Jira Issue Sync & more”. 

exalate for jira

Click on the free trial button, which will take you to the MyAtlassian site. Once you log in here, you’ll need to agree to the terms and conditions and then you can click the button to generate your license.

generate license for exalate for servicenow

A pop-up will appear which should include the name of your Jira instance. Click “Apply License” if it is correct.

Exalate license confirmation on Jira

You’ll be sent back to Jira. A license confirmation popup will appear. Click “Get started” and you’re done.

For more details, read this Jira Cloud installation guide, or Jira Server installation guide.

Now we’ll discuss connecting the platforms and then move on to our use cases.

Connect ServiceNow and Jira via Exalate

With Exalate installed on both sides, the next step is to connect them. We do this by generating an invitation in one platform and copying the invitation data to the other. We can create the invitation on either platform. The process is similar however we do it. For this example, we’ll look at creating it in Jira.

exalate initiate connection

First, navigate to the “Connections” tab in your Exalate node. From here, click the green “Initiate connection” button to begin.

choosing Exalate connection type

Next, you have to choose the type of connection. You can choose to access an instance that is accessible or one that is not accessible. We’ll leave it at the default, for now, you may need to change it depending on your setup.

On the next screen, you’ll need to enter your destination instance URL. This will be the URL of your ServiceNow Exalate node, or your Jira node if you are creating the invitation in ServiceNow. After you’ve entered it, click next again.

Next, you need to pick a Sync rules template. You can leave this at the default and click next. You can do the same with the sync rules details. We’ll look more closely at these in our use cases.

You’ll also need to pick a local project where new issues will be created. There will be a drop-down box allowing you to choose from available projects.

adding a connection name

Finally, add a connection name. It is a good idea to give it a meaningful name as you may have multiple connections later and it is useful if the name conveys what each one does.

You can also add a description to give you more information about the connection. This is optional but again, it is good to have this information. It can be very helpful for you and anyone else that wants to know what your connection does.

Click the green “Initiate connection” button and your invitation code will be generated. Copy this and paste it somewhere safe. You’ll need it in the next step.

exalate invitation code

Now you need to go to the other platform. Since we started in Jira, we’ll now switch over to ServiceNow. Look for the connections item in the left-hand menu. From there click the white “Accept Invitation” button in the top right.

accept invitation exalate

You’ll see a box with text about it saying “Enter the invitation code”. Paste the long code we just generated into this box and click the “Next” button.

Again, you’ll need to choose a connection type and a sync rules template, but you can just pick the defaults for now. You may also be asked to pick a local project to use for synchronization.

Click “Confirm” to finalize the connection. It should now be visible in the “Connections” section of both platforms.

Now let’s go over a couple of use cases to see what we can use it for.

Exalate Use Cases

Use case 1 – Create a Jira Issue from a ServiceNow Incident

We’ve seen how to do this with ServiceNow earlier, now let’s go through the same process with Exalate to get an idea of how they compare. With Exalate we control when data is shared using synchronization triggers, and we control what is shared by editing our synchronization rules.

The sync rules control how data in each platform is matched to data in the other.

To create a Jira issue from a ServiceNow incident we need to edit the outgoing sync rules in ServiceNow and the incoming sync rules in Jira. To do this in Jira, look at the connections screen and click the three dots next to the connection we created earlier.  Click the edit button and then the “Sync Rules” tab on the screen that appears.

Adjust the rules so they look like the screenshot below.

exalate sync rules

In ServiceNow, we do the same thing, finding our connection, and selecting edit. The outgoing sync rules need to look like this:

jira servicenow sync rules

We also need to define a synchronization trigger, to make sure Jira creates an issue when ServiceNow creates an incident. We will create a trigger, that looks like this.

To create a trigger, select “Triggers” from the left-hand menu. You’ll see a green “Create Trigger” button. Click it to get started.

You can use JQL query language to define exactly what conditions to set. The query we’ll use is: “Issuetype = ServiceNow”

Enter that and choose your previously named connection from the dropdown box. You can add some optional notes if you want to make what you’ve done easier for other people to figure out. When you’re ready, click the “Create” button and you’re ready to go.

Use case 2 – Create a ServiceNow Incident from a Jira Issue

Now let’s move on to the inverse scenario, creating a ServiceNow Incident from a Jira issue. One advantage of Exalate is that it uses the same interface and steps for different systems, so we can integrate several platforms without having to learn a new process each time.

The process for this use case is essentially the same as the first one but in reverse. 

To do it, we’ll need to look at our incoming and outgoing sync rules. This time, we’ll change the incoming rules on ServiceNow and the Outgoing rules on Jira.

Firstly, let’s look at the incoming rules on ServiceNow. From the Exalate screen, click on “Connections” in the left hand menu. Find the connection we created earlier and click the edit button that appears when you hover the mouse over the connection.

servicenow to jira connection

Then click “rules” and adjust what’s there as required. They should look like the inverse of the rules in use case 1. The rules page contains the incoming and outgoing sync rules. You’ll have to scroll down to see the incoming rules, which will look like this by default:

servicenow jira incoming sync rules

You can see the first entry, starting with the text “if(entityType == “incident”) {“. That will map incoming data from Jira to our incidents. Adjust the specifics here if you want to do it differently. Rules for other types of items have also been created. You can delete these if you don’t need them.

Now go to Jira and adjust the outgoing rules in the same way. Click the “Connections” text, then select the “edit” button near the connection. You can then adjust the rules so the information matches that on the other side. Here’s what it will look like by default:

Jira to SNOW Outgoing Sync Rules

Next, let’s look at the synchronization triggers on our ServiceNow Exalate node.  We can find that by clicking “Edit”, then the “Triggers” item at the top. 

Click the “Create Trigger” button and a pop-up will appear. Make sure “issue” is selected from the drop-down box and then enter the appropriate JQL to create the incident from your issue. You can see how we’ve done it below:

jira trigger

In this case, we’ve used the code “issuetype = ServiceNow” as our trigger condition. As we’ve noted, this will send issues to service now if we give them the “ServiceNow” type within Jira. This might not exactly match your setup, so you may need to adjust it. Take a look here for some information about the JQL query language.

We’ve also made sure the trigger is active, by clicking the tick to select it. Click the green “Add” button, and we’re done.

If you want to learn how Exalate can solve your integration problems and synchronize your teams, you can easily book a one-on-one demo with an expert here.

IntegrationHub or Exalate? The Verdict

Both of these tools are worth investigating if you’re looking to help your organization evolve, and it is worth spending time considering what they offer and how they match your organizational needs.

But if we want to compare the two based on a simple concrete integration use case, for example creating an Incident (Issue) from an Issue (Incident), the following conclusions could be drawn: 

  • To achieve such a simple integration scenario, ServiceNow IntegrationHub needs more configuration work and is consequently more costly from a financial point of view. 
  • Jira Spoke is a third-party application designed for IntegrationHub, the included Actions are extensive but fixed. Therefore, the integration of customized attributes/ process logic on Incident/Issue depends on what each Action supports. If an Action needs to be adjusted to allow more flexibility, an updated version from the creator of the Spoke is then needed.
  • IntegrationHub provides the immediate means of creating a Jira Issue from different ServiceNow ticket types (e.g. Problem, Change, etc). The support of Integration scenarios is more flexible, for instance, it allows integration between Incident/ Issue, Change/ Story, Change/ Project, etc. with the same ServiceNow/ Jira connection. But different flows are needed to be designed in ServiceNow for every desired integration scenario.

So the bottom line is that IntegrationHub is more of a ServiceNow infrastructure for integration/ automation. Exalate is a solution for internal and cross-company integration scenarios between a variety of platforms. They are actually not direct competitors with one another. And if somebody intends to use ServiceNow IntegrationHub only for Jira integration, it would be like shooting birds with a cannon!

Conclusion

Getting your teams working together harmoniously doesn’t have to be a headache. We’ve looked at two excellent tools for connecting platforms and automating the transfer of data between them. IntegrationHub is a useful tool for connecting ServiceNow to other platforms. 

Exalate is also an excellent solution that allows you to link data between multiple platforms. One of its advantages is that it gives you a consistent interface on different platforms which can make it easier to work with as your business grows and your collaboration goes from internal to cross-company integration. 

Become an Exalate user and experience an optimized workflow.

Book a demo now

Add a Comment

Your email address will not be published. Required fields are marked *