Web service import set mode

  • Release version: Zurich
  • Updated July 31, 2025
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Web service import set mode

    This documentation explains how ServiceNow handles SOAP message imports into import set tables, focusing on the modes and states of import sets during data insertion and transformation. It also details how to control insert behavior to avoid duplicates and describes the structure and customization of the SOAP response returned after import operations.

    Show full answer Show less

    Import Set Modes and States

    When a SOAP message inserts data into an import set table without an active import set in the Loading state, ServiceNow creates a new import set with the Synchronous mode. This mode transforms data immediately upon insertion if the transform map exists, and the import set's default state is Loading. Synchronous import sets automatically change to Processed at midnight, prompting a new synchronous import set creation with each new insert.

    Changing the mode to Asynchronous with a Loading state defers transformation until manually triggered or scheduled, allowing data to be loaded first.

    ModeStateFunction
    AsynchronousLoadingData transformation is deferred; rows are marked "Pending". Transformation occurs manually or by schedule after state changes to Loaded.
    AsynchronousLoadedData loading is complete; transformation can be performed.
    SynchronousLoadingData transformation happens automatically and immediately upon data insertion.
    SynchronousLoadedMarks readiness for a new synchronous import set creation on subsequent inserts.

    Controlling Insert Behavior

    To prevent duplicate records during web service imports, especially when no coalesce fields are defined, use the glide.importsetinsertserialized.<table name> system property. Setting this property to true serializes database inserts, avoiding duplicates but potentially impacting performance. Setting it to false improves import performance but may allow duplicates.

    Note that glide.importsetinsertserialized.<table name> overrides the older glide.soap.importsetinsertserialized.<table name> property if both exist.

    Standard SOAP Response

    After a web service import, the SOAP response provides key information about the record affected:

    • sysid: Unique identifier of the created or modified record.
    • table: Name of the table affected (import set table for asynchronous calls).
    • displayname: The display field name for the record.
    • displayvalue: Value of the display field (e.g., Incident number).
    • status: Indicates the action taken (inserted, updated, ignored, skipped, or error).
    • statusmessage: Optional message describing the status (customizable via transform scripts).
    • errormessage: Details of any error encountered (also customizable).

    Customizing the SOAP Response

    ServiceNow allows customization of the statusmessage field in the SOAP response by modifying the transform script, enabling the inclusion of additional information beyond the default WSDL response.

    When a SOAP message inserts a record into an import set table, and there is no import set for that table in the Loading state, a new import set will be created with the Mode set to Synchronous.

    An import set with a Mode of Synchronous will transform the data as soon as it is inserted (provided that the transform map already exists). This import set will also have a default State of Loading. By default, all Synchronous import sets will automatically be modified to Processed at midnight. As a result, when a new insert happens to the same table, a new Synchronous import set will be created.

    Figure 1. Synchronous import set
    Changing this import set to a mode of Asynchronous and a state of Loading has the effect of not transforming the incoming data as it is inserted, but rather "loading" the import set and deferring the data transformation later, either manually, or with a scheduled script job.
    Table 1. Import Set Mode
    Mode State Function
    Asynchronous Loading Data transformation is not occurring automatically and immediately. Data added to import set row has a state of "Pending". Transform can be scheduled or executed manually when state is changed to Loaded
    Asynchronous Loaded Marks the completion of data loading. Data transformation can now occur in a scheduled fashion or manually.
    Synchronous Loading Data transformation is occurring automatically and immediately whenever data is inserted into the associated import set row.
    Synchronous Loaded When new data is inserted into this associated import set, a new import set of mode Synchronous and state Loading will be created. Changing the state to Loaded is a way to indicate that a new Synchronous import set should be created for the next import set row insert (and transformed immediately)

    Controlling Insert Behavior

    In imports sets that specify one or more coalesce fields, records with a matching coalesce value are transformed from source to target table serially (one at a time) to prevent duplicates.

    In import sets that do not specify any coalesce field, records are transformed concurrently. You can control this behavior using the glide.import_set_insert_serialized_when_no_coalesce property.

    The glide.import_set_insert_serialized.<table name> system property controls how the instance inserts records from web service calls into a specific import set table. When true, this property prevents identical simultaneous inserts from creating duplicate records by serializing the database insert operations. If a target table does not have any coalesce fields defined in a transform map, set this property to false to improve web service import set performance.

    Note:
    Setting this property to false can result in the creation of duplicate records.
    Note:
    The glide.soap.import_set_insert_serialized.<table name> system property provides equivalent functionality to glide.import_set_insert_serialized.<table name>, but if both properties are defined, glide.import_set_insert_serialized.<table name> supersedes glide.soap.import_set_insert_serialized.<table name>.

    Standard SOAP Response

    The SOAP response from a web service import set insert call returns the following standard values.
    <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><insertResponse><sys_id>fa648f5f0a0a0b2b0048e7012448b8f1</sys_id><table>incident</table><display_name>number</display_name><display_value>INC10014</display_value><status>inserted</status></insertResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
    Table 2. Standard SOAP Response
    Field Description
    sys_id The Sys_id of the resulting record that was created or modified
    table The table name of the table that was affected. In the case of an Asynchronous call, the table name would be the import set table eg. imp_notification for the Notifications web service import set table
    display_name The name of the field that is set as the display field for the record that was created or modified
    display_value The value of the field designated as the display field. For example, the display field for the Incident table is the Number field and an example value would be INC10001
    status A string value that indicates the action that occurred as a result of the web service invocation, relating to the record defined by the sys_id and table field values
    • inserted - the record was inserted
    • updated - the record was updated
    • ignored - the input was ignored, the record was not updated and no new record was created
    • skipped - the input data was skipped (similar to ignored) due to missing coalesce values
    • error - there was an error processing the input
    status_message This value translates to the value found in the Comment field of the import set row and usually contains information related to the status value eg. "No field values changed" when the status is "ignored' . Setting this value to a customized string value will cause the SOAP response to contain an optional status_message field to be returned.
    error_message The message related to a status of error. When an error occurs, setting this value to a customized string value will cause the SOAP response to contain an optional error_message field to be returned

    Tailoring the SOAP Response

    It is possible to include information other than the information specified in the WSDL by overwriting the contents of status_message using the transform script.