Connect to Salesforce Reports and Salesforce Reports Sandbox
Strategy (October 2026) adds support for JWT Bearer authentication and the Salesforce Report API to parse and publish Salesforce Reports.
Create an OAuth Application in Salesforce
-
Sign in to your Salesforce org.
-
Click Create apps and New.
-
Type an application name.
-
Under Selected OAuth Scopes, add the following scopes:
-
Access chatbot services:
chatbot_api -
Access Connect REST API resources:
chatter_api -
Access content resources:
content -
Access custom permissions:
custom_permissions -
Access the identity URL service:
id,profile,email,address,phone -
Access unique user identifiers:
openid -
Manage Pardot services:
pardot_api -
Manage user data via APIs:
api -
Manage user data via Web browsers:
web -
Perform ANSI SQL queries on Data Cloud data:
cdp_query_api -
Perform requests at any time:
refresh_token,offline_access -
Perform segmentation on Data Cloud data:
cdp_segment_api
-
-
In Callback URL, add a Callback URL for Web, Library, or Workstation using the following formats:
-
Web redirect URI:
https://<servername>/MicroStrategy/servlet/mstrWeb?evt=3172 -
Library redirect URI:
https://<servername>/MicroStrategyLibrary/auth/DIOAuthRedirect.jsp -
Workstation redirect URI:
http://127.0.0.1
-
-
Under Consumer Key, copy the Consumer Key and Consumer Secret values. You will need these values for future steps.
-
For the newly created External Client App, contact Salesforce Support or Salesforce Organization Administrator to deselect the Enable Refresh Token Rotation setting.
If this setting is deselected, Salesforce updates from static refresh tokens to rotatin, one-time refresh tokens. In your Strategy Salesforce Report connector, the refresh token cannot be exchanged and persisted in metadata except during login. As a result, users are unable to publish, republish, or schedule datasets.
Optionally Create a JWT App in Salesforce
Prepare a Key Pair Certificate
-
Generate an RSA private key using the following:
Copyopenssl genrsa -des3 -passout pass:x -out server.pass.key 2048 -
Create a key file from the
server.pass.keyfile using the following:Copyopenssl rsa -passin pass:x -in server.pass.key -out server.key -
Request and generate the certificate. After you execute the above command, you will be prompted to provide information.
Copyopenssl req -new -key server.key -out server.csr -
Generate the SSL certificate using the following:
Copyopenssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt -
Rename
server.keytoserver.pem.
Create the Connected App in Salesforce (JWT Enabled)
-
Go to Setup and search External Client App Manager.
-
Click New External Client App.
-
Enter values in the External Client App Name, API Name, Contact Email, and Distribution State fields.
-
Under OAuth Settings and App Settings, add the following scopes:
-
Callback URL: Enter a valid URL similar to
http://localhost:1717/OauthRedict. -
Select OAuth Scopes:
-
Manage user data via APIs (api)
-
Manage user data via Web browsers (web)
-
Full access (full)
-
Access Connect REST API resources (chatter_api)
-
Perform requests at any time (refresh_token, offline_access)
-
Access Analytics REST API resources (wave_api)
-
Access Analytics REST API Charts Geodata resources (eclair_api)
-
Access content resources (content)
-
Access Headless Forgot Password API (forgot_password)
-
Access Headless Registration API (user_registration_api)
-
Access the Salesforce API Platform (sfap_api)
-
Access Interaction API resources (interaction_api)
-
Access all Data Cloud API resources (cdp_api)
-
Access Headless Passwordless Login API (pwdless_login_api)
-
-
-
Under OAuth Settings and Follow Enablement:
-
Select the check box next to Enable Client Credentials Flow.
-
Select the check box next to Enable JWT Bearer Flow and upload the
server.csrfile generated in Prepare a Key Pair Certificate.
-
-
Save the app and note the Consumer Key and Secret from OAuth Settings > App Settings.
-
Edit the newly saved app and go to Policies.
-
Under OAuth Policies, choose Admin approved users are pre-authorized in Permitted Users field and save the app.
-
Under App Policies, select the profiles you want to use the JWT workflow.
Authorize Users to Use the JWT App
-
Create a new user or assign an existing user with the profiles you selected above.
Note the username to be used for database instances.
-
Edit the profile and select the View All Data and Run Reports settings.
Modify the Report Scope
For the Salesforce report that you want the JWT to view, modify the report in all scopes.
Create a Salesforce Data Source
Prerequisites
You must have the Configure security settings and Create and edit database instances and connections privileges.
Create a New Authentication Service in Workstation
For more information on creating identity and access management (IAM) objects, see Manage OAuth Enterprise Security with Identity and Access Management (IAM) Objects.
-
Open the Workstation window.
-
In the Navigation pane, click
, next to Enterprise Security. -
Choose Gateway Authorization and click Next.
-
Type a Display Name.
-
Expand the Select an identity provider drop-down list, choose Salesforce.
-
In Strategy Configuration, enter the Client ID and Client Secret you copied in Create an OAuth Application in Salesforce.
-
Click Save.
Connect to Salesforce in Mosaic Studio
- Create a Mosaic model or right-click an existing Mosaic model and choose Edit.
- In the Sources tab, click Add API Source.
-
Click Salesforce Reports or Salesforce Reports Sandbox.
-
Type a Name for the data source.
-
To create a new database connection:
JWT Bearer and Salesforce Report API to parse and publish Salesforce reports is available starting in Strategy (October 2026). If you are using a version prior to Strategy (October), only OAuth authentication and the Export CSV API are available to parse and publish Salesforce reports.
-
If you choose OAuth as the Connection Method, you can set the Report API:
-
If Report API is set to True, the Salesforce Report API will be used to parse and publish your Salesforce reports. The Report API has some limitations. For more information, see Salesforce Requirements and Limitations.
-
If Report API is set to False, Export CSV API will be used to parse and publish your Salesforce reports.
-
Expand the Authentication Service drop-down list and choose the authentication service you created in Create a New Authentication Service in Workstation.
-
-
If you choose JWT Bearer as the Connection Method, enter a Username, Password, and upload a Private Key.
-
-
If the connection is successful, click Save.
Import Data
-
Click your Salesforce source and enter your Salesforce login.
-
Select the files you want to import.
Starting in Strategy (October 2026), you can use the Salesforce Report API at the table-level. If a table fails with the default Export CSV API method, you can switch that table to use the Salesforce Report API. To change the import method, right-click the table and click Import Method.
-
Click a file name to view the sample data.
-
Click Add.
-
Click Proceed.
-
View and choose suggestions, view object logical relationships, or automatically create attributes and metrics.
-
Click Save, Save as, or Publish.
-
If you Saveor Save as your Mosaic model:
-
Type a Name and Description.
-
Choose a Save in folder location.
-
Optionally, select the check box next to Certify Mosaic Model.
-
