Ellipse Gradient for Header
ServiceNow logo

ServiceNow Integration Guide

Integrate ServiceNow with enterprise applications through REST and SOAP APIs, configured outbound callbacks, Import Sets, attachment endpoints, and orchestrated workflows.

ServiceNow integration options at a glance

ServiceNow’s primary integration surface is its REST API, including the Table API, Import Set API, Attachment API, scripted REST resources, and product-specific endpoints. SOAP web services remain available for WSDL-based and legacy integrations. Configured outbound REST messages, business rules, flows, and event mechanisms can call external Martini APIs, although event coverage depends on the selected ServiceNow feature rather than a universal webhook stream. Import Sets, pagination, filtered queries, exports, and selected asynchronous operations support larger exchanges. Martini can authenticate with configured ServiceNow credentials, orchestrate workflows, map and transform payloads, process attachments, and apply checkpoints, validation, retries, and idempotency controls.

Integration pointSupported by ServiceNow?Common use casesHow Martini supports it
REST APIsYesServiceNow’s Table API, Import Set API, Attachment API, scripted REST resources, and product-specific APIs support querying, creating, updating, and retrieving Incidents, Users, Configuration Items, Change Requests, and other tables.Martini can consume ServiceNow REST endpoints from workflows, map request and response payloads, expose REST APIs for ServiceNow callbacks, and apply validation, business rules, retries, and checkpointing.
SOAP APIsYesSOAP web services and scripted SOAP services support WSDL-based interfaces and legacy enterprise integrations where REST is not available or cannot be adopted.Martini can consume ServiceNow SOAP services and transform XML responses into canonical models or downstream formats.
Webhooks / outbound callbacksLimitedOutbound REST messages, business rules, Flow Designer actions, scripted requests, and event mechanisms can call external endpoints for configured events and processes.Martini can expose a REST API endpoint for ServiceNow callbacks, validate and normalize notifications, route them through workflows, and return controlled responses. Coverage is configured and event-specific.
Bulk / async / batch APIsYesImport Set APIs, pagination, filtered queries, aggregate queries, exports, and selected asynchronous operations support larger data exchanges and staged loading.Martini can process pages or batches, transform staged data, persist high-water marks, and control concurrency and retry behavior.
File / attachment APIsYesAttachment operations support uploading, downloading, querying, and deleting files associated with ServiceNow records such as Incidents and Change Requests.Martini can retrieve attachment metadata and binary content, transform or route files, and deliver them to another API, file system, database, or application.
AuthenticationYesServiceNow supports Basic Authentication, OAuth 2.0, API keys for selected scenarios, mutual TLS, roles, ACLs, OAuth scopes, and web-service access controls depending on instance configuration.Martini can use environment-managed secrets and configured authentication when consuming ServiceNow APIs or exposing Martini APIs for ServiceNow callbacks.
Database / analytics accessLimitedServiceNow provides reporting, aggregate queries, exports, and analytics, but direct access to the underlying SaaS database is not the normal integration approach.Martini should consume supported ServiceNow APIs, exports, Import Sets, or reporting interfaces rather than relying on direct SQL access to the ServiceNow database.

How ServiceNow exposes data and business events

ServiceNow REST APIs

ServiceNow REST APIs are the primary integration surface for new application integrations. The Table API supports CRUD-style access to platform tables, while Import Set, Attachment, scripted REST, aggregate, and product-specific APIs support specialized workloads.

Martini implementation pattern

Martini implementation pattern: Martini workflows authenticate to the target ServiceNow instance, send filtered and paginated REST requests, normalize JSON responses, resolve reference fields, apply business rules, and write results to downstream systems or expose a controlled API for inbound requests.

Implementation sequence

Authenticate with the configured ServiceNow instance
Query the required table or API using narrow filters
Process the response pages and resolve reference identifiers
Map ServiceNow fields to the canonical or target model
Apply validation, routing, and idempotency rules
Write the result to the target system and persist the checkpoint

ServiceNow SOAP APIs

ServiceNow supports SOAP web services, including platform and scripted SOAP services. SOAP remains relevant for WSDL-based enterprise interfaces and legacy integrations, although REST is generally preferred for new work.

Martini implementation pattern

Martini implementation pattern: Martini consumes the WSDL-based SOAP service, handles XML request and response structures, transforms the result into a canonical model, and routes SOAP faults or downstream failures through workflow error handling.

Implementation sequence

Load the required ServiceNow WSDL or SOAP contract
Authenticate using the configured SOAP security settings
Build and send the XML request
Parse the SOAP response or fault
Transform the XML data into the target model
Persist the result and route failures for retry or review

ServiceNow outbound callbacks

ServiceNow can initiate outbound requests through Outbound REST messages, business rules, Flow Designer actions, scripted requests, and event mechanisms. These callbacks are configured for selected processes and events rather than exposed as a universal webhook stream.

Martini implementation pattern

Martini implementation pattern: Martini exposes a REST API endpoint, receives the configured ServiceNow request, validates its authentication and payload, deduplicates the notification, and invokes a workflow that creates, updates, or routes the relevant business object.

Implementation sequence

Expose a Martini REST endpoint for the configured callback
Receive the ServiceNow request and validate its security context
Validate the event payload and identify the source object
Apply routing, suppression, and duplicate-prevention rules
Call ServiceNow or another target system as required
Return an acknowledgment and record processing status

ServiceNow bulk and Import Set processing

Import Set APIs, staging tables, transformation maps, pagination, filtered queries, exports, and selected asynchronous operations support larger exchanges. Exact behavior varies by API and ServiceNow product area.

Martini implementation pattern

Martini implementation pattern: Martini retrieves or receives data in controlled pages or batches, transforms it to the Import Set or target schema, tracks checkpoints, and separates validation failures from transient request failures.

Implementation sequence

Select an incremental filter, page size, and batch boundary
Retrieve or receive the next batch of ServiceNow data
Validate required fields and normalize dates and identifiers
Load or transform the batch for the destination
Commit the successful batch and persist its checkpoint
Retry transient failures and route rejected rows for review

ServiceNow attachment APIs

ServiceNow attachment endpoints support uploading, downloading, querying, and deleting files associated with platform records. Requests may use multipart content or binary data depending on the endpoint.

Martini implementation pattern

Martini implementation pattern: Martini retrieves the parent record and attachment metadata, handles binary content separately from record fields, and routes the file to a downstream API, file system, database, or application while retaining correlation information.

Implementation sequence

Identify the parent ServiceNow record and attachment
Retrieve attachment metadata and binary content
Validate content type, size, and destination requirements
Route or transform the file for the target system
Associate the delivered file with the target record
Record transfer status and retry recoverable failures

Common ServiceNow integration patterns

Pattern 1: Synchronize Incidents with a support platform

When to use this pattern

Use this pattern when customer-impacting ServiceNow Incidents must be visible in another support or CRM platform. A scheduled workflow can retrieve new or updated Incidents, enrich caller and service context, and synchronize status in one or both directions without creating duplicate cases.

Integration direction
ServiceNow
Martini
Salesforce
Example Mapping
ServiceNow FieldCanonical FieldTarget Field
sys_idsourceIncidentIdexternalIncidentId
numberincidentNumbercaseNumber
short_descriptionsummarysubject
priorityprioritycasePriority
Martini implementation pattern

Martini queries Incidents using sys_updated_on and pagination, resolves reference fields such as caller and service, maps the payload to a canonical support model, and applies rules for severity, ownership, and update direction. It searches for the external correlation key before creating a case, persists the checkpoint after successful processing, and retries transient failures without duplicating records.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • checkpointing
  • error handling

Pattern 2: Coordinate Change Requests with deployment workflows

When to use this pattern

Use this pattern when an approved ServiceNow Change Request must initiate deployment or project work and receive implementation results. It supports validation of risk, approval, scheduling, and ownership before an external operation starts.

Integration direction
ServiceNow
Martini
Jira Software
Example Mapping
ServiceNow FieldCanonical FieldTarget Field
numberchangeNumberissueKey
short_descriptionchangeSummarysummary
riskchangeRiskpriority
start_dateplannedStartplannedStart
Martini implementation pattern

Martini retrieves or receives an eligible Change Request, validates approval and required scheduling fields, maps it to the target work item, and calls the downstream API. The workflow records the target identifier, applies controlled status transitions, and writes deployment or implementation results back to ServiceNow while routing rejected or failed operations for review.

Martini capabilities used
  • workflows
  • API orchestration
  • data mapping
  • validation
  • business rules
  • error handling

Pattern 3: Create Incidents from monitoring alerts

When to use this pattern

Use this pattern when an observability application should create or update ServiceNow Incidents from operational alerts. It is suitable for event-driven ingestion where deduplication, severity routing, and acknowledgment behavior are important.

Integration direction
Datadog
Martini
ServiceNow
Example Mapping
ServiceNow FieldCanonical FieldTarget Field
alert_idsourceAlertIdcorrelation_id
titlesummaryshort_description
priorityseveritypriority
messagedetailsdescription
Martini implementation pattern

A Martini API receives the supported monitoring notification, validates the payload, normalizes severity and service identifiers, and checks for an existing Incident using the alert correlation key. The workflow creates or updates the Incident through the Table API, applies suppression and assignment rules, and returns an acknowledgment while logging failures for retry.

Martini capabilities used
  • APIs
  • webhooks and callbacks
  • data mapping
  • deduplication
  • business rules
  • error handling

Pattern 4: Synchronize CMDB Configuration Items

When to use this pattern

Use this pattern when ServiceNow Configuration Items must be distributed to an inventory, analytics, or monitoring application. Incremental filters and checkpoints reduce load on the ServiceNow instance and avoid repeatedly scanning large tables.

Integration direction
ServiceNow
Martini
Datadog
Example Mapping
ServiceNow FieldCanonical FieldTarget Field
sys_idconfigurationItemIdexternalId
nameitemNamename
sys_class_nameitemClassresourceType
operational_statusoperationalStatusstatus
Martini implementation pattern

Martini queries changed Configuration Items with a time-window filter and stable sys_id ordering, maps class and ownership fields, and applies rules for supported target resource types. It upserts target objects using the ServiceNow identifier, persists a high-water mark only after successful delivery, and routes schema, ACL, and rate-limit failures according to their recoverability.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination
  • data transformation
  • idempotency
  • checkpointing

Applications commonly integrated with ServiceNow

ServiceNow is commonly connected with customer, identity, development, workforce, collaboration, observability, and enterprise resource applications. Martini can coordinate these flows using ServiceNow APIs, configured callbacks, reusable workflows, and canonical data mappings.

Application Scenario Direction Martini Pattern
Salesforce Synchronize customer-impacting support issues, account context, service requests, and ServiceNow Incidents or Users across customer and service operations. ServiceNow → Martini → Salesforce Martini retrieves changed Incidents and related context, resolves reference fields, maps them to Salesforce cases or account-related data, and optionally propagates approved status changes back to ServiceNow with correlation-key checks and retry handling.
Microsoft Entra ID Synchronize users and groups, support identity lifecycle processes, and enrich ServiceNow User records with authoritative directory data. Microsoft Entra ID → Martini → ServiceNow A scheduled Martini workflow retrieves changed directory users and groups, normalizes identity attributes, matches stable identifiers, and creates or updates ServiceNow Users while routing authorization and validation failures for review.
Jira Software Link development issues with ServiceNow Incidents, Problems, and Change Requests for coordinated IT service and development processes. ServiceNow → Martini → Jira Software Martini maps ServiceNow records to Jira issues, applies routing rules based on service and assignment data, stores cross-system identifiers, and synchronizes selected lifecycle updates without creating duplicates.
Workday Synchronize employee and organizational data with ServiceNow Users, departments, ownership fields, and service-management processes. Workday → Martini → ServiceNow Martini consumes Workday changes, transforms organizational and employee attributes to the ServiceNow User model, validates required references, and processes the feed incrementally using a persisted checkpoint.
Microsoft Teams Send incident or approval notifications and support collaboration around ServiceNow records, with optional action callbacks. ServiceNow → Martini → Microsoft Teams ServiceNow calls a Martini API through a configured outbound integration, Martini applies notification and severity rules, formats the message for Teams, and optionally receives callback data for controlled workflow updates.
Splunk Create or update ServiceNow Incidents from operational alerts and associate incidents with monitoring events. Splunk → Martini → ServiceNow Martini receives or retrieves alert payloads, normalizes source and severity fields, deduplicates on an alert correlation key, and creates or updates ServiceNow Incidents through the Table API.
Datadog Route monitoring alerts to ServiceNow for incident management and synchronize selected status or acknowledgment information. Datadog → Martini → ServiceNow A Martini API receives supported Datadog notifications, validates the event, applies routing and suppression rules, and writes the resulting Incident to ServiceNow with retry and duplicate-prevention controls.
NetSuite Synchronize service requests, customer context, assets, or fulfillment-related information across ITSM and ERP processes. NetSuite → Martini → ServiceNow Martini orchestrates REST-based retrieval and update flows, maps NetSuite business identifiers to ServiceNow references, applies record ownership rules, and persists correlation IDs for bidirectional synchronization.

How to build a ServiceNow integration in Martini

Objective

Establish controlled access to the ServiceNow instance and the downstream systems involved in the integration.

Instructions in Martini

  • Confirm the target ServiceNow release, instance URL, API surface, and required table or field permissions.
  • Choose OAuth 2.0, Basic Authentication, API keys, or mutual TLS according to the instance policy.
  • Store credentials, tokens, and certificates as protected Martini environment configuration or secrets.
  • Use least-privilege integration accounts and separate credentials for appropriate environments.

Objective

Select the event-driven or scheduled entry point that matches the ServiceNow process and required freshness.

Instructions in Martini

  • Use a Martini API when ServiceNow will call an outbound REST endpoint, business-rule callback, or flow action.
  • Use a scheduler for incremental synchronization based on sys_updated_on or another validated modification field.
  • Define the event or polling scope explicitly because ServiceNow does not provide a universal webhook stream for every table and event.
  • Set page sizes, concurrency, and polling intervals to protect the ServiceNow instance.

Objective

Acquire ServiceNow records, attachments, or callback payloads in a controlled and resumable manner.

Instructions in Martini

  • Query only the required fields and use encoded queries, time windows, pagination, and stable identifiers where supported.
  • Retrieve related reference data such as caller, assignment group, service, and Configuration Item when the target requires it.
  • Process attachments separately from parent record fields and account for binary content and size limits.
  • Persist a checkpoint or high-water mark after successful processing when synchronization must resume reliably.

Objective

Coordinate the end-to-end process across ServiceNow, Martini, and target systems.

Instructions in Martini

  • Separate retrieval, validation, transformation, target delivery, and checkpointing into clear workflow stages.
  • Branch authentication, ACL, validation, throttling, transient, and permanent failures differently.
  • Use reusable workflow logic for common ServiceNow reference resolution, correlation, and response handling.
  • Return controlled acknowledgments for inbound callbacks while continuing asynchronous work when appropriate.

Objective

Convert ServiceNow payloads and reference fields into a stable canonical or target-specific model.

Instructions in Martini

  • Map actual objects such as Incident, Change Request, User, Configuration Item, and Knowledge Article explicitly.
  • Normalize dates, time zones, choice values, display values, sys_id values, and external identifiers.
  • Resolve whether each target expects a ServiceNow sys_id, display value, or another unique key.
  • Handle JSON, XML, and attachment metadata according to the selected API.

Objective

Enforce data quality, routing, ownership, deduplication, and update-direction decisions before writing data.

Instructions in Martini

  • Validate required fields and permitted choice values before making downstream calls.
  • Use sys_id, external IDs, or correlation identifiers to distinguish creates from updates.
  • Apply assignment, severity, approval, publication, and suppression rules in the workflow rather than duplicating them across point-to-point scripts.
  • Route rejected records to a review or remediation path with actionable error context.

Common ServiceNow data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
IncidentTracks interruptions or degradation of an IT or business service and is commonly created, updated, or synchronized from monitoring and support applications.Salesforce, Splunk, Datadog, Microsoft Teams, Jira Software, reporting platformsMartini queries changed Incidents, resolves caller, assignment, service, and configuration-item references, maps fields to a canonical incident model, and uses sys_id or an external correlation key for idempotent updates.
ProblemTracks the underlying causes of one or more Incidents and supports problem-management coordination with development or operations teams.Jira Software, reporting platforms, knowledge systemsMartini maps problem identifiers, descriptions, ownership, status, and related Incident references, then applies validation and controlled update rules.
Change RequestCoordinates planned changes, approvals, implementation, risk, and completion status across service-management and deployment processes.Jira Software, deployment platforms, Microsoft Teams, project-management applicationsMartini can receive or retrieve Change Requests, validate approval and risk fields, call downstream deployment APIs, and write implementation results back to ServiceNow.
UserRepresents an employee, agent, service account, or other individual used in ownership, caller, approval, and assignment relationships.Microsoft Entra ID, Workday, Salesforce, identity governance applicationsMartini synchronizes authoritative identity attributes, resolves stable identifiers, and respects ServiceNow roles, ACLs, field permissions, and reference-field requirements.
Configuration ItemRepresents an infrastructure component, application, service, or other managed item in the CMDB.Datadog, Splunk, inventory platforms, procurement applications, analytics systemsMartini processes Configuration Items incrementally, maps class and ownership data, resolves related references, and routes schema or authorization errors separately from transient failures.
Knowledge ArticleStores published support and operational knowledge for service agents, employees, and connected support processes.Salesforce, Microsoft Teams, portals, enterprise search and knowledge applicationsMartini can retrieve or publish selected article data through supported ServiceNow APIs, transform content and metadata, and apply publication-state and duplicate checks.

Authentication and security considerations

Authentication and authorization

ServiceNow supports Basic Authentication, OAuth 2.0, selected API-key scenarios, and mutual TLS according to instance configuration. Access is further controlled by integration-user roles, table and field ACLs, OAuth scopes, web-service access controls, application scope, and cross-scope rules.

Martini should use protected environment-managed secrets for credentials, tokens, and certificates. Integration accounts should follow least-privilege principles and be validated separately in development, testing, and production environments.

  • Confirm the ServiceNow release, API, roles, ACLs, and OAuth scopes before implementation.
  • Do not embed credentials or tokens in mappings, payloads, or source-controlled workflow definitions.
  • Separate authentication failures from authorization and field-level access failures.

Operational considerations for ServiceNow integrations

Reliability and scale

Use narrow encoded queries, field selection where supported, pagination, incremental filters, and checkpoints instead of repeatedly scanning large ServiceNow tables. Control concurrency and apply backoff because instances can enforce request limits, transaction quotas, and protection against excessive activity.

Data integrity

Use sys_id, external identifiers, or correlation keys to make retries idempotent and prevent duplicate Incidents, Change Requests, or other objects. Resolve reference fields deliberately because a target operation may require a sys_id rather than a display value.

Change and failure management

ServiceNow instances may contain custom tables, fields, business rules, scoped applications, scripted endpoints, and release-specific behavior. Test against the target instance and handle ACL failures, validation errors, throttling, transient server errors, attachment limits, schema changes, and date-time differences separately.

Why use Martini instead of scripts or point-to-point integrations?

Centralized orchestration

Point-to-point scripts often duplicate authentication, pagination, transformation, retry, and monitoring logic. Martini provides a workflow-based place to coordinate ServiceNow with APIs, files, databases, messaging systems, and other applications.

Maintainable integration logic

Martini separates API consumption, mapping, validation, business rules, error handling, and environment configuration. This makes ServiceNow-specific assumptions visible and reusable while preserving the flexibility to handle custom tables, scripted APIs, SOAP services, and attachments.

Controlled enterprise delivery

Martini can expose API façades, process callbacks, run scheduled synchronizations, persist checkpoints, and route failures for investigation. The result is a more controlled integration boundary than a collection of unmanaged scripts or tightly coupled point-to-point calls.

Frequently asked questions

How can ServiceNow be integrated with enterprise systems?

ServiceNow can be integrated through its REST APIs, including the Table API, Import Set API, Attachment API, scripted REST resources, and product-specific APIs. SOAP web services support WSDL-based and legacy integrations, while outbound REST messages, business rules, flows, and event mechanisms can call external endpoints for configured processes. Import Sets, filtered queries, pagination, exports, and attachment operations support batch and file-based scenarios.

Can Martini integrate with ServiceNow?

Yes. Martini can consume ServiceNow REST APIs, consume SOAP services where required, receive requests from configured ServiceNow outbound integrations, and orchestrate workflows for synchronization, transformation, validation, attachments, retries, and idempotency. No native Martini ServiceNow connector is documented in the supplied materials.

Do I need a connector to integrate ServiceNow with Martini?

No. A dedicated ServiceNow connector is not required. Martini can use ServiceNow’s confirmed native REST APIs, SOAP services, Import Set and attachment endpoints, authentication methods, and configured outbound callback mechanisms through standards-based API consumption and workflow orchestration.

Is there any extra Lonti cost to integrate ServiceNow with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate ServiceNow. Integrations are subject to the provisioned capacity of the Martini environment. Separate costs may apply from ServiceNow, cloud infrastructure, or other third-party systems depending on subscription, usage, licensing, and deployment model.

Which ServiceNow integration methods should a new project use?

REST is generally the preferred starting point for new ServiceNow integrations, including the Table API, Import Set API, Attachment API, scripted REST resources, and relevant product APIs. SOAP remains appropriate for WSDL-based systems and established legacy interfaces. Outbound REST messages and configured flows or business rules are suitable when ServiceNow needs to call Martini.

Can Martini receive ServiceNow events or webhooks?

Martini can receive requests when the ServiceNow instance is configured to call a Martini REST endpoint through an outbound REST message, business rule, flow, or another supported callback mechanism. This is configuration-dependent and should not be treated as a universal webhook feed for every ServiceNow table or event.

How does Martini synchronize only changed ServiceNow records?

A Martini workflow can use modification-time filters such as sys_updated_on, stable identifiers such as sys_id, pagination, and a persisted checkpoint or high-water mark. The workflow processes successful pages incrementally and can retry failed work without reprocessing the entire table.

Can Martini transfer ServiceNow attachments and expose an API façade?

Yes. Martini can call ServiceNow attachment endpoints, handle binary content and metadata, and deliver files to another supported endpoint or storage system. Martini can also expose a controlled REST API façade that hides ServiceNow-specific fields, applies authorization and business rules, and orchestrates calls to ServiceNow and other enterprise systems.