Exporting and converting records into complex data types

  • Release version: Yokohama
  • Updated January 30, 2025
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Exporting and converting records into complex data types

    This functionality enables ServiceNow customers to export table records using URL parameters in HTTP GET requests and convert those records into various complex data types such as JSON, XML, PDF, CSV, and XLS. It allows easy retrieval of data in the desired format for reporting, integration, or offline analysis.

    Show full answer Show less

    Key Features

    • Data Export via URL Parameters: Append specific parameters to table URLs (e.g., CSV, XLS, PDF) to export records in the corresponding file formats. For example, incident.do?XLS returns incident records as an Excel file.
    • Supported File Formats: CSV, Excel (XLS, XLSX), JSON (JSONv2), PDF, RSS, and XML with options for unload format XML compatible with import sets.
    • Filtering Records: Use parameters like sysparmquery to filter records (e.g., active=true) and sysparmview to specify list views controlling which fields are included in the output.
    • PDF Export Specifics: Generate PDFs of either a list of records by suffixing the table name with list or a single record by providing its sysid.
    • File Naming and Response: Exported files are named after the table with appropriate extensions (e.g., incident.xls). The HTTP response includes the correct Content-Disposition header for file download.
    • Direct Import (POST) Capability: CSV, Excel, and JSON data types can be posted directly into tables, provided the file headers match the target table's field columns.

    Practical Usage

    • Retrieve filtered data sets efficiently in various formats suitable for reporting or integration.
    • Use export URLs with filters to target specific records, reducing manual data extraction efforts.
    • Leverage direct POST capabilities to import data files into tables, streamlining data ingestion.
    • Generate PDFs for documentation or record-keeping by targeting either lists or individual records.

    Example Queries

    • Export active incidents as CSV: incident.do?CSV&sysparmquery=active=true
    • Export active incidents as Excel: incident.do?XLS&sysparmquery=active=true
    • Export incident list as PDF using ESS view: incident.do?PDF&sysparmview=ess
    • Export active incidents as XML unload format: incident.do?XML&useUnloadFormat=true

    This export and conversion capability provides ServiceNow customers with flexible, automated methods to obtain and use their data in the formats they need, supporting efficient analysis, reporting, and integrations.

    Use URL parameters to export table records and convert them into complex data types, such as JSON, XML, PDF, CSV, and XLS.

    Exporting records as complex data types

    You can use an HTTP GET request to retrieve records from a table and put them in a specified format. For example, use the PDF parameter in a GET request to export records from a table as PDF files; use the XLS parameter to export records from a table as XLS files. For example, to retrieve a list of incident records as XLS files, issue an HTTP GET using the following URL: https://instance_name.service-now.com/incident.do?XLS. The file returned is incident.xls. incident.do is basically a GET that returns a list of the records from the incident table. The XLS parameter converts those records into XLS files.

    The general syntax is: https://<serviceNow-instance-name>/<table-name>.do?<Data-type-parameter>

    URL parameters

    The following table shows URL parameters you can use in GET requests, filters you can use to filter out unwanted table records in the return, and an indicator of whether you can POST the data type directly to a table. The parameter becomes the extension of the returned file, for example, using the XLS parameter returns a file in the form <table-name>.xls.
    Table 1. URL parameters
    Data type Parameter Valid filters Directly POST to table?
    CSV CSV sysparm_query, sysparm_view Y
    Excel XLS, EXCEL, XLSX sysparm_query, sysparm_view Y
    JSON JSONv2 Various. See JSON data retrieval API. Y
    PDF PDF sysparm_query, sysparm_view N
    RSS RSS sysparm_query, sysparm_view and more. See Limiting results with a view. N
    XML XML, XSD, SCHEMA sysparm_query, useUnloadFormat N

    For more information about retrieving and converting table records into the JSON file format, see JSONv2 Web Service.

    For more information about retrieving and converting table records into the RSS file format, see RSS feed generator.

    Converting records to PDFs

    For PDF export, there is a distinction between targeting a table and targeting its list. To generate a PDF of a list of records, suffix the target with _list. To target a single record, you must specify the sys_id parameter to identify the record for which you are generating the PDF.

    Filters

    All URL parameters work with filters that enable you to export a subset of table records. For example, sysparm_query=active=true in a GET request exports only active records. The following example exports only active incident records in an Excel format: https://instance_name.service-now.com/incident.do?EXCEL&sysparm_query=active=true.

    The general syntax is: https://<serviceNow-instance-name>/<table_list>.do?<Data-type-parameter>&<filter>

    Filters include:
    • sysparm_query—Filters the data using the encoded query before exporting files, for example, sysparm_query=active=true exports only active records.
    • sysparm_view—Specify the name of a list view to control which fields are returned. For example, to return the ESS view, use sysparm_view=ess.
    • useUnloadFormat—Indicates that the XML format returned is an unload format. The unload format is the same format you get when, from a list in the UI, you select Export > XML > ... You can import unload-formatted XML files back into the tables. To enable the unload format from a URL, use the useUnloadFormat=true URL parameter, for example, https://instance_name.service-now.com/incident.do?XML&useUnloadFormat=true.

    Example GET queries

    Table 2. GET request examples
    Data type Example query
    CSV https://instance_name.service-now.com/incident.do?CSV&sysparm_query=active=true
    Excel https://instance_name.service-now.com/incident.do?XLS&sysparm_query=active=true
    PDF https://instance_name.service-now.com/incident.do?PDF&sysparm_view=ess
    RSS https://instance_name.service-now.com/incident.do?RSS&sysparm_view=ess
    XML https://instance_name.service-now.com/incident.do?XML&sysparm_query=active=true

    Returned files

    GET queries return records from a table in the format specified in the request. For example, a query that uses the XLS parameter returns a table record in a file with the .xls extension.

    The Content-Disposition header in the response displays the file name and extension of the returned file. The file name is based on the table you export from, such as incident.xls, incident.pdf, or incident.xml.

    Exporting data into tables

    You can POST the following data types directly into tables:
    • CSV
    • Excel
    • JSON

    The file headers must match the field columns in the targeted table. For more information, see Post CSV or Excel files directly to an import set.