Set up External connections for configuration rules

  • Release version: Australia
  • Updated March 12, 2026
  • 1 minute to read
  • External connections enable enrichments in CPQ to retrieve data from systems outside CPQ for use in configuration rules, such as fetching third-party pricing or product attributes during a configuration.

    Enrichments are scripts that run outside the rules engine and affect configurations in CPQ. The following enrichment types are available:

    • On configure/reconfigure
    • On BOM response
    • Validation
    • Picklist extension pricing
    • On request

    External connections can only be called from an enrichment. When an enrichment calls an external connection, CPQ sends a request to the configured host and path, retrieves the response, and makes the data available to the enrichment script — for example, to populate pricing or product attributes in a configuration.

    External connections and connections

    In CPQ, external connections and connections provide the same capability: they define the host, authentication credentials, and path used when CPQ calls an external system. The difference is where each type is used:

    • External connections are referenced in configuration rules, called from enrichment scripts that run during a configuration.
    • Connections are referenced in transaction rules, called from integrations that run in Transaction Manager.

    Configure an external connection when the third-party call is triggered by a configuration event. Configure a connection when the call is triggered by a transaction event.

    Authentication for external connections

    The authentication method required depends on the external system. The following options are available:

    • No authentication — use when the external connection calls an open API that does not require credentials.
    • Bearer token — use when the external system issues a static token for authentication. Supply the token directly in the connection.
    • OAuth client credentials — use when the external system requires an OAuth handshake. CPQ exchanges a client ID and secret with the authorization server to obtain an access token before each request.

    Path parameter variables

    External connections support dynamic path segments using parameter variables. A parameter variable is a placeholder in the path that your enrichment script replaces with a runtime value. For example, a path defined as /v4/latest/{{inputVariable}} accepts a value for inputVariable from the calling enrichment script.

    When a path uses a parameter variable, wrap the value in encodeURIComponent() in your enrichment script to ensure the value is safe to include in a URL.