Convert manual services to application services using API

  • Release version: Yokohama
  • Updated January 30, 2025
  • 2 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 Convert manual services to application services using API

    This feature allows ServiceNow customers to convert existing manual services into application services using a JavaScript API. Since manual services are no longer supported and have been replaced by application services, this conversion is necessary for compatibility with Event Management and for enhanced monitoring of service performance and health.

    Show full answer Show less

    Before converting, ensure any automation related to manual services (such as business rules or scheduled jobs) is properly built and tested, as manual services are static and keep their original structure after conversion.

    Conversion Details

    • The manual service record is reclassified from the Manual Services [cmdbciservicemanual] table to the Mapped Application Service [cmdbciservicediscovered] table.
    • All original attributes (name, owner, operational status) and configuration items (CIs) are retained during conversion.
    • The system updates the converted service by querying the CMDB for the latest CI changes and applies CI impact rules.
    • The maximum number of CI connections added during conversion is controlled by the sa.service.maxciservicepopulation property, which defaults to 1,000. Exceeding this limit causes the operation to fail; adjust this property cautiously to avoid performance issues.
    • It is recommended to convert manual services in small batches (around 10 at a time) to facilitate troubleshooting.

    Important Considerations

    • Some CI types are not supported in application services and must be removed before conversion:
      • cmdbciendpoint
      • cmdbcitranslationrule
      • cmdbciconfigfile
      • cmdbciqualifier
      • cmdbciapplicationcluster
    • In domains-enabled instances, conversion fails if a manual service contains CIs from multiple domains. Only CIs from the same domain as the application service are retained.
    • To update imported manual services with current CMDB information, either fully populate the original manual services or run the update with CMDB changes option after conversion.

    Using the API

    The JavaScript API to perform the conversion is:

    var bsManager = new SNC.BusinessServiceManager();var result = bsManager.migrateManualToApplicationService("servicesysid");
    • Parameter: servicesysid (String) – The sysid of the manual service to be converted.
    • Returns: Boolean – true if conversion is successful; false if it fails.

    For example, to convert a manual service with sysid 451047c6c0a8016400de0ae6df9b9d76, run:

    var bsManager = new SNC.BusinessServiceManager();var res = bsManager.migrateManualToApplicationService("451047c6c0a8016400de0ae6df9b9d76");

    You can use a JavaScript API to convert existing manual services to application services. Event Management can use application services to monitor service performance and identify health issues.

    Manual services are no longer supported and this service type, as well as discovered services, have been replaced by application services. Any existing manual services must be converted to application services. Ensure that any automation of manual services (such as business rules or scheduled jobs) have been built and tested before converting to application services.
    Note:
    Manual services are static and retain their original structure after conversion to application services. To update imported manual services with the existing CMDB state, either populate the original manual services to ensure that all CIs are assigned to the correct service, or run the update with CMDB changes option after the conversion.
    During the conversion process:
    • The manual service record is moved from the Manual Services [cmdb_ci_service_manual] table to the Mapped Application Service [cmdb_ci_service_discovered] table by changing the record class.
    • All the original manual service attributes, such as, name, owner, and operational status, are retained in the application services.
    • The configuration items (CIs) of the manual service are retained in the application services after the conversion.
    • The system queries the CMDB for the latest CI changes and applies CI impact rules.
    The maximum number of CI connections added to application services during this operation is controlled by the sa.service.max_ci_service_population property. By default, the value is 1,000 (one thousand connections). Increasing the number of CI connections may cause performance issues. To adjust the maximum number of added CI connections, add the sa.service.max_ci_service_population property, as described in Add a system property.

    Attempting to process more CIs than the value specified in the sa.service.max_ci_service_population property causes the operation to fail.

    Run the conversion process in small chunks of approximately 10 at a time, to make it easier to pinpoint the problematic service in the event of a conversion problem.

    Application services do not support these CI types:
    • cmdb_ci_endpoint
    • cmdb_ci_translation_rule
    • cmdb_ci_config_file
    • cmdb_ci_qualifier
    • cmdb_ci_application_cluster
    If the preceding CI types are used in the manual service that you want to convert, the conversion fails. CIs of this type should be removed before conversion. They can be replaced by adding new CIs to the application services after conversion.

    If your ServiceNow instance uses domain separation, the conversion fails if CIs from multiple domains are in the same service. Replace or remove relevant CIs before conversion. The converted application services contains only CIs assigned to the same domain as the application services.

    The JavaScript API is:

    BusinessServiceManager.migrateManualToApplicationService(String service_id)
    Table 1. Parameters
    Name Type Description
    service_id String sys_id of the manual service to be converted
    Table 2. Returns
    Type Description
    Boolean true for a successful conversion, false for a conversion that failed
    Where the sys_id of an existing manual service is 451047c6c0a8016400de0ae6df9b9d76, run the following API to convert it to an application services:
    var bsManager = new SNC.BusinessServiceManager();
    var res = bsManager.migrateManualToApplicationService("451047c6c0a8016400de0ae6df9b9d76");