Passing parameters to PaCE policies

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 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 Passing Parameters to PaCE Policies

    The ability to pass parameters to PaCE policies is essential for validating updates to objects such as tables and document IDs. This functionality supports both low-code and JavaScript authoring. There are three main types of parameter inputs for policy versions: API Variables, Config Parameters, and Record References.

    Show full answer Show less

    Key Features

    • API Variables: Also known as Caller Inputs, these variables are passed to the PaCE API at invocation. Each policy has a predefined, immutable API Variable called SnapshotId, which must be specified for the policy to execute.
    • Config Parameters: Previously called Mapped Inputs, these parameters are defined when mapping policies to objects. Mandatory inputs must be provided to execute the policy; otherwise, it remains inactive. An example includes setting limits for different expense types in a travel policy.
    • Record References: These define queries to extract data from ServiceNow tables, allowing additional data to be integrated into policy logic. Aggregate functions can also be performed on record references.
    • Data Collectors: These collect input process data from ServiceNow or external sources. They can be managed through the policy builder and are accessible via the dataCollectors object in JavaScript, enhancing decision-making in the policy logic.

    Key Outcomes

    By effectively utilizing these parameter inputs, ServiceNow customers can ensure that their policies are executed correctly based on dynamic data and specific conditions. This capability leads to more accurate validations and improved policy logic tailored to business needs.

    Parameters can be passed to a PaCE policy to validate updates to an object (tables and document IDs). These variables apply to authoring in both low-code or JavaScript. Policy versions include three types of parameter inputs: API Variables, Config Parameters, and Record References.

    API Variables

    Previously known as Caller Inputs, the API Variables is passed to the PaCE API at the time of invocation by a developer. The API Variable is a variable that enables you to pass the value to the policy whenever the policy is invoked. Specify a value for this API Variable when calling the API, otherwise the policy is not executed and no decision is reached. In the code editor, the variable name is apiVars.

    For each PaCE policy, there is only one pre-defined API Variable called SnapshotId. This API Variable is Immutable and cannot be modified or deleted. You cannot define any additional API Variables for a policy.

    Config Parameters

    Previously known as Mapped Inputs, the Config Parameters can be passed when mapping policies to an object (tables and document IDs). When you define a Config Parameter, you are creating a parameter that enables you to pass values to the policy whenever the policy is mapped. If you define mandatory inputs, you must specify values for these inputs when mapping the policy. If the inputs you define are not mandatory, the policy is not executed (the status is set to inactive) and no decision is reached. In the code editor, the variable name is configParams.

    For example, for a travel expenses policy you can add variables to define the limits of different types of expenses. The limits are specified when mapping the policy, and set the limits on the expense when the policy is invoked on this object. The breakfast expense limit for one group of employees could be $25, and for a different group of employees the limit could be $50. Each time the policy is invoked, the expenses are validated by the policy according to the limits specified in the mapping.

    Record References

    Record references define queries to extract data from any ServiceNow® tables and use the data to configure the policy logic. This feature enables you to retrieve additional data that may be required while defining the policy. You can define a query to perform aggregate functions for a record reference. In the code editor, the variable name is recordRefs.

    Data Collectors

    The data collectors function collects input process data from ServiceNow or an external data source to provide an output. The output can be used in the policy logic to make a decision. You can define and manage data collectors by creating, editing, updating, and activating them to your policy builder.

    Data collectors can be accessed by using the dataCollectors object in JavaScript.
    Note:
    Auto-completion lists all possible outputs and data collectors that are available to use.

    While editing a policy in low-code, an output of the configured data collectors is available under the drop-down menu.