We are looking to send a Qualtrics survey via a trigger from Gainsight. Has anyone done this before? I know that Gainsight has their own survey capabilities, but we are trying to keep it centralized. Anyone do anything like this?
Thanks
A couple of web service calls to the Gainsight API should allow you to do whatever you want.
ahmedA - Thanks for the reply. Is this actually possible? The problem I have is the Gainsight team is a totally different team. I am trying to set up a meeting with them, but it was very unclear in the Gainsight API documentation I read if this is an open API. They also have the SFDC edition and the NXT Gainsight platform, which seem to have different API capabilities. Just curious if this is something that you have had any success with and if so, which 'platform'.
Configure External Action from Gainsight
API Integrations
You'll first need to figure out the data you want to send/pull from Qualtrics, along with the objects you need to update/reference, ONLY then will going through the API docs provide you the appropriate commands. I've seen how Gainsight works with AWS, so working with Qualtrics shouldn't be any different.
Thanks, ahmedA. I think even before that, I need to know if Gainsight is able to send some event to Qualtrics. I'm not looking to pull data out of Qualtrics, but rather send data to Qualtrics.
Perhaps I'm thinking about this wrong though based on your comment. Maybe the way to go would be to send data to Gainsight and have the Qualtrics survey sent from Gainsight.
Oh! In that case you are on the wrong community. It appears you'll need to see what's possible in Gainsight, rather than Qualtrics.
Nah, never the wrong community. I'm on both. I need someone that has worked with both Gainsight and Qualtrics, which is probably not too common, but that's why I'm here. Lots of folks in this community are very creative in solving problems so worth a shot.
Did anyone ever have any luck digging into Gainsight + Qualtrics API and what it can yield?
Hi
Integrating Qualtrics and Gainsight
There is not currently an official connector for Qualtrics within Gainsight, nor for Gainsight within Qualtrics. However, this guide will walk you through the basics of passing data back and forth between Gainsight and Qualtrics. This guide is not intended to be exhaustive, but links to relevant full documentation will be provided when relevant.
Sending Data to Qualtrics using Gainsight External Actions
Configuring Qualtrics Workflow JSON Component
Full Qualtrics documentation for generating an API token can be found here.
Full Qualtrics documentation for the JSON Event workflow component can be found here.
First, we will need to find our authentication token. We will use the encoded value of this token later in Gainsight to authenticate the requests made to Qualtrics from Gainsight.
- Navigate to Account Settings from your user icon on the top right of the page
- Copy the displayed Token. There is no need to generate a new token if you already have one
- Navigate to this tool to assist you with encoding your authorization header value
- As one unbroken string, enter your Qualtrics username, the colon character, and your API token
e.g. “myusername@qualtrics.com:myRaNDomApIkEY”- Click “Encode”
- Hold on to the encoded value for use in a later step.
Next, we will need to set up a new Qualtrics Workflow component to receive the data that we want to send from Gainsight. Workflows can be used purely as a trigger, or to ingest data that may be useful in later workflow steps.
- Log in to Qualtrics, navigate to Home
- “Create a new project” (bottom left of the page)
- Select “Survey” from the “From scratch” section
- Give your new project a name, create a blank survey project
- Navigate to the “Workflows” tab
- “Create a workflow” from scratch, which is “Started when an event is received”
- Select the “JSON” extension
- Save the new JSON workflow component
At this point, the JSON workflow component created in the steps above can be used to trigger other tasks in the workflow. If you simply need to start your workflow, you can skip the advanced configuration section. However, if you want to pass additional data to Qualtrics from Gainsight, such as a Company GSID, or Renewal Date, you will want to set up JSON fields in the advanced settings section. Data received by the JSON Event can be used later in the workflow.
- “Add a JSON field”
- Define the JSON field name
- Define the JSON path expression (for simple key value pairs you may just use “$.sfieldName]” e.g. “$.companyGSID”)
- Save
Your newly created JSON fields will now be available in other Workflow tasks as “Event Data: User Defined Fields”. They can be accessed in most places where you can insert piped text {a}.
Configuring Gainsight Connector
Full Gainsight documentation for configuring a custom connector can be found here.
*Note: Custom Connectors generally can’t be deleted once added. It is advised to conduct testing within a sandbox, especially if you are new to using Gainsight’s API capabilities. The user following this guide must be a Super Admin within Gainsight.
First, you will need to create a new Custom Connector to allow Gainsight to interface with Qualtrics via API. This connector will store your authentication token, and will be used with each External Action that you configure to communicate with the Qualtrics API. You should only ever need to create one connector for Qualtrics. If a custom connector for Qualtrics already exists, you may proceed to configuring an External Action.
- Log in to Gainsight
- Navigate to Administration > Integrations > Connectors 2.0
- “Create Connection” at the top right of the page
- Select “Custom Connector”
- Name your connection
- Select Authorization Type: “Token Based”
- Enter the following Header key-value pair
- Key: Authorization
- Value: Basic {{encoded username and token value from earlier}}
e.g. “Basic ZGVtb0BxdWFsdHJpY3MuY29tOmY4Z0lLN0c2R0ZIOTg1WTQ=”
The ‘Value’ described in Step 7b is the word “Basic” followed by a space, and then the long encoded string that we generated earlier with the combination of your Qualtrics Username, the colon symbol, and your API token. This encoded string typically ends with a “=”. Refer to the HTTP BASIC AUTH section of the Qualtrics Documentation.
- Enter a description of the connector
- Save
Configuring Gainsight External Action
Full Gainsight documentation for configuring an external action can be found here.
*Note: External Actions generally can’t be deleted once added. It is advised to conduct testing within a sandbox, especially if you are new to using Gainsight’s API capabilities. The user following this guide must be a Super Admin within Gainsight.
Now that you have a Gainsight custom connector, you can configure an external action to actually send a request to the Qualtrics API. Each external action will point to a specific Qualtrics Workflow JSON component. You will need to create a separate External Action for each JSON workflow that you intend to interact with. Remember, you should only ever need one connector for Qualtrics. All External Actions used to interact with Qualtrics should be under that Qualtrics Custom Connector.
- Log in to Gainsight
- Navigate to Administration > Integrations > External Actions
- “Create Action” at the top left of the page
- Select the Qualtrics Custom Connector that you previously created
- Enter a name for the action (this can not be edited later)
- Method: POST
- Copy URL from the previously created Qualtrics Workflow JSON Event, and paste it into the URL field of the new External Action
Next you will need to configure the payload of your request. If you plan on using this Gainsight External Action solely as a trigger, and do not need to send any additional data, you should only need to add an opening and closing curly brace to the payload before saving, e.g. { }. Otherwise, if you do intend to send additional data from Gainsight to Qualtrics, you will need to add key-value pairs to the payload.
- Enter a key-value pair for each field that you intend to send to Qualtrics.
- Each key should exactly match the JSON field name that you previously configured
- Each Value can be configured as static, or tokenized to accept input from other areas in Gainsight like the Rules Engine
- Each key-value pair should be separated from the next by a comma.
Here is an example of a payload that will send data to both of the JSON fields configured in the below example. Both key-value pairs in this example will accept parsed values input from a Rules Engine Action.
{
"companyGSID" : "{{Company_GSID}}",
"recipientEmailAddress" : "{{Recipient_Email}}"
}
- “Create” at top left of page
Your new External Action is now ready to go! In order to confirm, test your connection to the Qualtrics API.
- Within Qualtrics:
- Open the previously created JSON event
- “Run a new test”. You should see a message that an Event is awaited
- Within Gainsight:
- Navigate to Administration > Integrations > External Actions
- Select the External Action that you want to test
- “Test” at the top right of the page
- Enter values for each key-value pair you would like to test
- “Test Action” at the bottom right of the page
A successful test should return a Status Code 202 and well as an eventId and requestId. You should also see the submitted key-value pairs appear in the “JSON captured from most recent test” within Qualtrics.
Using Gainsight External Actions in the Rules Engine
Full Gainsight documentation for using External Actions in the Rules Engine can be found here.
In order to make use of your newly configured External Action, you will need to use the “Call External API” action within the Rules Engine. Each row submitted to this action will execute independently, so a dataset of 100 records using the Call External API action will result in 100 separate API calls.
- Navigate to Administration > Rules Engine
- Create a rule, ensure that any field values you desire to send to Qualtrics are present in the dataset
- Add a new Action to your desired final dataset, “Call External API”
- Select the previously configured Qualtrics connector
- Select the appropriate External Action
- Map your Source Field values to the External Field keys. You may set your own static values instead of mapping a field from the dataset if desired.
- “Save Actions”
Leave a Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.