Medallia Admin Guide
Before configuring the Medallia for Salesforce in Salesforce, the Medallia administrator must configure the Medallia Experience Cloud to authorize inbound communication. Once that is done, the administrator provides the connection information to the Salesforce administrator. Later the Salesforce administrator provides information the Medallia admin uses to configure the the Omni Exporter specifications.
The general implementation steps are:
Before configuring for the app
Before configuring Medallia Experience Cloud for the Medallia for Salesforce app, request the Medallia for Salesforce package be installed on the company instance. Contact your Medallia representative to make the request.
Verify the Medallia for Salesforce package is installed.
-
On the Roles screen, verify there is a role named "Salesforce Inbound API". This role grants access to the relevant Web feeds.
Configure in-bound authentication
The Medallia for Salesforce app uses OAuth for authenticating connection with Medallia Experience Cloud interfaces.
-
Create a new OAuth account to link the OAuth client to the role. On the Integrations > OAuth > AppId Accounts screen, create an account with these settings:
AppId account property Value Account name salesforce_inbound_api Account type System Enabled On Role Salesforce Inbound API -
Create a new Oauth client on Integrations > OAuth > Clients with these settings:
OAuth client property Value Client ID salesforce_oauth Client secret Automatically generated by the Generate new client secret button Confidential On Client credentials Client Credentials Grant (for backend services) Client subject salesforce_inbound_api (This is the account is created in the previous step.) Important: If the instance is using IP allow-listing:-
On the OAuth Clients screen, select the client account and turn on Enforce UP allow-listing in token refresh, and save the settings.
-
On the Company > Users > Users > Logon Restrictions screen and verify the Salesforce IP addresses are in the End User IP allow-list list.
-
You can now send the connection information to the Salesforce administrator.
Send configuration settings to the Salesforce administrator
After configuring the OAuth settings for inbound communications, collect and provide this information to the Salesforce administrator configuring Medallia for Salesforce in Salesforce
| From Medallia | Value | |
|---|---|---|
| OAuth (authorization to connect to the instance) | Client ID | salesforce_oauth |
| Client Secret | Password for the Client ID. | |
| Token URL | OAuth token endpoint for the Medallia Web reporting instance. The URL looks similar to this: | |
| Medallia Instance URLs | Base URL | URL to the production Medallia Web reporting instance. The URL looks similar to this: |
| Sandbox URL | (optional) URL to the sandbox instance | |
| Services (web feeds) | Case closure | sfdc_create_survey_case_closed |
| Opportunity Won | sfdc_create_survey_opportunity_won | |
Notes:
-
Token URL is the OAuth Token Endpoint listed in Medallia Web reporting Setup on the Integrations > Security > OAuth > Configuration screen.
-
Client ID and Client Secret are defined on the Integrations > OAuth > Clients screen.
Note the Client Secret is only shown when setting its value.
-
Web feeds are associated with "services" in Salesforce. These feed information to import into Medallia Experience Cloud. Medallia for Salesforce has two default feeds. Depending on the business case, the client might require additional feeds, or might need to rename the default feeds.
-
Spec ID is the ID of the survey program associated with an "auto-triggered" Salesforce program. Find this ID on the Feedback > Surveying > Survey Programs > Specs screen for the associated survey.
Configure importers to match in-bound Salesforce data
The Medallia for Salesforce Salesforce app passes data to Medallia Experience Cloud via web feeds into the Auto Importer. The Medallia for Salesforce package includes template importer specifications. Use the templates as a starting point for importing the Salesforce data into existing survey programs.
The template import specifications include:
-
The assumption that the Salesforce Account ID is the unit ID. Else, there is some common ID present in Salesforce and can be added to the payload. If not, further transformation to match data will be required.
-
Salesforce admins can add new fields to the payload by adding them in the Salesforce FieldSet. Add the corresponding mapping in the import specification.
-
All necessary flags to have the record redirected to the relevant survey program on the Medallia side.
Push the survey program
To generate surveys and send invitations, Medallia Experience Cloud needs at least one version of the survey program. Make sure to "push" a new one if there it has not yet been versioned.
Configure Omni Exporter specifications for (out-bound to) Salesforce data
Omni Exporter is the webhook for sending data to external systems. For Medallia for Salesforce, there are two out-bound flows in the package:
-
Invitation status sync
-
Survey response sync
Note: The package can also support alert closure use cases. Contact your Medallia expert to implement them for your program as an add-on offering, purchased separately from the rest of the package.
Configure the Omni Exporter specifications with this data provided by the Salesforce administrator:
| From Salesforce | Value |
|---|---|
| Integration user | Username |
| Password | |
| Security token | |
| Salesforce instances | Salesforce instance(s): one for production like na72 or na54, and one for sandbox like cs64 or cs53. The My domain URL can be entered instead of the Salesforce instance. URLs are in the form |
Login properties
In the Omni Exporter Login properties section, enter these values:
-
The Login URL server is either:
Salesforce environment Salesforce server URL Production https://login.salesforce.com/… Sandbox https://test.salesforce.com/… -
In the Login Headers, update the values in the header.
usernameUse the username provided passwordConcatenate the password and security token. For example, when the password is MyPwdand the token isSomeToken, the password value isMyPwdSomeToken.
HTTP Request Assembly
In the HTTP Request Assembly section, change the instance value to match the one provided by the Salesforce admin.
Authorization: Bearer $TOKEN$. For information see OAuth tokens and request headers.HTTP payload
The Body of the HTTP defines the "payload" to send to Salesforce. In the payload list, add or remove fields to correspond to the ones your configuration requires.
