Exporting Data in ServiceNow
As a ServiceNow Admin, I use this functionality daily.
In ServiceNow, you can very easily export data from a form or list view, into multiple file formats including: CSV, XML, JSON, Excel, PDF and Export Sets (Used to move data from one ServiceNow environment to another). This can be done with just a few clicks once you know what data you’re going to export.
It’s usually for other people that are asking me to retreive the data from ServiceNow.
And because this is such a simple task to complete, I tend to use this as a “teachable” moment for my power users. Spread the love, your company will be happy and it obviously improves your reputation a bit. Who knows, maybe they’ll teach someone else how to do it?
Most people don’t realize how simple it is to export data, and it’s much faster to export data than to send a Slack message and interact with your ServiceNow Admin.
You can export form data, list data, URL export, even Web Services are a form of data export.
As you will learn, ServiceNow loves the “right-click” feature. And the export data functionality uses this all over. When you want to dig further into data, to export it for example, simply right-click on the form header, which will open a ton of options to take next steps.
How To Export ServiceNow Data
I’ll cover the most common methods of exporting ServiceNow data.
Export Form Data
This is used when you want to export a SINGLE record.
To do so, simply navigate to that record to export.
Right-click on the gray form header, and you’ll see a large drop down list appear from the form header.
Navigate down to the “Export” option and select between your options. In the form view, you can only export the single record to PDF or XML.
If you need the data in CSV (Comma Separated Values) format – you can export the data via list view shown in the next section.
Export List View Data
Do you want to export multiple records? If you can find them in the “list view” of ServiceNow, then you can easily export hundreds or thousands of records.
There are export limits, which we will cover below.
To export multiple records, navigate to that list view and right-click on the column header, as shown below.
Similar to the form export, you will have a drop down once you right-click on the column header, with many different options.
Go down to the “Export” option and you’ll see all of the different formats to export data into.
I have decided to only export a subset of the data.
As you can see above, I am only exporting the data where the Category = Inquiry / Help, so only those records will be shown in the data export.
Keep in mind that when you are exporting data from a list view, only the columns that are shown are exported. If you want to export more or even all fields, you need to add all of those fields to the list view.
To add more fields to the export option, click on the List Mechanic Gear symbol, just below the condition builder.
When you do so, the below slush bucket will pop up showing you all of the available fields to export.
Move fields from the left to the right and then select “OK” and then re-export the data if you didn’t get the right fields included the first time.
Export via URL
This option is not well known among most ServiceNow Admins. And it’s likely not something that an end user would ever have to do. The list view export should suffice for most cases.
But you can actually export data, entirely via creating a URL.
In order to do this, you need to be familiar with the ServiceNow fields, tables and understand how the sysparm_query operator works.
This format looks like the below.
https://<instance_name>.service-now.com/<table_name>.do?<format>
So breaking this down a bit, the first part is obviously your ServiceNow instance domain.
Then you need to know your table name, followed by a “_list”.
Finally, you need to decide on what file format you’re going to be exporting to.
So it could eventually look like this:
https://<instance_name>.service-now.com/incident_list.do?CSV
This would be if you wanted to export ALL incidents to CSV, as we haven’t included a sysparm_query yet.
To only export certain records from the URL, you need to build out a query in the URL.
For example, if you wanted to export all of the incidents of Category = Inquiry / Help via URL into a XML format, you would create the following URL:
https://<instance_name>.service-now.com/incident_list.do?XML&sysparm_query=category=inquiry
To export a single record, use the sysparm_query operator to build out a single sys_id, which is the sys_id of the record you want to export.
If you want to learn more about URL exporting in ServiceNow, go here.
System Properties Controlling Export Limits
If you need to export more than 10,000 records, you’ll need to increase your system properties to allow for this.
By default, ServiceNow limits the amount of data that can be exported. But modifying a system property can increase this number.
I have personally had to bump the limit up to 100,000 and didn’t see any issues.
ServiceNow Support will suggest against doing this for performance reasons.
Below are the out of box system properties and their values. If you are not the ServiceNow Admin, you’ll need to ask your ServiceNow Admin to increase the property.
If you need to bump it up to say 20,000 or 30,000 – that should be completely fine. But it all really depends on how many users you have in your instance.
If you are at a large company and have thousands of users in the environment at a given time, you may experience some small performance issues while the system is exporting the data – but I wouldn’t expect a huge impact.
Just don’t increase the value to something like 250,000 or something absurd – then who knows what might happen.
And always remember to drop the value of the system property back down to the default export limit if you’re just making a large export one time.
This will make sure that your instance is most performant and you’re not allowing end users to export large amounts of data for no reason.
Format | System Property | Default export limit |
---|---|---|
XML | glide.xml.export.limit | 10,000 |
CSV | glide.csv.export.limit | 10,000 |
EXCEL (XLSX) | glide.xlsx.export.limit | 10,000 |
EXCEL (XLS) | glide.excel.export.limit | 10,000 |
EXCEL (XLSX) | glide.xlsx.max_cells | 500,000 |
EXCEL (XLS) | glide.excel.max_cells | 500,000 |
glide.pdf.max_rows | 1,000 | |
glide.pdf.max_columns | 25 | |
JSON | glide.json.export.limit | 10,000 |
Let us know if you have any issues or questions as it relates to exporting data.
Are there any common issues or situations you find yourself in, when exporting?
Do many users at your company know how easy it is to export data?
Let us know below.
How do we disable the “export and send in email” option, I dont see an option to disable it anywhere.
Hi Prakash,
We’re not aware that this is an option in ServiceNow.
Where are you seeing this?
I’ve looked on the Community site, and in our own instance – and that doesn’t come up as an option anywhere.
Having the same issue myself – after selecting send data export via email as the default option (this pops up when you select report data to export and after it has compiled the data set) I am unable to find anywhere to switch it off
Was there an update on this issue? I am looking for a solution to this same problem
Nice summary, I’d like three more pieces of information, 1) using an encoded query as the sysparam, 2) what if I need dot walked content in the export, 3) what if I do want 250K records, what method for large downloads should I use?