---
title: "ServiceNow integration with Salesforce"
canonical: "https://docs.aryaka.com/space/KNOW/1266384897/ServiceNow%20integration%20with%20Salesforce"
format: markdown
---
Aryaka leverages Salesforce (SFDC) Service Cloud as our central incident management system for customer cases. However, we understand that many customers use ServiceNow as their single pane of glass for IT operations and would like to sync incidents between these systems for ease of tracking, maintaining uptime, and auditing. This document outlines the technical details of the integration that automatically creates and updates ServiceNow incidents based on Aryaka's Salesforce cases. This integration is designed to ensure the following: Seamless incident lifecycle between Salesforce cases and ServiceNow incidents. Reduced manual effort and "swivel-chair operations" for customer ITSM teams. Improved SLA visibility by tracking Aryaka tickets directly in ServiceNow. Aryaka is proactively informed about incidents reported from LAN-side users with internal tickets instead of emails. Synchronization This integration supports the synchronization of key information in both directions as follows: Salesforce to ServiceNow—A Salesforce case results in the creation of a corresponding incident in ServiceNow. Updates to the case in Salesforce (for example, status, priority, and public comments) are synced to the corresponding ServiceNow incident. ServiceNow to Salesforce—A ServiceNow incident results in the creation of a corresponding case in Salesforce. Updates to the incident in ServiceNow (for example, status, priority, and work notes) are synced to the corresponding Salesforce case. Supported case types Salesforce synchronizes only incident-type cases, such as the following: LMM circuit link down (this includes communication between the ISP vendor and Aryaka) ANAP down BGP down Non-supported case types The following case types are not synchronized between the two systems: Change Management—Change requests initiated in either system are outside the scope of this integration. Configuration Item (CI) Synchronization—Updates to CIs, or any related CMDB data, are not included. SLA Management—SLA-related events, breaches, or metrics are managed independently within each platform. API integration Aryaka supports this integration by leveraging the API endpoints provided by ServiceNow and Salesforce. ServiceNow provides the following two API integration options:  Option 1: Inbound REST API (Table API) —A standard, out-of-the-box API provided by ServiceNow. This approach requires your team to perform the necessary data transformation on the Aryaka side of the integration (in Workato) so that the payload precisely matches ServiceNow's standard table schema. Option 2: Scripted REST API —A custom API you can build within your ServiceNow instance. This allows your team to manage all data transformation and business logic on the ServiceNow side. The payload can be sent from Aryaka in a simplified format, and your custom script will handle how it maps to ServiceNow's fields. Best Practice We strongly recommend using Option 2 (Scripted REST API). This approach gives your team full control over how data is processed in your environment, enabling complex validations and data mapping that provide a more seamless and robust integration.  High-level architecture and data flow This integration is powered by Workato iPaaS, which acts as a secure middleware between Salesforce and ServiceNow. The integration includes the following components: Salesforce (SFDC)—Aryaka's system of record for cases, including those from internal monitoring tools. Workato—The cloud-based integration platform that subscribes to Salesforce case events, transforms the data payload, and securely forwards it to ServiceNow. ServiceNow (Customer)—The customer's ITSM platform where Salesforce cases appear as incidents. ServiceNow API Endpoint—The customer-exposed API that receives the JSON payloads from Workato. This can be either a standard Inbound REST API or a Scripted REST API. The following steps describe the end-to-end flow of this integration: A case is created in Salesforce (either manually by Customer Support or automatically by monitoring tools). Workato subscribes to the Salesforce event, retrieves the case data, and transforms it to match the customer's ServiceNow schema. Workato invokes the custom ServiceNow API endpoint to create a new incident. Subsequent updates in Salesforce (for example, status, priority, or public comments) are pushed by Workato to the corresponding ServiceNow incident. Optionally, updates can be pulled from ServiceNow back to Salesforce to enable bidirectional synchronization. Prerequisites To begin the integration, you should provide the following information to Aryaka Support: A ServiceNow API endpoint capable of receiving payloads. This can be either a standard Inbound REST API or a Scripted REST API. Authentication credentials for the API. Workato supports Basic, API Key, OAuth, and JWT. We prefer OAuth 2.0 as it's a more secure mechanism. Confirmation of the specific ServiceNow fields to be populated. The exact format of this confirmation depends on the chosen API: If using an Inbound REST API, provide a clear list of the ServiceNow Incident table field names that will be populated by the Aryaka payload. Aryaka is responsible for matching the data and ensuring the payload attributes correspond exactly to these field names. If using a Scripted REST API, provide a simple JSON payload schema that your custom script is built to receive. This offers more flexibility, as the script handles the data transformation from your provided payload schema to the ServiceNow fields. (Optional) Request Workato access for testing purposes. Aryaka provides the following to your IT department: A finalized field mapping between Salesforce and ServiceNow. Access to the Salesforce API to read case events. Workato credentials to authenticate with Salesforce and ServiceNow. OAuth credentials (for example, Authorization Key) for Aryaka’s API. Salesforce to ServiceNow Integration This section provides the specific field mapping for the inbound sync, where cases from Aryaka's Salesforce are created and updated in your ServiceNow instance through Workato.  Aryaka uses the following mapping for Scripted REST API: Salesforce Field Label Salesforce API Name Customer's API Field Name Typical ServiceNow UI Field Name Description Id Id CaseID Not applicable (API use) The unique identifier for the Salesforce case, used to link and update the corresponding ServiceNow incident. Case Number CaseNumber CaseNumber Number The public-facing reference number for the Salesforce case. Subject Subject Subject Short Description The primary title or brief summary of the incident. Description Subject description Description The detailed description of the incident, also populated by the Salesforce  Subject  field. Account Name AccountName__c AccountName Company The name of the customer's account in Salesforce. ANAP1_SN ANAP1_SN__c ANAP_SN_1 ANAP1 Serial Number The serial number of the primary Aryaka Network Access Point (ANAP) related to the incident on the site. ANAP2_SN ANAP2_SN__c ANAP_SN_2 ANAP2 Serial Number The serial number of the secondary ANAP related to the incident, if applicable, on the site. Priority Priority Priority Priority The urgency of the incident, based on the priority assigned in Salesforce. Status Status Status State The current state of the case, indicating its progress (for example, Open, Pending, Closed). Ref ID Ref_ID__c Ref_Id Reference ID A custom field used to store an external reference ID for the case. Comments CaseComment.CommentBody Case_Comments Additional Comments The body of the public comment added to the Salesforce case, used for communicating updates to the customer. The ANAP1_SN and ANAP2_SN fields cannot be supported for the Inbound REST API option.  ServiceNow to Salesforce (Aryaka) integration A ServiceNow administrator can configure an outbound integration to send data to a custom Aryaka API in Salesforce by following the steps outlined in this section. Best Practice We strongly recommend testing the integration with a UAT environment first. The credentials for this are shared by Aryaka Support.  Step 1: Configure the OAuth provider The custom Aryaka API uses OAuth 2.0 for authentication. An administrator must configure ServiceNow to receive an access token from the Aryaka server before making API calls. Updates to the ServiceNow interface are beyond our control. Refer to the  documentation  provided by ServiceNow to ensure you have the most recent information about how to create an OAuth provider. To create an OAuth provider record in your ServiceNow instance Navigate to  System OAuth  >  Application Registry . Click  New  and select  Create an OAuth API provider for an external service . Fill in the fields using the following details that are provided by Aryaka. Name— Aryaka API Default Grant Type— Client Credentials Token URL— https://ipaastest.aryaka.com/oauth2/token Client ID—Part of the  Authorization Key  sent in an email from Aryaka Support. Client Secret—Part of the  Authorization Key  sent in an email from Aryaka Support. The  Authorization Key  shared by Aryaka Support is a Base64-encoded string that combines the  Client ID  and  Client Secret . The ServiceNow form requires these two components to be entered separately. Step 2: Define the REST message After the OAuth provider is set up, you will define the structure of the API call itself using a REST message. The REST message specifies the endpoint and HTTP method ( POST ) for the API call. Updates to the ServiceNow interface are beyond our control. Refer to the  documentation  provided by ServiceNow to ensure you have the most recent information about outbound REST messages. To create a REST message Navigate to  System Web Services  >  Outbound  >  REST Message . Click  New . Give the REST message a meaningful name, for example,  Aryaka Case Integration . Set the  Endpoint  to one of the following URLs: UAT— https://ipaastest.aryaka.com/case/create_update   PROD— https://ipaas.aryaka.com/case/create_update   On the  Authentication  tab, select the  OAuth Profile  you created in  Step 1: Configure an OAuth Provider . Right-click the header and  Save . A new HTTP Methods section appears. Step 3: Configure the HTTP method and request body Within your new REST message, you must configure the  POST  method that sends data to the Aryaka API. This method must use the fields defined in the following table: Aryaka API Field Comments Required CaseID CaseID  or  CaseNumber  is mandatory for updates. They should be blank for creating a case. No CaseNumber No Subject Yes Description Yes ContactName No ContactEmail Yes Priority Hardcoded to  P1 No CaseOrigin No Case_Comments Mandatory for update No Updates to the ServiceNow interface are beyond our control. Refer to the  documentation  provided by ServiceNow to ensure you have the most recent information about scripting REST messages. To configure the HTTP method and JSON request body In the  HTTP Methods  section, click  New . Set the  Method  to  POST . In the  Content  tab, set the  Content-Type  to  application/json . In the  HTTP Request  section, paste the following sample JSON request body, replacing the sample values with variables that will be dynamically populated by your script: {
  "CaseID": "${CaseID}",
  "CaseNumber": "${CaseNumber}",
  "Subject": "${Subject}",
  "Description": "${Description}",
  "ContactName": "${ContactName}",
  "ContactEmail": "${ContactEmail}",
  "Priority": "P1",
  "CaseOrigin": "${CaseOrigin}",
  "Case_Comments": "${Case_Comments}"
} Step 4: Create a business rule to trigger the integration A business rule is a server-side script that executes automatically when a record is inserted, updated, or deleted in ServiceNow. This is the trigger for your outbound API call. Updates to the ServiceNow interface are beyond our control. Refer to the  documentation  provided by ServiceNow to ensure you have the most recent information about business rule scripts. To create a business rule Navigate to  System Definition  >  Business Rules . Click  New . Set the  Table  to the relevant ServiceNow table (for example,  incident ). Configure the  When to run  tab to trigger on  Insert  (and/or  Update ). Check the  Advanced  box and go to the  Advanced  tab. Write a script to call the REST message and map ServiceNow fields to the API fields. After executing the API call, the script can check the response to ensure success. Sample response: Success {
  "Status": "Success",
  "Message": "Ticket is created Successfully"
} Sample response: Error {
  "Status": "Error",
  "Message": "<Actual Error Message will appear here>"
} In this topic