Jake Gillespie
Giga Guru

Welcome to Part 3 of my Remote Tables series. In Part 1, we established that a Remote Table is a virtual bridge, a sophisticated window allowing us to view live data residing outside our instance without the overhead of duplication. Then, in Part 2, we demonstrated its power by building a concrete Proof of Concept to pull real-time status updates from an external vendor ticketing system directly onto a native Incident form using contextual linking and correlation IDs. In Part 3, we'll shift gears and look within.

 

record_flow_triggers_report.png

 

We’ve seen Remote Tables conquer the challenge of external data integration. But what if the data you need isn't sitting in another platform? What if it's buried deep within ServiceNow itself, but structured in a way that prevents us from getting the exact view we need for our users? This is where the true architectural flexibility of Remote Tables shines. They aren't just for looking out; they are incredibly powerful for looking in and reshaping what you see.

 

The Internal Data Dilemma: When Native Structure Falls Short

Consider a common scenario as a ServiceNow Developer or Admin: managing automated processes on a given table. Business Rules, UI Actions, Events, etc., can all be found based on a query using the table name. However, if you want to know which Flows are triggered from record inserts or updates on a given table, you run into a structural hurdle. The Flow definitions and their associated record triggers are stored in separate tables within ServiceNow. Crucially, the link between the Flow definition and its specific Record Trigger isn't a clean reference field; rather, it’s held as a string ID, requiring traversing multiple layers of metadata that aren't easily accessible through standard lists or reports.

In short, the data exists inside our instance, but the native schema doesn't offer an easy "window" to query it in the specific way we need for end-user consumption (see below).

 

record_flow_triggers_remote_trigger_id2.png

 

The Solution: Using Remote Tables as a Data Reshaper

This is where we flip the script on what we thought a Remote Table was for. We are using its definition mechanism (in this case, the scripting layer) to perform an internal data join and presentation uplift, effectively creating a virtual view of related records that don't have a direct reference link.

 

record_flow_triggers_schema.png

 

The strategy involves defining a Remote Table whose underlying query logic doesn't point to an external API endpoint like REST or SOAP. Instead, we configure its definition script (using capabilities within ServiceNow itself) to:

  1. Query the Flow Record Trigger table.
  2. For each Flow Record Trigger record, query the Flow table for Flows using this trigger.
  3. Insert a Remote Table record with applicable metadata

 

record_flow_triggers_definition.png

 

This capability is transformative for operational efficiency and user experience. Instead of forcing ServiceNow Developers and Admins to navigate complex backend tables, we provide them with a single, intuitive "window" right inside their workspace; a window into the logic governing automation for a given table. We are turning internal database complexity into simplicity for the ServiceNow Developer or Admin.

 

Architectural Takeaways: The Power of Abstraction

What does this demonstrate architecturally? It proves that Remote Tables are not confined to being an integration tool; they are a powerful data abstraction layer. They allow us to bypass the limitations of the underlying data model when our business requirements demand a more aggregated view. We are using the mechanism of remote connection (the ability to define custom querying and presentation logic) to solve internal reporting and usability challenges.

 

Well, that wraps up this 3-part series on Remote Tables. If you have an interesting use case for Remote Tables, I'd love to hear about it in the comments.

 

4 Comments
Carl Fransen1
Kilo Sage

Hey Jake,

 

Great set of articles and good to see real-world use cases as well.

 

The internal usage is very cool, something that the Catalog Items, Variables, RITM/REQ reporting could also be simplified using these remote tables.

Jake Gillespie
Giga Guru

Thanks for your feedback, @Carl Fransen1. You're right, that is a good use case. I recall building a prototype a few years back which transformed the data from a MRVS into Remote Table records for more granular reporting.

UjjwalJ
Tera Contributor

Hey Jake, nice to see another article from you.

 

quick one - any concerns on using of remote tables via integration hub if we use them internally within platform? 

Jake Gillespie
Giga Guru

Hi @UjjwalJ, if a Remote Table leverages Integration Hub to retrieve data (e.g. outbound REST integration), I believe this would count towards the Integration Hub transaction count. If you use GlideRecord to query local tables within ServiceNow, I don't believe this would count towards the Integration Hub transaction count. But all licensing concerns/questions should be discussed with the ServiceNow Account team.