Overview #
The Quality Clouds integration for Flosum allows Salesforce teams to embed automated quality and governance checks directly into their development and deployment pipelines. It enables seamless scanning of Flosum repositories to analyze code, metadata, and configurations without leaving the Flosum environment.
This integration leverages Salesforce’s OAuth 2.0 JWT Bearer Flow for secure authentication and supports real-time quality gates, AI-powered remediations, and intelligent technical debt control.
Prerequisites #
Before setting up the integration, make sure the Salesforce user who will authorize the connection has the following permissions:
-
View Setup and Configuration
-
API Enabled
-
Modify Metadata Through Metadata API Functions
You’ll also need to generate a JWT certificate pair (private key and public certificate) to be used in the Connected App.
Step 1 – Generate a private key and public certificate #
In the console with OpenSSL installed (e.g., Git Bash), run the following commands:
# Generate a 2048-bit RSA private key in PKCS#8 format
openssl genpkey -algorithm RSA -out private_pkcs8.key -pkeyopt rsa_keygen_bits:2048
# Create a certificate signing request (CSR)
openssl req -new -key private_pkcs8.key -out request.csr
# Self-sign the certificate using the private key
openssl x509 -req -in request.csr -signkey private_pkcs8.key -out public.crt -days 365
This will generate:
- private_pkcs8.key: Your PKCS#8 private key (used to sign the JWT)
- public.crt: The X.509 certificate to upload in the Connected App
Salesforce Documentation – OAuth JWT Flow
Step 2 – Create a Connected App in Salesforce #
Go to Setup → App Manager and click New Connected App. In newer Salesforce versions, you may need to go to External Client Apps Manager.
Fill out the basic information:
| Field | Value |
|---|---|
| Connected App Name | QualityClouds |
| API Name | QualityClouds |
| Contact Email | help@qualityclouds.com |
| Contact Phone | +44 20 3290 0456 |
| Description | QualityClouds connection for REST API use |
Under API (Enable OAuth Settings):
-
Enable OAuth Settings
-
Callback URL:
https://scan.qualityclouds.com/sf_instance/code_callback

-
Selected OAuth Scopes:
-
Access and manage your data (api) -
Perform requests on your behalf at any time (refresh_token, offline_access)
-
Additional settings:
-
Enable Client Credentials Flow
-
Enable JWT Bearer Flow
-
Upload the
public.crtfile created earlier

Click Save. Note: The Connected App can take 2–10 minutes to become active.
Step 3 – Configure Access to the Connected App #
You must authorize the Salesforce user to access the Connected App via JWT.
-
Go to External Client Apps Manager → locate your app → Edit Policies
-
Under OAuth Policies:
- Set Permitted Users to:
Admin approved users are pre-authorized
- Set Permitted Users to:
-
Save the changes
-
Assign access to the app via profiles or permission sets

The user defined in the sub claim of the JWT must have access to this app.
Step 4 – Retrieve the Consumer Key #
-
Go to the Connected App details
-
Scroll down to the OAuth Settings section
-
Copy the Consumer Key (this will be used when configuring the instance in Quality Clouds)
Step 5 – Add Your Flosum Org in Quality Clouds #
-
Go to the Quality Clouds Portal
-
Navigate to the Instances section
-
Click + New Instance and select Flosum Org
-
Fill out the form with the following details:
| Field | Description |
|---|---|
| Description | A name for the org (e.g., MyCompany UAT) |
| Org URL | Salesforce domain (e.g., mycompany.my.salesforce.com) |
| Connected App Consumer Key | Paste the Consumer Key retrieved earlier |
| Private Key | Paste contents of private_pkcs8.key generated earlier |
| Repository Name | The name of the Flosum repository you want to scan |
| Salesforce User | Salesforce username used for JWT impersonation |
| Environment | (e.g., UAT, Production, Sandbox) |
| Go-live Date | Optional baseline to help track technical debt from day 1 |
| Tags | Custom tags to help identify/filter the instance |
Click Save
