Table of Contents

Salesforce Integration

Billy Dowell Updated by Billy Dowell

Integrate Great Question and Salesforce

Push custom attributes and unsubscribe statuses back to Salesforce

Salesforce integration
Only users with Admin level permissions can set up the Salesforce integration.
Additional functionality here TBD based on Beta.


Connecting to Salesforce
  1. Click your profile in the bottom left corner
  2. Click Account
Select Account
  1. Click Integrations
Clink Integrations
  1. Find Salesforce and click Connect. You will be redirected to your Salesforce workspace, so you can log in, in case you are not already.
Find Salesforce
  1.  Once you log in, you will be redirected back to Great Question.
Salesforce connected

Once you are connected, you will see the following screen:

Let's break this screen down:

Only import contacts with gq_import tag

  • In case you want to restrict access from specific records in the table you chose, you can add a boolean column called gq_import__c (the __c at the end is added automatically by Salesforce) and the records with false won't be imported into Great Question.

Use Salesforce API directly

  • When enabled, this will use the APIs provided by Salesforce directly without any third party vendor. Use this if you need HIPAA compliance.

Enable push candidates

  • When enabled, this will allow data to be exported from Great Question into Salesforce. It will update Contacts. It is useful in case you want to add information to the Contacts that is available in Great Question.
    • Important to note that only Contacts that were previously synced from Salesforce into Great Question will be updated.
  • Only available when using Salesforce API directly.
  • Any field you want added to the Salesforce contact needs to be pre-created beforehand.

Updates gq_import flag in Salesforce when new candidates sign up

Whenever a new candidate signs up on a study, if that candidate exists in Salesforce (the same email) we update the gq_import flag there, to make sure that when the next import comes we add info from Salesforce to the candidate in Great Question.

When a candidate is deleted from Salesforce

  • If a previously imported record is removed from Salesforce, the candidate will not be deleted automatically from our Great Question database. This is a limitation of how our integration currently works. However, if you want to automatically delete records from Great Question, you can add a boolean column is_deleted to Salesforce and select what type of behavior you want when the record is imported to Great Question.
    The export will happen daily at 23:30 PST.

After clicking Save, you are good to go!

The candidates will be imported and exported (in case it's active) every 24 hours at midnight PST, and you can trigger a sync manually at the candidate's page.

Run a manual import

  1. Once you are connected to Salesforce, you can go to the Candidates page to import new candidates from Salesforce.
Add Candidates
  1. When you click Import from Salesforce, we will start importing the Contacts into Great Question. 
Sync Status
  1. Keep in mind that this process can be slow, depending on how much data there is to be imported. Once it is finished, we will let you know: 
Status Complete

Custom Attributes

  1. You can create custom attributes in Account > Candidate attributes.
Candidate Attributes
  1. Select Salesforce when creating a new attribute and choose which field you want to get the information from.
    1. The name of the attribute should be `snake_case` and if it's a custom attribute, you should add `_c` at the end (notice there is just a single `_`)
API Create Candidate Attribute
  1. You will then see those values in the candidate's profile.

API Version

SF API Check

To enable, check the box for Use salesforce API directly.

Our API version of the integration has a few differences from the main one:

  • It is HIPAA-compliant
  • We will consume some default columns from the Contact object (Id Email FirstName LastName Name IsDeleted) and beyond that we will only consume values from Salesforce if there is a Candidate Attribute created for it.
Create candidate attributes for Salesforce:

For the Contact object:

API Create Candidate Attribute

The Integration Field Name input is what we will use to query the value from Salesforce, this should match exactly what it is in Salesforce.

Have Questions?

Please reach out to us in the chat or at [email protected]!

How did we do?

SAML Integration via Azure AD

Great Question API