IT CanvassTalk to an advisor
Development · LessonBy , ServiceNow Trainer, 9 yrs · Published · current release · intermediate

REST integrations

Connect ServiceNow to the rest of your stack over REST.

Quick answer

ServiceNow integrates with the outside world mostly over REST, and it works both directions: other systems call ServiceNow's APIs, and ServiceNow calls theirs. Knowing the inbound Table API, outbound REST Messages, and the auth model covers the large majority of integration work.

Key takeaways
  • Inbound: the Table API
  • Useful query parameters
  • Other inbound APIs
  • Outbound: REST Messages
  • Authentication & accounts

ServiceNow integrates with the outside world mostly over REST, and it works both directions: other systems call ServiceNow's APIs, and ServiceNow calls theirs. Knowing the inbound Table API, outbound REST Messages, and the auth model covers the large majority of integration work.

Inbound: the Table API

The built-in Table API exposes every table as REST with no code, full CRUD over HTTP:

# Read the 5 newest active incidents GET /api/now/table/incident?sysparm_query=active=true&sysparm_limit=5 Authorization: Bearer <token> Accept: application/json # Create one POST /api/now/table/incident { "short_description": "API-created", "urgency": "2" }

Note sysparm_query, it's the same encoded query syntax as a list breadcrumb.

Useful query parameters

sysparm_query
Encoded query filter.
sysparm_limit / _offset
Page size and offset, always paginate large pulls.
sysparm_fields
Return only named fields, smaller, faster payloads.
sysparm_display_value
true / false / all, sys_ids vs display values.
sysparm_exclude_reference_link
Drop the reference link objects for cleaner JSON.

Other inbound APIs

Beyond the Table API: the Import Set API (post into a staging table + transform), the Aggregate API (counts/stats), Attachment API, and Scripted REST APIs for custom endpoints when the generic Table API isn't the right contract.

Outbound: REST Messages

To call an external API, define a REST Message (endpoint, method, headers, auth) and invoke it from a flow or script. This is how ServiceNow posts to Slack, queries a CMDB source, or triggers a pipeline.

Authentication & accounts

Secure endpoints with OAuth 2.0 (preferred) or basic auth for simple internal cases. Integration accounts must be dedicated service users with least-privilege roles, never a personal admin login. An over-privileged integration account is a top security finding.

Prefer IntegrationHub for real integrations

For anything beyond a simple call, retries, pagination, transforms, pre-built connectors, use IntegrationHub spokes inside Flow Designer rather than hand-rolling every REST Message. Reserve raw REST Messages for endpoints no spoke covers.

Common mistakes

  • Not paginating, so large pulls time out, use sysparm_limit + offset.
  • Requesting display values when you need sys_ids (or vice versa).
  • Integration accounts with admin instead of least privilege.
  • Hand-building a REST Message where a spoke already exists.

Practice challenge

+0 XPStreak ×0
Question 1 of 3
A GET to /api/now/table/incident returns:

Frequently asked questions

What does the term REST integrations refer to in ServiceNow?
ServiceNow integrates with the outside world mostly over REST, and it works both directions: other systems call ServiceNow's APIs, and ServiceNow calls theirs. Knowing the inbound Table API, outbound REST Messages, and the auth model covers the large majority of integration work.
What is worth remembering about REST integrations in practice?
Note sysparm_query, it's the same encoded query syntax as a list breadcrumb.
What is another point to note about REST integrations?
Beyond the Table API: the Import Set API (post into a staging table + transform), the Aggregate API (counts/stats), Attachment API, and Scripted REST APIs for custom endpoints when the generic Table API isn't the right contract.
What tends to go wrong with REST integrations?
Not paginating, so large pulls time out, use sysparm_limit + offset. Requesting display values when you need sys_ids (or vice versa). Integration accounts with admin instead of least privilege.
Already working on ServiceNow and stuck on a live ticket?Get an expert ServiceNow developer on screen-share to finish your daily tasks with you. Deliver on time, protect your reputation and your job. Monthly support only, no task-wise plans.Task assigned · no idea where to startStill stuck · your job on the lineExpert joins your screenDelivered on timeExplore On Job Support