Purpose
The Salesforce integration enables AirMDR to connect with Salesforce using OAuth-based authentication and securely retrieve or act on Salesforce data through approved API access. This guide explains how to collect the required Salesforce configuration values:
Salesforce uses Connected Apps to allow external applications to integrate through OAuth and API access..
Supported Versions
The Salesforce user configuring this integration must have permission to access Setup, create or manage Connected Apps, and view OAuth consumer details.
Authentication
Salesforce uses OAuth 2.0 credentials generated from a Connected App.Salesforce requires identity verification before viewing the Consumer Key and Consumer Secret in some orgs.
Pre-requisites
Users must have Administrator access to the Salesforce.Dedicated Salesforce Integration User.AirMDR Remote Agent and Network Connectivity installed and active (if required by deployment model).
Configure Salesforce
1
Retrieve the Salesforce Instance URL
- Log in to the Salesforce.
- Copy the base URL from the browser address bar.
https://companyname.my.salesforce.com - Remove any page-specific path after the domain. Use only the base URL: https://companyname.my.salesforce.com
For sandbox environments, the URL may look similar to
https://companyname--sandbox.sandbox.my.salesforce.com
2
Create a Connected App in Salesforce
- Log in to Salesforce as an administrator.
- Click the Setup gear icon.
- In Quick Find, search for App Manager.
- Select App Manager.
- Click New External Client App.
- Enter the basic app details:
- Select Enable OAuth Settings. (Select the checkbox)
Salesforce’s Connected App configuration is used to enable OAuth settings for API integration.
3
Configure OAuth Settings
In the API (Enable OAuth Settings) section:
- Select Enable OAuth Settings.
- Enter the Callback URL.
Recommended callback URL:For sandbox: - Add the required OAuth scopes. Recommended scopes:
Select only the scopes required for the approved AirMDR use case. Avoid granting broad access unless explicitly required.
- In the Flow Enablement, select the check box “Enable Client Credentials Flow”.
- In the Security section, make sure “Require secret for Web Server Flow”, and “Require secret for Refresh Token Flow” are selected
- Click Create.
- Click Continue.
Salesforce may take a few minutes to apply Connected App changes.
4
Retrieve the Client ID and Client Secret
- In the External Client App Manager, select your application “For example: AirMDR Salesforce Integration”.
- Go to Settings tab.
- Select the OAuth Settings drop-down.
- Under the App settings, you can see Consumer Key and Secret.
- Copy the following values:
Salesforce identifies the Consumer Key and Consumer Secret as the credentials used by the connected app for OAuth authentication.
5
Configure Connected App Policies
- In the External Client App Manager, select your application “For example: AirMDR Salesforce Integration”.
- Go to Policies tab.
- Select the OAuth Policies drop-down.
- In OAuth Flows and External Client App Enhancements
- Select the Enable Client Credentials Flow checkbox
- In the Run As (Username), enter your Salesforce Username
- Click Save.
The App Authorization Refresh Token Validity period is 365 days.
Validate Connectivity
Use the following sample token request only for validation from an approved secure environment:Example POST Request using cURL:
Example POST Request using cURL:
For sandbox:
For sandbox:
Salesforce supports OAuth 2.0 client credentials flow where the app exchanges its consumer key and consumer secret for an access token.
Configure Salesforce in AirMDR Integrations Dashboard
- Navigate to AirMDR, provide the credentials and click Login
- Navigate to the AirMDR Integrations Dashboard in the left navigation pane and select Integrations.
- Use the search option, enter the keyword “Salesforce”, select the Connections tab, and click + Create button.
- Enter an unique name to the Instance (e.g.,
your org name-Salesforce) to easily identify the user connection by AirMDR. - Enter the application credentials like Instance URL, Client ID, and Client Secret in the Authentication Details field params, and click Save.
Skills provided by this Integration
Additional Information
🧰 Error Handling
🧰 Error Handling
🔄 Monitoring & Logs
🔄 Monitoring & Logs
🛑 Security & Access Best Practices
🛑 Security & Access Best Practices
- Use a dedicated Salesforce integration or service account instead of a personal user account exclusively for AirMDR integration
- Store the Salesforce Client ID and Client Secret securely using approved secret-management solutions. Never expose credentials in emails, tickets, screenshots, or shared documentation
- Enable Multi-Factor Authentication (MFA) for Salesforce administrator accounts managing Connected Apps and integration settings.
- Configure Connected App policies to allow only approved users, profiles, or permission sets to access the integration. Monitor Authentication Activity
- Regularly review:
- Salesforce Login History
- Connected App OAuth Usage
- AirMDR integration logs
- Failed authentication attempts
- Regularly review:
- Rotate Secrets Periodically Rotate the Salesforce Consumer Secret periodically based on organizational security policies or after any suspected credential exposure.
- Validate Remote Agent Connectivity If a Remote Agent is used, ensure it is deployed in a secure environment with controlled outbound network access to Salesforce endpoints only.
- Enforce Secure Communication Ensure all communication between AirMDR and Salesforce occurs over encrypted HTTPS/TLS connections.
- Review Integration Permissions Regularly Conduct periodic reviews of:
- OAuth scopes
- User permissions
- Connected App policies
- Remote Agent assignments
👉 Support & Maintenance
👉 Support & Maintenance
- 📧 Contact AirMDR Support through your designated support channel.
- 🔁 Rotate credentials regularly.
- 🔄 Reconnect in AirMDR when secrets are changed.
- For integration issues, collect the following before contacting support:
Do not share the Client Secret in support tickets. Share only masked values when required.

