0% found this document useful (0 votes)
34 views30 pages

Integration Guide

The ServiceNow Integration Guide provides comprehensive information on various integration methods, including REST API, SOAP, and Integration Hub. It outlines inbound and outbound integration techniques, practical examples, and best practices for automating data exchange between ServiceNow and external systems. Additionally, it covers Import Sets, Transform Maps, and email integration for seamless data synchronization and workflow management.

Uploaded by

prajaktaraje111
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views30 pages

Integration Guide

The ServiceNow Integration Guide provides comprehensive information on various integration methods, including REST API, SOAP, and Integration Hub. It outlines inbound and outbound integration techniques, practical examples, and best practices for automating data exchange between ServiceNow and external systems. Additionally, it covers Import Sets, Transform Maps, and email integration for seamless data synchronization and workflow management.

Uploaded by

prajaktaraje111
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

ServiceNow Integration Guide

Complete Interview Preparation Resource

Covering all integration approaches with practical examples


Table of Contents

1. Introduction to ServiceNow Integration

2. REST API Integration

3. SOAP Web Services

4. Integration Hub & Flow Designer

5. Inbound Integration Methods

6. Outbound Integration Methods

7. Import Sets & Transform Maps

8. Email Integration

9. LDAP Integration

10. MID Server Integration

11. Common Integration Scenarios

12. Best Practices & Interview Tips


1. Introduction to ServiceNow Integration

What is Integration?
Integration in ServiceNow means connecting ServiceNow with external systems to exchange data. This allows
different applications to work together seamlessly.

Why Integration is Important:


• Automate data synchronization between systems

• Reduce manual data entry and errors

• Enable real-time information sharing


• Create unified workflows across platforms

• Improve efficiency and productivity

Main Integration Types:


Inbound Integration: External systems send data INTO ServiceNow
Outbound Integration: ServiceNow sends data OUT to external systems
2. REST API Integration

Overview
REST (Representational State Transfer) API is the most common way to integrate with ServiceNow. It uses
standard HTTP methods and returns data in JSON or XML format.

REST API Methods:


Method Purpose Example Use

GET Retrieve records Get list of incidents

POST Create new records Create a new user

PUT Update entire record Replace all incident fields

PATCH Update specific fields Update incident status only

DELETE Delete records Remove obsolete data

Example 1: GET Request (Retrieve Incidents)


URL Format:
[Link]

Authentication: Basic Auth or OAuth

JavaScript/REST Message Example:


var request = new sn_ws.RESTMessageV2();
[Link]('[Link]
[Link]('GET'); [Link]('username', 'password'); // Add
query parameters [Link]('sysparm_limit', '10');
[Link]('sysparm_query', 'active=true'); var response =
[Link](); var responseBody = [Link](); var httpStatus =
[Link](); [Link]('Status: ' + httpStatus); [Link]('Response: ' +
responseBody);

Example 2: POST Request (Create Incident)


var request = new sn_ws.RESTMessageV2();
[Link]('[Link]
[Link]('POST'); [Link]('username', 'password'); // Set
request body var requestBody = { "short_description": "Network is down", "urgency":
"1", "priority": "1", "caller_id": "[Link]" };
[Link]([Link](requestBody));
[Link]('Content-Type', 'application/json'); var response =
[Link](); var responseBody = [Link](); [Link]('Created: ' +
responseBody);
3. SOAP Web Services

What is SOAP?
SOAP (Simple Object Access Protocol) is an older but still used integration method. It uses XML format and
WSDL (Web Services Description Language) to define services.

When to Use SOAP:


• Legacy systems that don't support REST

• When strict data contracts are required

• Enterprise systems with existing SOAP infrastructure

SOAP Request Example:


Server down 1 1

Key Differences: REST vs SOAP


Feature REST SOAP

Format JSON/XML XML only

Protocol HTTP/HTTPS Multiple (HTTP, SMTP, etc.)

Ease of Use Simple Complex

Performance Faster Slower

Security HTTPS, OAuth WS-Security

Modern Usage Very common Legacy systems


4. Integration Hub & Flow Designer

What is Integration Hub?


Integration Hub is a no-code/low-code platform in ServiceNow that allows you to create integrations using
pre-built connectors called 'Spokes'. It requires a separate license.

What is Flow Designer?


Flow Designer is a visual workflow tool where you can build automated processes. When combined with
Integration Hub, you can easily integrate with external systems.

Key Components:
• Spokes: Pre-built integration connectors (Slack, Microsoft Teams, AWS, etc.)

• Actions: Individual operations you can perform (Create Record, Send Email, etc.)

• Flows: Complete automated workflows connecting multiple actions

• Triggers: Events that start a flow (Record Created, Updated, Schedule, etc.)

Example: Flow Designer Integration with Slack


Scenario: When a Priority 1 incident is created, send a Slack notification

Steps to Create:
1. Open Flow Designer (Flow Designer > Designer)

2. Create New Flow

3. Add Trigger: Record Created (Table: Incident)

4. Add Condition: Priority = 1

5. Add Action: Slack - Send Message

- Configure Connection to Slack

- Channel: #incidents

- Message: 'P1 Incident Created: ' + Short Description

6. Save and Activate Flow

Example: REST API Call in Flow Designer


Scenario: Call an external API to get weather data

1. In Flow Designer, add Action: REST - HTTP Request

2. Configure:
- Method: GET

- URL: [Link]

- Headers: Authorization: Bearer [token]

3. Process Response:

- Use Parse JSON action

- Extract temperature field

4. Use extracted data in subsequent actions


5. Inbound Integration Methods

Overview
Inbound integration means external systems send data INTO ServiceNow. There are multiple ways to receive
data.

Method 1: Table API (REST)


External systems can use REST API to directly insert/update records in ServiceNow tables.

Example: External system creates incident


POST /api/now/table/incident Authorization: Basic [credentials] Content-Type:
application/json { "short_description": "Server outage reported", "caller_id":
"[Link]", "urgency": "2", "impact": "2" }

Method 2: Import Sets


Import Sets are staging tables where external data is loaded first, then transformed into target tables. This is
ideal for bulk data imports.

Process Flow:
1. External system sends data → Import Set Table (staging)

2. Transform Map applies rules and mappings

3. Data moves → Target Table (final destination)

4. Error handling for rejected records

Example: Import Set Configuration


1. Create Import Set Table:
- System Import Sets > Create Table
- Name: u_employee_import
- Fields: u_emp_id, u_name, u_email, u_department

2. Create Transform Map:


- System Import Sets > Transform Maps
- Source: u_employee_import
- Target: sys_user
- Field Mappings:
u_emp_id → employee_number
u_name → name
u_email → email
u_department → department

3. Load Data via:


- REST API: POST /api/now/import/[table_name]
- File Upload: Excel, CSV, XML
- Scheduled Import
Method 3: Web Services (Inbound)
External systems can call ServiceNow's web services endpoints.

• Direct Web Service: Expose a Scripted REST API

• Processor: Custom URL processor to handle requests

Example: Scripted REST API


// Create under: System Web Services > Scripted REST APIs // Resource Path:
/api/custom/create_incident (function process(request, response) { var requestBody =
[Link]; var incident = new GlideRecord('incident'); [Link]();
incident.short_description = [Link]; [Link] =
[Link]; incident.caller_id = [Link]; var sysId =
[Link](); var result = { "success": true, "incident_number": [Link],
"sys_id": sysId }; [Link](201); [Link](result); })(request,
response);

Method 4: Email Inbound


ServiceNow can receive emails and automatically create records.

1. Configure Inbound Email Action:


- System Policy > Email > Inbound Actions
- Condition: Subject contains 'INCIDENT'
- Action: Create new incident record
- Map email body to short_description
- Map sender to caller_id

2. Email sent to: instance@[Link]


3. ServiceNow processes and creates incident automatically
6. Outbound Integration Methods

Overview
Outbound integration means ServiceNow sends data OUT to external systems. This happens when events
occur in ServiceNow.

Method 1: REST Message


REST Messages are reusable REST API configurations that can be called from Business Rules, Script Actions,
or Workflows.

Configuration Steps:
1. Create REST Message:
- System Web Services > Outbound > REST Message
- Name: External_Notification
- Endpoint: [Link]

2. Create HTTP Method:


- Name: sendIncident
- HTTP Method: POST
- Headers: Content-Type: application/json

3. Call from Business Rule:

// In Business Rule (When: after, Insert: true) try { var r = new


sn_ws.RESTMessageV2('External_Notification', 'sendIncident'); var requestBody = {
"incident_number": [Link](), "description":
current.short_description.toString(), "priority": [Link]() };
[Link]([Link](requestBody)); var response = [Link](); var
responseBody = [Link](); var statusCode = [Link]();
[Link]('External API Response: ' + statusCode); } catch(ex) { [Link]('REST call
failed: ' + [Link]); }

Method 2: Business Rules with Outbound Calls


Business Rules can trigger outbound integrations when records are created/updated.
// Business Rule: Notify External System on Incident Resolution // Table: Incident //
When: after, Update: true // Condition: [Link](6) // Resolved
(function executeRule(current, previous) { var request = new sn_ws.RESTMessageV2();
[Link]('[Link]
[Link]('POST'); [Link]('Authorization', 'Bearer
TOKEN123'); [Link]('Content-Type', 'application/json'); var payload =
{ incident_id: [Link](), resolution: current.close_notes.toString(),
closed_by: current.closed_by.getDisplayValue(), closed_at: current.closed_at.toString()
}; [Link]([Link](payload)); var response = [Link]();
[Link]('Notified external system: ' + [Link]()); })(current,
previous);
Method 3: Scheduled Jobs / Data Sources
Use scheduled jobs to periodically push data to external systems.

1. Create Scheduled Script Execution:


- System Scheduler > Scheduled Jobs
- Run: Daily at 2:00 AM
- Script: Export data to external system

2. Example Script:
// Scheduled Job: Daily User Sync var gr = new GlideRecord('sys_user');
[Link](); [Link](); var users = []; while([Link]()) { [Link]({
user_id: gr.sys_id.toString(), name: [Link](), email: [Link](),
department: [Link]() }); } // Send to external system var r = new
sn_ws.RESTMessageV2(); [Link]('[Link]
[Link]('POST'); [Link]([Link]({users: users})); var response
= [Link](); [Link]('Synced ' + [Link] + ' users. Status: ' +
[Link]());

Method 4: Outbound Email Notifications


Send automated emails to external systems or users when events occur.

1. Create Email Notification:


- System Notifications > Email > Notifications
- When: Incident Priority changes to 1
- Who: External support team (external-support@[Link])
- What: Include incident details

2. Can include attachments, HTML formatting


3. Use mail scripts for dynamic content
7. Import Sets & Transform Maps (Deep Dive)

What are Import Sets?


Import Sets provide a staging area for data coming into ServiceNow. Data is first loaded into an Import Set
table, validated, transformed, and then moved to the target table.

Why Use Import Sets?


• Validate data before inserting into production tables

• Handle data transformation and mapping

• Track import history and errors


• Support multiple data sources (CSV, Excel, XML, JDBC, REST)

• Prevent bad data from entering your system

Complete Import Set Process:


Step Description

1. Create Import Set Table Define staging table structure

2. Load Data Import data via file, API, or schedule

3. Transform Map Define how to map source to target

4. Field Mapping Map individual fields

5. Transform Script Apply custom logic (optional)

6. Run Transform Move data to target table

7. Review Results Check success/errors

Practical Example: Import Employees from CSV

Step 1: Prepare CSV File


employee_id,full_name,email,dept,manager_email
E001,John Smith,[Link]@[Link],IT,[Link]@[Link]
E002,Jane Doe,[Link]@[Link],HR,

Step 2: Create Import Set Table


Navigation: System Import Sets > Administration > Create Table
Table Label: Employee Import
Table Name: u_employee_import
Add columns matching CSV fields
Step 3: Load Data
Navigation: System Import Sets > Load Data
Import type: File (Upload CSV)
Select file and target Import Set table

Step 4: Create Transform Map


Source Table: u_employee_import
Target Table: sys_user

Step 5: Field Mappings:


• employee_id → employee_number
• full_name → name
• email → email
• dept → department (coalesce mapping)
• manager_email → manager (reference mapping)

Step 6: Add Transform Script (optional)

// Transform Script Example // Set default values if missing if ([Link]()) {


[Link] = 'General'; // Default department } // Convert email to lowercase if
(![Link]()) { [Link] = [Link]().toLowerCase(); } // Set
user as active [Link] = true; // Log transformation [Link]('Transforming user:
' + source.full_name);
Transform Map Advanced Features:

Coalesce Fields:
• Used to match existing records
• If match found: UPDATE existing record
• If no match: INSERT new record
• Example: Use employee_id as coalesce field

Reference Field Mapping:


• Map to reference fields (lookup to other tables)
• Example: Map manager_email to manager field in sys_user
• Uses 'dot-walking' to find referenced record

Choice Field Mapping:


• Map text values to choice field options
• Example: 'High' → 1, 'Medium' → 2, 'Low' → 3

Transform Scripts:
• onBefore: Runs before transformation
• onStart: Runs at the start of each row
• onForeignInsert: Runs when related record is created
• onAfter: Runs after transformation completes

Loading Data into Import Sets:

Method Use Case How to Configure

Manual Upload One-time imports System Import Sets > Load Data > Upload File

REST API Real-time integration POST to /api/now/import/{table}

Scheduled Import Regular automated imports System Import Sets > Scheduled Imports

JDBC Database integration Configure data source connection

LDAP Active Directory sync LDAP configuration

Excel Bulk data entry Upload .xlsx file directly


8. Email Integration

Overview
ServiceNow can both send and receive emails as part of integration workflows.

Inbound Email Integration


Users or systems can send emails to ServiceNow to create/update records automatically.

Example: Create Incident from Email

1. Configure Inbound Email Action:


Navigation: System Policy > Email > Inbound Actions
Name: Create Incident from Email
Active: true
Type: Incident

2. Conditions:
Subject contains: [INCIDENT]
OR
From domain: @[Link]

3. Actions - Create Record:


Table: incident
Field mappings:
- Email Body → short_description
- Email Subject → short_description (if body empty)
- Email From → caller_id (lookup user by email)
- Set urgency = 3 (default)

4. Email Example:
To: support@[Link]
Subject: [INCIDENT] Cannot access email
Body: I am unable to log into my email account since this morning.

5. Result: Incident automatically created with caller set to sender

Outbound Email Integration


Send notifications to users or external systems when events occur.

Example: Notify Manager when Employee Submits Leave Request

1. Create Email Notification:


Navigation: System Notification > Email > Notifications
Name: Leave Request Submitted
Table: Leave Request [custom table]

2. When to send:
Condition: State changes to 'Pending Approval'

3. Who will receive:


Recipients: ${approver}
CC: hr@[Link]

4. What it will contain:


Subject: Leave Request Approval Needed - ${employee}
Body: Use email template with variables:
- Employee name: ${[Link]}
- Leave dates: ${start_date} to ${end_date}
- Reason: ${reason}
- Link to approve: ${URI_REF}

5. Advanced: Add approval/reject buttons in email


9. LDAP Integration

What is LDAP?
LDAP (Lightweight Directory Access Protocol) is used to integrate ServiceNow with Active Directory or other
directory services for user authentication and data synchronization.

LDAP Integration Use Cases:


• Single Sign-On (SSO) authentication

• Automatic user provisioning from Active Directory

• Sync user data (name, email, department, manager)


• Sync groups and organizational structure

• Disable users when they're removed from AD

LDAP Configuration Steps:


1. Create LDAP Server Configuration:
Navigation: System LDAP > LDAP Servers
- Name: Company Active Directory
- Server URL: ldap://[Link]
- Username: cn=admin,dc=company,dc=com
- Password: [admin password]
- Use SSL: Yes (recommended)

2. Configure LDAP OU (Organizational Unit):


Navigation: System LDAP > LDAP OU Definitions
- Name: Company Users
- LDAP Server: Company Active Directory
- RDN: ou=Users,dc=company,dc=com
- Table: User [sys_user]
- Auto sync: Yes

3. Field Mappings:
- LDAP Attribute → ServiceNow Field
- sAMAccountName → user_name
- displayName → name
- mail → email
- department → department
- manager → manager (reference)
- telephoneNumber → phone

4. Test Connection:
- Use 'Test' button to verify connectivity
- Check logs for any errors

5. Run Transform:
- Manual: Click 'Load LDAP Records Now'
- Scheduled: Set up automatic daily sync

LDAP vs SSO:
Feature LDAP SSO

Authentication Yes Yes

User Sync Yes Limited

Group Sync Yes Via SAML attributes

Password Storage In AD In Identity Provider

Common Protocols LDAP/LDAPS SAML, OAuth


10. MID Server Integration

What is a MID Server?


MID (Management, Instrumentation, and Discovery) Server is a ServiceNow application installed on a server in
your internal network. It acts as a bridge between ServiceNow (cloud) and your on-premises systems that
ServiceNow cannot directly access.

Why Use MID Server?


• Access databases behind firewalls (JDBC connections)

• Discover devices on internal network

• Execute PowerShell or shell scripts on local machines


• Access internal LDAP/Active Directory

• Connect to internal REST APIs

• Integrate with on-premises applications

How MID Server Works:


1. ServiceNow (Cloud) sends request to MID Server

2. MID Server receives request via secure connection

3. MID Server accesses internal resources (DB, LDAP, etc.)

4. MID Server sends response back to ServiceNow

5. All communication is outbound from MID Server (firewall-friendly)

MID Server Setup:


1. Download MID Server:
Navigation: MID Server > Downloads
Download for your OS (Windows/Linux)

2. Install on Internal Server:


- Extract files to installation directory
- Configure [Link] file:
* Instance URL
* MID Server username/password
* Server name

3. Start MID Server:


Windows: Run start_mid.bat
Linux: ./start_mid.sh

4. Validate in ServiceNow:
Navigation: MID Server > Servers
Check status = 'Up'
Verify last communication time

5. Configure Capabilities:
Assign capabilities like JDBC, LDAP, Discovery

Example: JDBC Query via MID Server


Scenario: Query SQL Server database in internal network

1. Create JDBC Data Source:


Navigation: System Import Sets > Data Sources
Type: JDBC
Name: Internal SQL Server
JDBC URL: jdbc:sqlserver://[Link]
MID Server: Select your MID Server
Username/Password: SQL credentials

2. Create Import Set:


Import Set Table: u_customer_data
SQL Query: SELECT * FROM Customers WHERE Active = 1

3. Run Import:
- MID Server executes query on internal SQL Server
- Results sent back to ServiceNow
- Data loaded into Import Set table
- Transform map processes data
11. Common Integration Scenarios

Scenario 1: HR System Integration


Requirement: Sync employee data from HR system (Workday) to ServiceNow daily

Solution Approach:

1. Outbound from Workday:


- Workday sends employee data via REST API
- Endpoint: /api/now/import/u_employee_import
- Scheduled daily at 2:00 AM

2. ServiceNow Processing:
- Data lands in Import Set table
- Transform Map processes data
- Updates sys_user table
- Coalesce on employee_number field

3. Field Mappings:
- Workday ID → Employee Number
- Full Name → Name
- Email → Email
- Department → Department (lookup)
- Manager → Manager (reference)
- Status → Active (true/false)

4. Error Handling:
- Failed transforms logged
- Email notification to admin
- Rejected records reviewed manually

Scenario 2: Ticketing System Integration


Requirement: Bi-directional sync between ServiceNow and Jira

Solution Approach:

1. ServiceNow → Jira (Outbound):


When: Critical incident created in ServiceNow
Action: Create corresponding Jira issue
Method: REST Message in Business Rule
2. Implementation:
- Business Rule: Table = incident, When = after insert
- Condition: Priority = 1
- Script: Call Jira REST API to create issue
- Store Jira issue key in custom field

3. Jira → ServiceNow (Inbound):


When: Jira issue status changes
Action: Update ServiceNow incident status
Method: Jira webhook → ServiceNow Scripted REST API

4. Data Sync:
- Comments synced bi-directionally
- Status mapping configured
- Attachments copied
- Work notes synchronized
Scenario 3: Monitoring Tool Integration
Requirement: Create incidents from monitoring alerts (Nagios, DataDog, etc.)

Solution Approach:

1. Monitoring Tool → ServiceNow:


Method: REST API (Inbound)
Endpoint: Scripted REST API or Table API

2. Create Scripted REST API:


Path: /api/custom/monitoring/alerts
Method: POST
Accept: Alert data from monitoring tool

3. Processing Logic:
- Check if incident already exists (by alert ID)
- If exists: Update existing incident
- If new: Create new incident
- Map severity → priority
- Map alert description → short_description
- Assign to appropriate group

4. Deduplication:
- Use alert ID as unique identifier
- Prevent duplicate incidents for same alert
- Update count field for repeated alerts
// Scripted REST API for Monitoring Alerts (function process(request, response) { var
data = [Link]; // Check for existing incident var gr = new
GlideRecord('incident'); [Link]('u_alert_id', data.alert_id); [Link](); if
([Link]()) { // Update existing [Link] = 2; // In Progress gr.work_notes = 'Alert
repeated at: ' + new GlideDateTime(); gr.u_alert_count = parseInt(gr.u_alert_count) +
1; [Link](); [Link](200); [Link]({ "status": "updated",
"incident_number": [Link]() }); } else { // Create new incident var
incident = new GlideRecord('incident'); [Link]();
incident.short_description = data.alert_name; [Link] =
data.alert_details; [Link] = mapSeverityToUrgency([Link]);
incident.u_alert_id = data.alert_id; incident.u_alert_count = 1;
incident.assignment_group = 'Network Operations'; var sysId = [Link]();
[Link](201); [Link]({ "status": "created", "incident_number":
[Link](), "sys_id": sysId }); } })(request, response); function
mapSeverityToUrgency(severity) { var mapping = { "critical": "1", "high": "2",
"medium": "3", "low": "3" }; return mapping[[Link]()] || "3"; }
Scenario 4: Chat Integration (Slack/Teams)
Requirement: Send notifications to Slack when incidents are created/updated

Solution 1: Using Integration Hub (Easiest):

1. Install Slack Spoke from Store


2. Configure Slack Connection (webhook URL or OAuth)
3. Create Flow in Flow Designer:
- Trigger: Record Created/Updated (Incident)
- Condition: Priority = 1 OR 2
- Action: Slack - Send Message
- Configure message with incident details

Solution 2: Using REST Message (Manual):

1. Get Slack Webhook URL from Slack admin


2. Create REST Message:
- Endpoint: [Link]
- Method: POST

3. Call from Business Rule:


- When: After insert/update on incident
- Condition: Priority = 1
- Send formatted message to Slack
// Business Rule: Notify Slack on P1 Incident (function executeRule(current, previous)
{ var r = new sn_ws.RESTMessageV2();
[Link]('[Link]
[Link]('POST'); var message = { "text": "■ Priority 1 Incident Created",
"blocks": [ { "type": "section", "text": { "type": "mrkdwn", "text": "*Incident:* " +
[Link] + "\n" + "*Description:* " + current.short_description + "\n" +
"*Assigned to:* " + current.assigned_to.getDisplayValue() + "\n" + "*Link:* <" +
[Link]('[Link]') + "/[Link]?sys_id=" + current.sys_id + "|View
Incident>" } } ] }; [Link]([Link](message)); var response =
[Link](); })(current, previous);
12. Best Practices & Interview Tips

Integration Best Practices

1. Security:
• Always use HTTPS for REST communications
• Use OAuth instead of Basic Auth when possible
• Store credentials in system properties, not in scripts
• Implement IP whitelisting for inbound integrations
• Use MID Server for internal network access

2. Error Handling:
• Always wrap REST calls in try-catch blocks
• Log errors with meaningful messages
• Implement retry logic for transient failures
• Send alerts on integration failures
• Keep error logs for troubleshooting

3. Performance:
• Use bulk APIs for large data transfers
• Implement pagination for large result sets
• Schedule heavy integrations during off-peak hours
• Use async processing for long-running operations
• Cache frequently accessed data

4. Data Quality:
• Always validate data before inserting
• Use Import Sets for bulk data imports
• Implement data transformation rules
• Use coalesce fields to prevent duplicates
• Document field mappings clearly

5. Monitoring:
• Set up integration monitoring dashboards
• Create alerts for failed integrations
• Log all integration activities
• Track API usage and limits
• Review integration logs regularly
Common Interview Questions & Answers

Q1: What are the main differences between REST and SOAP?
REST is simpler, uses JSON/XML, and HTTP methods (GET, POST, PUT, DELETE). SOAP is more complex,
uses only XML, has strict standards, and includes built-in security (WS-Security). REST is preferred for modern
integrations due to simplicity and performance. SOAP is used for legacy systems requiring formal contracts.

Q2: When would you use Import Sets vs direct REST API?
Use Import Sets for: bulk data imports, data validation needs, complex transformations, scheduled imports, and
when you need staging/error handling. Use direct REST API for: real-time integrations, single record
operations, simple CRUD operations, and when immediate processing is required.

Q3: How do you handle authentication in ServiceNow integrations?


ServiceNow supports: Basic Authentication (username/password), OAuth 2.0 (token-based), API Keys, Mutual
Authentication (certificates). Best practice is to use OAuth for external integrations and store credentials in
System Properties, never hardcode.

Q4: What is a MID Server and when do you need it?


MID Server is a Java application installed on internal network to bridge ServiceNow (cloud) with on-premises
systems. Needed for: accessing internal databases (JDBC), LDAP/AD integration, Discovery, accessing
systems behind firewalls, running local scripts. It makes outbound connections only, so firewall-friendly.
Q5: How would you integrate ServiceNow with Slack?
Two approaches: 1) Use Integration Hub with Slack Spoke (easiest) - configure webhook, create Flow with
Slack action. 2) Manual REST Message - get webhook URL, create REST message, call from Business Rule or
Script. Can send notifications on incident creation, approvals, alerts. Bi-directional integration possible with
Scripted REST APIs.

Q6: Explain Transform Maps and their importance.


Transform Maps define how data moves from Import Set (staging) to target table. They include field mappings,
coalesce rules (for update/insert logic), transform scripts (onBefore, onStart, onAfter), and reference mappings.
Essential for data quality, preventing duplicates, and handling complex transformations.

Q7: How do you handle errors in REST integrations?


Best practices: 1) Wrap in try-catch blocks, 2) Check HTTP status codes (200=success, 4xx=client error,
5xx=server error), 3) Log detailed errors with [Link](), 4) Implement retry logic with exponential backoff, 5)
Send notifications on failures, 6) Use Event Management for monitoring.

Q8: What is Flow Designer and how is it used for integration?


Flow Designer is a low-code automation tool for creating workflows. For integration: 1) Trigger flows on record
events, 2) Use REST steps to call external APIs, 3) Use Integration Hub Spokes (pre-built connectors), 4)
Process responses and update records, 5) Handle errors gracefully. No coding required for basic integrations.
Key Integration Comparison Table

Method Direction Use Case Complexity Real-time

REST API Both Modern integrations Low Yes

SOAP Both Legacy systems High Yes

Import Sets Inbound Bulk data import Medium No

Flow Designer Both No-code automation Low Yes

Business Rules Outbound Event-driven Medium Yes

Email Both Notifications Low Near real-time

LDAP Inbound User sync Medium Scheduled

MID Server Both Internal network High Yes

Scripted REST Inbound Custom endpoints Medium Yes

REST Message Outbound External API calls Low Yes

Interview Tips:

✓ Always mention security when discussing integrations

✓ Know the difference between synchronous and asynchronous

✓ Be ready to explain error handling strategies

✓ Understand when to use MID Server

✓ Know REST methods (GET, POST, PUT, PATCH, DELETE)

✓ Be familiar with JSON format

✓ Understand authentication methods (OAuth, Basic Auth)

✓ Know how to debug integrations (logs, REST message logs)

✓ Be prepared to draw integration flow diagrams

✓ Practice explaining concepts in simple terms

Quick Reference: Common Paths


• REST Messages: System Web Services > Outbound > REST Message
• Scripted REST APIs: System Web Services > Scripted Web Services > Scripted REST APIs
• Import Sets: System Import Sets > Load Data
• Transform Maps: System Import Sets > Transform Maps
• Flow Designer: Process Automation > Flow Designer
• Business Rules: System Definition > Business Rules
• LDAP Configuration: System LDAP > LDAP Servers
• MID Servers: MID Server > Servers
• Email Notifications: System Notification > Email > Notifications
• Inbound Email: System Policy > Email > Inbound Actions

Conclusion
This guide covers all major integration approaches in ServiceNow. Practice building actual integrations in a
Personal Developer Instance (PDI) to gain hands-on experience. Remember that integration is about
connecting systems efficiently, securely, and reliably. Good luck with your interview!

© 2026 ServiceNow Integration Guide

Common questions

Powered by AI

Inbound integrations in ServiceNow involve external systems sending data into ServiceNow, typically used for importing data or creating/updating records. Common methods include REST APIs, Import Sets for bulk data import, and Scripted REST APIs for custom data endpoints . Outbound integrations involve ServiceNow sending data to external systems, often triggered by events such as record creation or updates. Examples include sending notifications, making API calls using REST Messages, or using Business Rules for automated data synchronization . Both integration types enable seamless data exchange but serve different process requirements: inbound enriches ServiceNow with external data, while outbound synchronizes or informs external platforms .

Import sets in ServiceNow function as staging areas where data from external systems is initially loaded before being processed. Transform Maps then come into play to map and transform this data into the target tables . They define rules and mappings for converting imported data fields to the corresponding ServiceNow fields and apply transformation scripts to process data as needed. This workflow ensures that incoming data is accurately structured, minimizes errors, and meets the system's integrity requirements . Through this import and transformation process, organizations can efficiently manage large volumes of data from various external systems, facilitating seamless integration and data consistency within ServiceNow .

REST and SOAP are two main integration methods with distinct differences. REST is characterized by its use of standard HTTP methods and its ability to return data in JSON or XML format, providing simplicity and speed . SOAP, on the other hand, uses XML for communication and typically relies on WSDL for service definition, which can make it more complex and slower but may provide necessary support for legacy systems . REST is preferred for modern integrations due to its simplicity and speed, while SOAP is suitable when strict data contracts are required or in environments where existing SOAP infrastructure is prevalent .

ServiceNow can be integrated with Slack using either Integration Hub or by configuring REST Messages. Using Integration Hub, you can leverage pre-built Spokes that simplify the setup process and require minimal coding. This involves setting up the Slack Spoke, configuring a webhook, and creating a Flow in Flow Designer with Slack actions to send messages based on certain conditions . The primary advantage of using Integration Hub is the ease of configuration and the ability to create complex integrations with various external systems quickly using low-code tools . In contrast, REST Message integration requires manual creation and configuration of API calls each time .

Best practices for error handling in REST API integrations in ServiceNow include wrapping API calls within try-catch blocks to handle exceptions gracefully . It's crucial to check HTTP status codes to determine if requests were successful (status 200) or if errors occurred (4xx for client errors, 5xx for server errors). Detailed error logging using gs.error() helps in diagnosis. Implementing retry logic with exponential backoff can manage transient errors. Notifications should be sent when errors occur, and Event Management can be used for monitoring and alerting .

ServiceNow supports various authentication methods for integrations, including Basic Authentication, OAuth 2.0, API Keys, and Mutual Authentication using certificates . The best practice for integration security is to use OAuth for external integrations as it offers token-based authentication, enhancing security. Credentials should never be hardcoded in scripts; instead, they should be stored in System Properties to protect sensitive information .

Flow Designer in ServiceNow allows for the creation of automated workflows without coding, making it ideal for integrating with external systems. It uses triggers such as record creation or updates to start flows, and actions such as REST HTTP requests to call external APIs . For example, it can automate sending notifications to external systems (e.g., Slack) based on specific incident criteria, or it can call external APIs to retrieve data and use it within ServiceNow . Using the Integration Hub alongside Flow Designer further simplifies these tasks with pre-built connectors called Spokes .

A MID Server is used in scenarios where ServiceNow needs to interact with on-premises resources or systems behind a company’s firewall that the ServiceNow cloud cannot access directly. This includes tasks such as querying internal databases (via JDBC), integrating with LDAP or Active Directory, performing network discovery, executing local scripts, and accessing internal REST APIs . The MID Server acts as a bridge by accepting requests from the ServiceNow cloud, executing them within the local network, and then sending the results back securely to ServiceNow .

Transform Maps in ServiceNow define how incoming data from Import Sets (staging tables) is transformed and inserted into target tables in ServiceNow. They are crucial for ensuring data quality and integrity during the integration process. Transform Maps manage field mappings between source and target tables, apply transformation scripts for data manipulation, and handle coalesce rules to manage update or insert logic . This helps in preventing data duplication, managing complex data transformation processes, and ensuring that the integrated data meets business needs and standards .

ServiceNow handles data synchronization with LDAP by utilizing MID Servers to connect to LDAP servers behind corporate firewalls. This integration allows ServiceNow to fetch user and group information from an LDAP server and update its user records accordingly. Field mappings ensure correct data fields are synchronized, such as user names, emails, and department data . LDAP integration is essential for organizations as it centralizes identity management, reducing manual data entry errors and ensuring consistent user information across platforms. It also supports single sign-on (SSO) capabilities, enhancing both security and user convenience .

You might also like