---
sourceDocument: Australia Sales Customer Relationship Management
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/order-management

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Sales Customer Relationship Management

ft:clusterId :

    - omgmt

bundleId :

    - omgmt

workflow :

    - Customer and Industry


---

# ServiceNow Quote Experience Integration - GET

# ServiceNow Quote Experience Integration - GET {#ariaid-title1}

Release version: Australia  
Updated March 12, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) 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 ServiceNow Quote Experience Integration - GET

This guide explains how ServiceNow CPQ customers can integrate with a third-party system like Salesforce to retrieve and populate quote transaction data using a GET integration.
Specifically, it details how to fetch the Salesforce opportunity ID and related transaction information such as account name, opportunity name, shipping address, and billing address, and populate these fields within the ServiceNow CPQ Quote Experience interface.
This integration pattern supports use cases where ServiceNow CPQ must request and display data from external systems during the quote creation process.
Show full answer Show less  

## Key Features

* **End-User Flow:** Users open a ServiceNow Quote Experience transaction in Salesforce and trigger data retrieval by clicking a "Get SF Data" button. This launches integrations that query Salesforce for opportunity and transaction details, automatically populating corresponding fields in the ServiceNow CPQ UI.
* **Prerequisites:** Requires a ServiceNow CPQ environment with Quote Experience enabled and the Salesforce ServiceNow Quote Experience Integration Extension installed in Salesforce.
* **Connection Setup:** Define connection records in ServiceNow CPQ Admin containing authentication, host URL, and headers to communicate with Salesforce or other third-party endpoints.
* **Integration Configuration:** Create GET integrations in ServiceNow CPQ Admin to query Salesforce objects:
  * Retrieve Salesforce transaction data filtered by transaction ID.
  * Retrieve opportunity details, including account and address information, using the opportunity ID.
* **Response Transformation:** Use JSON templates with Handlebars syntax to map Salesforce response fields into ServiceNow transaction variables for display and further processing.
* **Event Triggering:** Configure UI events such as button clicks to sequentially call the integrations, ensuring data is fetched and populated in the correct order.
* **Stage-Level Integration:** Optionally configure integrations at specific process stages to automate data retrieval during workflow progression.

## Best Practices and Troubleshooting

* **Integration Sequence:** Maintain the correct order by first fetching the opportunity ID, then using it to retrieve detailed transaction data. This sequence ensures data accuracy and integrity.
* **Data Consistency:** Proper ordering and configuration of integrations is critical to align transaction and opportunity details correctly in ServiceNow CPQ.

## What to Expect

By implementing this GET integration pattern, ServiceNow customers can seamlessly pull Salesforce opportunity and transaction data into the ServiceNow Quote Experience interface. This improves quoting efficiency and accuracy by automating data synchronization between Salesforce and ServiceNow CPQ. End users benefit from a streamlined process that reduces manual entry and ensures that transaction fields reflect the latest Salesforce data.  
Learn how to access data from a third-party application such as Salesforce by using the GET integration.
This article describes how to retrieve the Salesforce opportunity ID, together with transaction details including the account name, opportunity name, shipping address, and billing address, and write them into ServiceNow CPQ transaction fields. This pattern is relevant to any integration that requires ServiceNow CPQ to request data from a third party.

## Goal: End-user (buyside) flow {#transaction-manager-integration-get__Goal_-End-User-_Buyside_-Flow}

We begin by opening a ServiceNow Quote Experience transaction in Salesforce. Then, by clicking Get SF Data in the buyside UI, we trigger the Get SF Data event. This event initiates several integrations that connect to
Salesforce, extracting the relevant transaction data (opportunity ID, opportunity name, shipping address, billing address, account ID, and account name) and populating the corresponding fields in the buyside UI.

In the buyside transaction UI, click Get SF Data.

Notice that the details are all populated.


The rest of this article lists the steps in ServiceNow CPQ to create the integrations that get the data from Salesforce.

## Administration setup: Prerequisites {#transaction-manager-integration-get__section_imj_zrd_hhc}

This guide assumes a ServiceNow CPQ environment with ServiceNow Quote Experience features enabled, as well as installation of the CPQ ServiceNow Quote Experience Integration Extension on a corresponding Salesforce environment. To view the installation instructions, see [Installing the Salesforce ServiceNow Quote Experience Integration Package extension](https://www.servicenow.com/docs/FNo6CsOL0VSuodO_MkhN3Q "Install the Salesforce ServiceNow Quote Experience Integration Package Extension to enable ServiceNow Quote Experience with Salesforce.").

## ServiceNow CPQ: Add a connection {#transaction-manager-integration-get__section_ydp_nkq_qhc}

A connection record contains the data required to initiate a ServiceNow Quote Experience Integration. This includes authentication details, host URL, path, and headers. To view a connection record, in ServiceNow CPQ Admin, go to Utilities, and then click Connections.

For information about adding a connection, see the "Creating a Connection" section in [ServiceNow Quote Experience Integrations](https://www.servicenow.com/docs/jPpDF_AuZsbOaPuCEshB0A "Use integrations to exchange data with third-party sources, including Salesforce."). For the purposes of this article, we use a connection to a Salesforce environment.

## ServiceNow CPQ: Add the integration {#transaction-manager-integration-get__section_ivh_mnq_qhc}

1. Open ServiceNow CPQ Admin and go to the Integrations section.
2. Click Add Integration. Create a new integration using any suitable name. In this example, we use the name "Get Oppty Id".

   The integration details page shown above includes the following sections:
   * Integration settings
   * Request Transformation
   * Connection to Endpoint
   * Response Transformation
   {#transaction-manager-integration-get__ul_vzm_dzd_hhc}

   Details about these sections follow.

{#transaction-manager-integration-get__ol_wzj_prd_hhc}

* Integration settings:
  * HTTP method: GET
  * Path: /services/data/vXX.X/query/?q=SELECT+Name,+LGK__OpportunityId__c FROM+LGK__Transaction__c+WHERE+LGK__ID__c='{{txn.id}}'

    The GET request retrieves the Name and LGK__OpportunityId__c fields from the LGK__Transaction__c object in Salesforce, filtering by the transaction ID "txn.id"
    in the LGK__ID__c field.

    In the path, \<vXX.X\> is the latest composite graph version. You can check for the latest version [here](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_composite_graph.htm).
  * Line Item Details to Include: Selected Lines
  * Timeout: 2000 ms

  {#transaction-manager-integration-get__ul_xm2_rzd_hhc}

  Click Next.
* Request Transformation: Not required when we are building a GET Integration.
* Connection to Endpoint: For this example, we are querying Salesforce. If you are setting up an integration with another system, select the appropriate connection.

  Click Next.
* Response Transformation: See this sample response transformation template.

      {
        "fields": [
          {
            "variableName": "txn.custom.tXNNumber",
            "value": "{{#each records}}{{Name}}{{/each}}"
          },
          {
            "variableName": "txn.opportunity.id",
            "value": "{{#each records}}{{LGK__OpportunityId__c}}{{/each}}"
          }
        ]
      }

{#transaction-manager-integration-get__ul_msv_rb2_hhc}

## Integration: Retrieve opportunity details {#transaction-manager-integration-get__Logik_-New-Integration_-Retrieve-Opportunity-Details}

Create another integration to get additional details through txn.opportunity.id.

Now that we have the opportunity ID, the next step in the integration involves using it as a reference to retrieve additional details from the opportunity and to populate the relevant LGK transaction fields.

* Integration settings:
  * HTTP method: GET
  * Path: `GET /services/data/vXX.X/query?q=SELECT Id,Name,Owner.Username,AccountId,Account.Name,Account.BillingAddress,Account.ShippingAddress FROM Opportunity WHERE Id='{{txn.opportunity.id}}'`

    This query
    retrieves fields from an Opportunity record in Salesforce, based on the unique ID of the opportunity. It also retrieves related account details, such as the account's name, billing address, and shipping address. The query
    returns data for a specific opportunity identified by {{txn.opportunity.id}}.

    To get the field details from Salesforce, click SetupObject ManagerOpportunityFields \& Relationships.

  * Line Item Details to Include: Selected Lines
  * Timeout: 2000 ms

  {#transaction-manager-integration-get__ul_a5l_pc2_j3c}

  Click Next.
* Request Transformation: not required when building a GET integration.
* Connection to Endpoint: Select Connection to Endpoint. For this example, we are querying Salesforce. If you are setting up an integration with another system, select the appropriate connection.

  Click Next.
* Response Transformation: The following JSON snippet defines how to populate variables defined in additional path by iterating over a collection of `records`.

  For txn.custom.opportunity, it
  extracts the Name field from each record, while for txn.custom.billToAddress, it extracts and concatenates the
  Account.BillingAddress.street,Account.BillingAddress.city,Account.BillingAddress.state,Account.BillingAddress.postalCode field. The Handlebars {{#each}} loop is used to process each
  record, and the resulting values depend on the system's handling, either as concatenated strings or arrays of values.

      {
        "fields": [
          {
            "variableName": "txn.custom.opportunity",
            "value": "{{#each records}}{{Name}}{{/each}}"
          },
          {
            "variableName": "txn.account.id",
            "value": "{{#each records}}{{AccountId}}{{/each}}"
          },
          {
            "variableName": "txn.custom.accountName",
            "value": "{{#each records}}{{Account.Name}}{{/each}}"
          },
          {
            "variableName": "txn.custom.quoteNumber",
            "value": "{{#each records}}{{QuoteNumber}}{{/each}}"
          },
          {
            "variableName": "txn.custom.billToAddress",
            "value": "{{records.[0].Account.BillingAddress.street}}{{records.[0].Account.BillingAddress.city}}{{records.[0].Account.BillingAddress.state}}{{records.[0].Account.BillingAddress.postalCode}}"
          },
          {
            "variableName": "txn.custom.shipToAddress",
            "value": "{{records.[0].Account.ShippingAddress.street}}{{records.[0].Account.ShippingAddress.city}}{{records.[0].Account.ShippingAddress.state}}{{records.[0].Account.ShippingAddress.postalCode}}"
          }
        ]
      }

{#transaction-manager-integration-get__ul_xk3_xmq_qhc}

Trigger the integration when the end user clicks a button. You can now click Events to create a new event or to select an existing one. In this case, we use the Get SF Data event (a button in the UI) to
connect to the integrations we previously created.

Click Add New Action.

Click Integrations.

Search for and add the "Get Oppty Id" integration.

Click Save. Then, click Add New Action and add "retrieveSFOptyData".

Click the up and down arrows next to the action items to arrange them in the desired order. (Here, we are selecting "Get Oppty Id", followed by "Retrieve SF Opty Data", to fetch the opportunity ID and retrieve relevant data.)

Click Save, and deploy the changes.

We have discussed how integrations can be added with events. Integrations can also be configured at the stage level. To do so, navigate to StagesEdit SettingsAdd New ActionIntegration.

## Troubleshooting {#transaction-manager-integration-get__Troubleshooting}

When configuring integrations, it is crucial to ensure that the sequence of integrations is set up correctly to retrieve accurate details. The order of execution plays a significant role in maintaining data consistency and
alignment.

To achieve this, follow these steps:

1. Fetch the opportunity ID: The opportunity ID serves as the key reference for linking related data. This step is essential because the transaction details you retrieve later are directly associated with a specific opportunity.
2. Fetch the transaction ID through opportunity details: Use the opportunity ID to fetch the transaction ID. Because each transaction is linked to a particular opportunity, this approach ensures that you accurately associate the correct transaction with its corresponding opportunity.

{#transaction-manager-integration-get__ol_l3s_142_hhc}

By following this order, you can maintain the integrity of the integration and ensure that the data flow remains seamless and reliable.
**Related concepts**   

* [ServiceNow Quote Experience Integration - POST](https://www.servicenow.com/docs/we63M_9z9OVKuwxK7JdB6A "Learn how to write data to a third-party application suh as Salesforce by using the POST integration.")

*[\>]: and then


