ServiceNow
The Carbon Connect enabledIntegrations
value for ServiceNow is SERVICENOW
.
ServiceNow is a cloud-based IT service management platform that helps organizations manage and automate their IT services. Carbon now supports connecting to ServiceNow instances to sync incidents and attachments.
Authorization Type
ServiceNow uses OAuth 2.0 for authorization.
Authorization Flow
To connect to a ServiceNow instance:
- Set
"service": "SERVICENOW"
under theservicenow_credentials
object within the/integrations/oauth_url
request. - Provide the following required parameters:
instance_subdomain
: The subdomain of your ServiceNow instance, extracted from the instance URL (<instance-subdomain>.service-now.com
).client_id
: The client ID obtained from the ServiceNow OAuth integration.client_secret
: The client secret obtained from the ServiceNow OAuth integration.redirect_uri
: The redirect URI, which should behttps://api.carbon.ai/integations/servicenow
or a CNAME’d version of that URL.
Example below for reference:
{
"service": "SERVICENOW"
"servicenow_credentials": {
"instance_subdomain": "example",
"client_id": "example",
"client_secret": "example",
"redirect_uri": "example"
}
}
Via Carbon Connect: Optionally you can input the credentials directly via the Carbon Connect component.
- ServiceNow will redirect the user to a successful connection page after the OAuth flow is completed.
Functionality
After connecting to a ServiceNow instance, you can sync incidents and their attachments. By default, nothing is synced on connection. To change this behavior, include the following in the request:
"file_sync_config": {
"auto_synced_source_types": ["INCIDENT"]
}
Alternatively, you can use Carbon Connect’s file picker or build your own using the /integrations/items/sync
and /integrations/items/list
endpoints to list and sync incidents and attachments.
Tickets
ServiceNow supports three ticket-specific items:
- TABLE: The only table that can be synced is the Incidents table. Syncing the Incidents table will pull in new incidents through the auto-resync. The Incidents table is a container and has no extractable text of its own.
- INCIDENT: Incidents are child items of the Incidents table. The extracted text of an incident takes the form of the default view in ServiceNow’s UI. The JSON representation of the incident is stored in
presigned_url
inuser_files_v2
. - ATTACHMENT: Attachments are child items of Incidents. They are automatically synced along with the incident if the file format is supported by Carbon.
Synchronization
To sync ServiceNow tickets on a 24-hour schedule (more frequent schedules available upon request), you can use the /update_users
endpoint. This endpoint allows organizations to customize syncing settings according to their requirements, with the option to enable syncing for all data sources using the string ‘ALL’. It’s important to note that each request supports up to 100 customer IDs.
Here’s an example illustrating how to automatically enable syncing for updated ServiceNow content for specified users:
{
"customer_ids": ["team@carbon.ai", "sam@openai.com"],
"auto_sync_enabled_sources": ["SERVICENOW"]
}