Skip to main content

RenderTypes

When to read this document

This document is intended for ServiceNow / Squid administrators wanting to understand how Squid works or creating custom configurations.

Accessing Squid as a data consumer does not require reading this document!

While References and Relations define what is to be rendered, RenderTypes define how that data is rendered.

RenderTypes have an impact on

  • the rendered JSON and with that what data is returned as well as how that data is structured.
  • the database load (some RenderTypes can cause exponentially more database queries).
  • your retrieved entities count. Some RenderTypes count toward your licensed entities limit.

Defining how to render references is straightforward. We have the following options:

Relations have other options that mirror those for references. Relations can additionally define where and when a relation is rendered. We have these options:

RenderTypes starting with Relation*. These render the relation in the dedicated relations section of returned JSON.

and RenderTypes starting with Inline*. These render the relation inline with the referencing entity.

Quick Decision Guide for References

For details see RenderTypes Reference.

Use CaseRenderType
Only need the sys_idSysId
Bulk export with referenced dataReference
Single entity, self-contained JSONInline Content
Field value already is the required valueLiteral
Render ServiceNow displayValueDisplay Value
Exclude a reference from outputDisable

Quick Decision Guide for Relations

For details see RenderTypes Relations.

First, decide where the relation should be rendered:

RequirementUse RenderTypes starting with...
Bulk export, optimized performanceRelation*
Single entity, self-contained JSONInline*

Then, decide what data to render:

Relation* RenderTypes

These render in the relations section.

Use CaseRenderType
Only need sys_id, no entity dataRelation SysId
Bulk export with full entity details (recommended)Relation Reference
M-to-N relation, field value is what you needRelation Literal
Human-readable display names (locale-dependent)Relation Display Value

Inline* RenderTypes

These render inline with the referencing entity and require Allow Inline Relations on the requested configuration.

Use CaseRenderType
Self-contained JSON, only need sys_idInline SysId
Self-contained JSON with full entity detailsInline Reference
Single entity request, fully nested JSONInline Content
M-to-N relation, field value inlineInline Literal
Human-readable display names inline (locale-dependent)Inline Display Value
Performance

For bulk data exports, prefer Relation Reference over any Inline* RenderType.
Inline* RenderTypes cause additional SQL queries per entity and should be reserved for single-entity requests.

We track. Ok?