Hi All,
I want to integrate with service now application from odc to create the ticket having message as old value ,new value which are updating in the form,the field with old value nd new value,
Please let me know the approach how to send the values field,old value and new value in payload.
Also please let me know if service now provides rest api for creating ticket in service now as in other application it's using soap.
Regards
Hello @Preeti zade,
I'm not entirely sure if I understood your question correctly, but if you're asking whether ServiceNow provides REST APIs, then yes, it does.
I found the these references that might help:
Thank you,
Want to pass only the updated values as old value and new value so not sure if the api supports,
In that case only soap to be used?
And please let me know the approach to send only the updated values in soap msg as not sure if rest api supports as in documentation update record api wrt id from table in service now but want to pass from the form the message description as old values nd new values and field name for each field.
You can do this in ODC with a REST integration; SOAP isn’t available in ODC right now. No SOAP in ODC
Below is a practical approach tailored to ServiceNow and to your “old value / new value” requirement.
ServiceNow does provide REST APIs for creating incidents (tickets). Typically it’s the Table API or Incident API, with an endpoint like:
POST https://<your-instance>.service-now.com/api/now/table/incident
Your ServiceNow admin can confirm:
You have a few common options for how to send old/new values:
Single “description” or “comments” field Build a text that contains all changes, for example:
Field: Priority | Old: Low | New: High
Field: Status | Old: Open | New: Closed
Dedicated custom JSON field (if ServiceNow has a custom field to store raw JSON) Example:
{ "changedFields": [ { "fieldName": "Priority", "oldValue": "Low", "newValue": "High" }, { "fieldName": "Status", "oldValue": "Open", "newValue": "Closed" } ] }
Separate columns (one column per “old” and “new” value) Only if your ServiceNow table has individual columns like u_old_priority, u_new_priority, etc.
u_old_priority
u_new_priority
Ask your ServiceNow team which approach is supported/preferred.
In ODC you’ll consume ServiceNow as a REST API:
In ODC Studio, create a REST API integration and:
Define:
POST
short_description
description
category
u_change_details
Configure Authentication in ODC Portal for that REST integration (Basic auth or custom headers via callback). Consuming a REST API
In your ODC app, when a user updates a form:
Retrieve old values before the update (e.g., from your database).
After the user submits, you have:
Construct a message or structure:
Create a text variable ChangeDescription:
ChangeDescription
"Field: Priority | Old: " + OldRecord.Priority + " | New: " + NewRecord.Priority + "\n" + "Field: Status | Old: " + OldRecord.Status + " | New: " + NewRecord.Status
You can loop through fields if you have many, or just build manually for the important ones.
If using a custom JSON field instead, create a Structure like:
ChangedField: - FieldName: Text - OldValue: Text - NewValue: Text ChangePayload: - ChangedFields: List of ChangedField
Populate ChangedFields with each changed field and then serialize it to JSON (if ServiceNow expects raw JSON text) or map it directly if your REST body is defined with that structure.
ChangedFields
In your Server Action:
ODC will log each REST call in the Monitor > Logs area of the ODC Portal, useful for debugging payloads and responses. Consuming a REST API
If ServiceNow needs tokens or custom headers beyond Basic Authentication:
Request.Headers
Authorization: Bearer <token>
If you describe how you want the ServiceNow payload (e.g., simple text vs structured JSON), I can outline the exact Structure and REST method definition in ODC terms.
You can integrate with ServiceNow from ODC using REST APIs. ServiceNow provides REST APIs for ticket/incident creation, so SOAP is not mandatory and REST is the recommended approach.
To send old value, new value, and field name in the payload, first store the existing form values before update. After the form is updated, compare the old and new values field by field and prepare the payload dynamically. You can send the details in the description field of the ticket, for example: “Field: Status, Old Value: Pending, New Value: Approved”.
If multiple fields are updated, you can append all field changes in the same description message and send it through the REST API request. In ODC, create a POST REST API method and call the ServiceNow incident/table API endpoint with the required authentication (Basic Auth or OAuth). Once the payload is sent successfully, ServiceNow will create the ticket and return the incident number in the response.