Remote tables

  • Release version: Zurich
  • Updated July 31, 2025
  • 5 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 Remote tables

    Remote tables in the ServiceNow AI Platform enable you to connect to third-party data sources or other instances to retrieve external data dynamically without importing or storing it internally. This data is accessed in memory and can be displayed in lists or forms, manipulated using standard Glide scripting, and managed with familiar table operations like grouping, sorting, filtering, and aggregation.

    Show full answer Show less

    Remote tables support read-only access by default, but when editing is enabled, you can insert, update, and delete external data directly from the instance. This capability allows seamless integration and real-time interaction with external systems without persistent data storage.

    Key Features

    • Remote Table Definition: Define schema, columns, controls, and access for external data similarly to internal tables, but rows are retrieved via query scripts from external sources.
    • Script Definitions: Associate scripts for querying external data, caching it in memory, and optionally inserting, updating, or deleting records in the external source.
    • Data Caching and Lifecycle: Retrieved data is transient and cached in memory for a configurable duration, improving performance while ensuring data freshness on refresh or cache expiry.
    • Integration Protocols: Supports data retrieval via REST or SOAP services from external systems or other ServiceNow instances.
    • Post-filtering and Sorting: Allows additional filtering and sorting on the retrieved data, but customers should optimize queries to avoid performance impacts.
    • Editing Capability: When enabled, allows external data modifications directly through the remote table interface.
    • Plugin Activation: Requires activation of the Remote Tables plugin (com.glide.script.vtable), which includes demo data and dependencies.
    • Debugging Support: Session debugging for remote table scripts can be enabled via system properties to troubleshoot data retrieval scripts.

    Practical Applications

    • Display transient external data such as weather information on dashboards without storing it internally.
    • View customer details from external CRM systems within Customer Service Management interfaces like Agent Workspace.
    • Retrieve personnel data from HCM platforms (e.g., Workday, SAP SuccessFactors) for HR Service Delivery functions.

    Considerations and Best Practices

    • Use the default 1000-row limit for small datasets to minimize query times; enable Enhanced Capacity for larger datasets.
    • Optimize query scripts to limit data size and complexity, as internal post-filtering and sorting can be resource-intensive.
    • Domain separation is not supported for remote tables, which may affect data segregation strategies.
    • For advanced data importing, transformation, and integration workflows, consider using Integration Hub instead.
    • An Integration Hub subscription is required if the external data source lies outside the ServiceNow AI Platform.

    Connect the ServiceNow AI Platform to third-party sources, or to another instance, so that you can retrieve external data and optionally cache it in memory.

    You can view external data in lists or forms and process it with standard Glide scripts. You can also group, sort, aggregate, and filter the data just like you would for standard internal tables. If editing is enabled for a remote table, you can insert, update, and delete data in the external source from the remote table on the instance.

    Remote table components

    Use the following components to build an external data framework:
    Remote tables
    You create remote tables to describe the schema for the data that you want to retrieve from an external source.

    The table definition is in the ServiceNow AI Platform, but its rows, or external records, live in memory. You create a remote table the same way that you would create a standard internal table. You define columns and controls and designate application access for it just like you would do for an internal table. Unlike an internal table, a remote table doesn’t get its records from the ServiceNow AI Platform database. It gets its records from running an associated query script against an external data source.

    To learn more about creating remote tables, see Create a remote table.

    Script definitions
    You create and associate script definitions with a remote table. The external data that you retrieved using the query script can be cached in memory. You can also designate how this data is cached and how long the data is cached in memory. Every time that you refresh a list that contains the external data from a remote table, the associated query script runs again. For editable remote tables, you can create insert, update, and delete script definitions in addition to the query script definition.

    To learn more about script definitions and how to associate them with a remote table, see Create script definitions for a remote table.

    How remote tables work

    By using a remote table, you can retrieve the data from external sources or from another instance with REST or SOAP services. The external data lives in memory in read-only mode, which makes the data temporary, or transient, within the ServiceNow AI Platform. You can then view and update the external data without importing or storing it.

    You view the external data in lists or forms in the same way that you view internally stored data. You can manipulate this data by using standard Glide records, business rules, remote APIs, scripting, table reference fields, services, and development tools in the ServiceNow AI Platform. If editing is enabled for a remote table, you can insert, update, and delete data in the external source from the remote table on the instance.

    Important:
    If the data size that is retrieved from the external source is small, use the 1000 rows default limit in a remote table to minimize query times. If the retrieved data size is large and could be less performative, in the script definition, you can select the advanced Enhanced Capacity field to support a large number of rows.

    External data life cycle within the ServiceNow AI Platform

    The data that you retrieve from an external source has a finite duration, or life cycle, within the ServiceNow AI Platform.
    • When you run a script that is associated with a remote table, the retrieved data lives in memory for as long as the list or form appears. After you close the list or form, that external data is purged from memory. The next time that you use or view the external data in this remote table, memory is repopulated from the external system.
    • However, if you have defined caching parameters for the script, the external data remains cached in memory for the specified caching duration.

      For example, if you designate that the external data should be cached for 300 seconds, it remains cached in memory for 5 minutes. After that time expires, the cached data is purged from memory. The next time that you use or view the external data in this remote table, the cache is refreshed from the external system.

    Practical applications for remote tables

    Set up and use remote tables in your enterprise when:

    • You want to fetch external data for temporary use without storing it in the ServiceNow AI Platform. For example, you can create a remote table that fetches weather-related data that appears on a home page when a user logs in. You would then create an associated query script definition that retrieves this data from a third-party weather source that is based on the user's location.
    • You want to retrieve customer details that are stored in an external Customer Relationship Management (CRM) application for viewing in Customer Service Management functions such as Agent Workspace.
      Note:
      To learn more about data retrieval for Customer Service Management, see Third-party data integration for CSM.
    • You want to retrieve and view personnel data from Human Capital Management (HCM) applications such as Workday or SAP SuccessFactors for use in HR Service Delivery functions.

    Post-filtering and sorting

    When you run a remote table script, it applies post-filtering and sorting query conditions after it adds rows to a table. These applied conditions support any other required queries that the script doesn’t handle. When you apply post-filtering and sorting, the remote table queries work like standard internal table queries.

    When you create remote table scripts, you generally handle the most frequent and expansive queries in the script. Post-filtering queries and sorting can take a long time and might adversely affect how your instance performs. Use a small data set instead so that it doesn't take much time to do post-filtering and sorting.

    Based on your use cases, determine if you should try a narrower query in the external call or a more expansive query. Because the internal filtering and sorting can be expensive to run on large result sets, use a narrower query when the data doesn't require extra filtering. Use a more expansive query when a more general query would return a small result set and would require extra filtering and sorting.

    Differences between remote tables and the Integration Hub

    Choose whether to use a remote table or Integration Hub to process external data.
    • When you want to cache external data temporarily, use remote tables.
    • If you want more advanced importing and transformation options, including Workflow Studio, or if you want to develop custom integrations, use the Integration Hub.
    Note:
    If you create a remote table that uses the data from an external source that is outside of the ServiceNow AI Platform, you must have an Integration Hub subscription entitlement. To learn more about the Integration Hub, see Integration Hub.