How to Get ServiceNow Data in Power BI

Cody Schneider8 min read

Getting your ServiceNow data into a tool like Power BI is one of the quickest ways to transform your raw IT service management (ITSM) data into powerful, interactive reports. Instead of being limited to ServiceNow’s built-in reporting, you open up a world of advanced analytics, custom visuals, and the ability to combine your service data with other key business metrics. This guide will walk you through exactly how to connect ServiceNow to Power BI, step-by-step.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Why Connect ServiceNow to Power BI?

While ServiceNow is a fantastic platform for managing operations, its native reporting can sometimes feel limited. Connecting it to a dedicated business intelligence tool like Power BI gives you several major advantages:

  • Unified Dashboards: Most business processes don't happen in a vacuum. In Power BI, you can merge your ServiceNow incident data with DevOps data from Azure DevOps, sales data from Salesforce, and financial data from your ERP system. This lets you see the full picture, like how a spike in critical incidents impacts customer support tickets and sales conversations.
  • Advanced Visualizations: Power BI offers a massive library of charts, graphs, maps, and custom visuals that go far beyond ServiceNow's capabilities. You can create more intuitive and engaging reports that make it easier for stakeholders to understand trends and performance at a glance.
  • Powerful Data Modeling: With Power BI’s Power Query Editor and DAX (Data Analysis Expressions) language, you can perform sophisticated data transformations and calculations. You can create complex calculated columns and measures, like calculating the average time to resolution by priority and category, or building custom time intelligence functions that aren't possible out-of-the-box in ServiceNow.
  • Scheduled Data Refreshes: Once published to Power BI Service, your reports can be set to refresh automatically on a schedule. This ensures your team is always looking at the most current data without anyone having to manually export CSVs or update dashboards.

Before You Start: Preparing ServiceNow for Connection

Before jumping into Power BI, a little prep work in ServiceNow will make the whole process much smoother. Failing to do this is the most common reason connections fail or reports perform poorly.

1. Check Your User Permissions

You can't pull data you don't have permission to see. To connect Power BI, you'll need a ServiceNow user account with the right roles to access the data via API. While an admin-level account would work, it's not a security best practice.

Instead, create a dedicated service account specifically for Power BI. This account should have, at a minimum, the itil role or a custom read-only role that grants access to the specific tables you need to report on (like incident, change_request, etc.). This ensures Power BI can only read data, preventing any accidental modifications to your ServiceNow instance.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

2. Identify Your Target Tables

ServiceNow stores all its data in a structured database of tables. Instead of connecting blindly, take a moment to identify exactly which tables contain the data you need for your report. Pulling in dozens of unnecessary tables and columns will slow down your connection and make your Power BI report sluggish.

Some of the most common tables used in reporting include:

  • incident: For all incident records.
  • problem: For all problem records.
  • change_request: For change management records.
  • sc_req_item: For service catalog items requested.
  • sys_user: For user information, needed to report on who opened an assignee.

You can find the technical name for any table in ServiceNow by navigating to "Tables" under the "System Definition" module and searching by the human-readable label.

Connecting ServiceNow to Power BI: A Step-by-Step Guide

With your ServiceNow account ready, you can now connect to your data directly from Power BI Desktop. The most reliable method is using the built-in ServiceNow connector.

Step 1: Open Power BI and Select "Get Data"

Start by launching Power BI Desktop. On the "Home" ribbon, click the Get Data button. This will open a menu with common data sources. Click More... at the bottom to open the full list of available connectors.

Step 2: Find the ServiceNow Connector

In the "Get Data" window, type "ServiceNow" into the search bar. You should see an option for ServiceNow. Select it and click Connect.

Step 3: Enter Your ServiceNow Instance URL

Power BI will prompt you to enter the URL of your ServiceNow instance. This is simply the main web address you use to access ServiceNow, formatted as https://yourcompany.servicenow.com. Make sure to omit any extra paths at the end.

By default, it imports data ("Import" mode), but you can also use "DirectQuery" mode. For reporting newbies, it’s best to stick with the default ‘Import’ mode, which offers the best performance by loading a snapshot of the data into your Power BI file.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Step 4: Authenticate Your Account

Next, you’ll need to sign into your ServiceNow account. Power BI provides a couple of authentication options:

  • Basic: Enter the username and password for the dedicated user account you set up earlier.
  • Organizational account: This uses modern authentication (OAuth 2.0) and is generally the more secure and recommended method if your organization has it configured. You'll be prompted to sign in through your organization’s standard login page.

Once you enter your credentials and sign in, click Connect.

Step 5: Select Your Data in the Navigator

After a successful connection, the "Navigator" window will pop up. This is where you’ll see a list of all the tables available in your ServiceNow instance that your account has permission to read.

Using the search bar, find and select the checkbox next to each table you identified in the preparation phase (e.g., incident, sys_user). You'll see a data preview on the right as you select each table.

Step 6: Transform Your Data

This is the most critical step for building a high-performing and useful report. At the bottom of the Navigator window, you have two options: Load and Transform Data. Always choose Transform Data.

Clicking Transform Data opens the Power Query Editor. This is where you clean and prepare your data before it gets loaded into your report. Inside the Power Query Editor, you should:

  • Remove Unnecessary Columns: Your tables might contain hundreds of system fields you don't need. Use the "Choose Columns" feature to select only the fields relevant to your report. This drastically reduces the file size and improves performance.
  • Filter Rows: If you only need to report on incidents from the last year, filter out older data here. The less data you load, the faster your reports will run.
  • Check Data Types: Ensure that date columns are formatted as Date/Time, numerical columns are numbers, and so on. Incorrect data types can cause errors in your visualizations.

Once you’re done cleaning up your data, click "Close & Apply" in the top-left corner. Power BI will then load your prepared data and you're ready to start building visualizations in the report view.

Best Practices for Your ServiceNow Reports in Power BI

Connecting the data is just the first step. To create truly valuable reports, keep these best practices in mind:

1. Model Your Data Correctly

Once loaded, go to the "Model" view in Power BI. This is where you create relationships between your tables. For example, you can create a relationship between the caller_id in the incident table and the sys_id in the sys_user table. This allows you to slice a chart of incidents by the user's name or department, bringing the data to life.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

2. Mind the 'Display Values'

A classic ServiceNow reporting pitfall is dealing with reference fields. Many columns in ServiceNow store a cryptic System ID (sys_id) instead of a human-readable name. For instance, the assignment_group field in the incident table holds the ID of the group, not its actual name. This is why it’s so important to also import related tables (like sys_user_group) and create relationships so you can pull the actual names into your charts and tables.

3. Create a Calendar Table

For any serious time-based analysis (like trending incident counts over time), don't rely on the default date hierarchies. Best practice is to create a dedicated Calendar Table in your Power BI model using DAX. This gives you much more flexibility and power for creating time-intelligence calculations, such as year-over-year growth or rolling 30-day averages.

Final Thoughts

Connecting ServiceNow to Power BI opens up a powerful new way to understand and communicate your operational performance. By following the steps to properly connect, transform, and model your data, you can move from simple lists of incidents to insightful, interactive dashboards that help drive better business decisions.

While Power BI's built-in connectors are powerful, the process still requires manual steps in setup, data transformation, and visualization. To streamline this, we built Graphed to remove the friction. Rather than navigating connectors and learning Power Query, you can connect your data with just a few clicks and then use simple, natural language to ask questions like, "Show me a chart of incidents by priority created last month" and instantly get the visualization you need. It turns an hour of report building into a 30-second task.

Related Articles