Has anyone integrated ServiceNow with Power BI?

Brian O_Donnell
Tera Guru

We are looking to utilize powerbi.com for data analytics of our ServiceNow data.   They are utilizing OData connection.

Wondering if anyone has had experience using something like this and how you were able to access the data.   We seem to be having connection problems.   We can connect by using the basic REST functionality with basic auth, but are getting errors trying with OData and my thought is that I must have a header incorrect.

22 REPLIES 22

macmceldon
Kilo Contributor

Hi - This topic is a very nice use case for Power BI and the good news is I have been leading the development of a solution to allow data consumption from Service Now by Power BI by way of an OData compatible proxy service.



Currently we're in Pre-Alpha stage so more input from real world users would be greatly appreciated and advantageous to both parties I suggest.



I do have some examples you can connect to and explore; if you register below the team can assist directly.



http://www.snowtrak.com



Thanks,



MC


macmceldon
Kilo Contributor

As a follow up to previous, you can find a sample API endpoint below;



This will allow anonymous connection from PowerBI and offers a subset of fields from Incident, Change Request and User Service Now entities for simple proof of concept.



Of course, most common authentication methods can be deployed as can any specific schema or operations that you require.



Please give it a try and feedback..




http://snowtrak.azurewebsites.net/


Further - in order to get each entity type append the entity type to the above URL, selecting OData Source as your data source in PowerBI;



http://snowtrak.azurewebsites.net/Incidents


http://snowtrak.azurewebsites.net/ChangeRequests


http://snowtrak.azurewebsites.net/Users


restevao
Giga Expert

This will do it, advanced query



let        


  authKey = "Basic xxxxxxxxxxxxxxxxxxxxx",


  url = "https://xxxxxxxxxxxxxxxx.service-now.com",


  GetJsonQuery = Web.Contents(url,


  [


  Headers = [#"Authorization"=authKey, #"Accept" = "application/json"],


  RelativePath = "/api/now/table/incident"


  ]


  ),


  FormatAsJsonQuery = Json.Document(GetJsonQuery),


  result = FormatAsJsonQuery[result]


in


  result




OR




let


  page1 = Json.Document(Web.Contents("https://xxxxxx.service-now.com/api/now/table/incident?sysparm_limit=10",[Headers=[#"Accept" = "application/json" ,#"Authorization"="Basic xxxxxxxxx="]]))


in


  page1


ianbradley
Tera Contributor

As part of our 'Metricus for ITSM' offering, Metricus offers a PowerBI for ServiceNow solution. ServiceNow data is updated near real-time into our ServiceNow datamarts (Analysis Services and SQL). For access to an online demo, please go to http://www.metricus.com/contact-us/