0Prerequisites
- Salesforce org (Enterprise, Unlimited, or Developer edition)
- System Administrator profile or equivalent permissions
- A RiskDetect account (sign up at riskdetect.app/pricing)
- Your RiskDetect API key (available in your dashboard)
Supported editions
RiskDetect works with any Salesforce edition that supports Apex triggers and callouts. This includes Enterprise, Unlimited, Performance, and Developer editions. Professional Edition does not support Apex triggers.
1Install the Package
Install the RiskDetect unmanaged package using the link provided in your welcome email, or use the Salesforce CLI:
sf project deploy start --source-dir force-app/main/default --target-org your-org-alias
During installation, choose one of these access levels:
- Install for Admins Only (recommended for initial setup)
- Install for All Users (if you want immediate org-wide access)
- Install for Specific Profiles (for controlled rollout)
2Configure Permissions
The package includes a permission set called RiskRadar_Admin that grants access to the Risk Assessment custom object and fields.
Assign the permission set
- Go to Setup > Permission Sets
- Find and click RiskRadar_Admin
- Click Manage Assignments > Add Assignments
- Select the users who need access to risk data
- Click Assign
Required for all users
Without this permission set, users won't see Risk Assessment records or the dashboard component. Assign it to every user who needs risk visibility.
3Verify Remote Site Setting
The package includes a Remote Site Setting that allows Salesforce to call the RiskDetect API. Verify it's active:
- Go to Setup > Remote Site Settings
- Find RiskDetect_API
- Confirm the URL is
https://riskdetect.appand the status is Active
4Enable Automatic Analysis
RiskDetect automatically analyzes Cases, EmailMessages, and Tasks using Apex triggers. These are active by default after installation.
What gets analyzed automatically
| Object | Trigger | What's Analyzed |
|---|---|---|
| Case | After Insert | Case Subject + Description |
| EmailMessage | After Insert | Email Subject + Body (inbound only) |
| Task | After Insert | Task Subject + Description (call logs) |
Each trigger fires asynchronously using @future(callout=true), so it won't slow down record creation.
Disable specific triggers
If you only want to analyze certain objects, you can deactivate individual triggers in Setup > Apex Triggers. The package will still work with whichever triggers remain active.
5Add the Dashboard Component
The riskDashboard Lightning Web Component shows risk scores, trends, and an "Analyze Open Cases" button on any Account record page.
Add to Account page layout
- Navigate to any Account record
- Click the gear icon > Edit Page
- In the Lightning App Builder, drag riskDashboard from the component list onto the page
- Position it where you want (recommended: right sidebar or full-width section)
- Click Save and Activate
The component shows:
- Stats row: Total assessments, critical count, and average risk score
- Analyze button: One-click analysis of all open Cases for that Account
- Alert banner: Appears when any assessment scores 70+ (high/critical)
- Assessment list: All risk assessments sorted by score (highest first)
You can also add the riskScoreBadge component to Case or Task record pages to show individual risk scores inline.
6Verify It Works
Create a test Case to confirm everything is connected:
- Create a new Case with this description:
This is completely unacceptable. I've been waiting three weeks
for a response. If this isn't resolved by Friday, I'm filing
a complaint with the BBB and leaving reviews everywhere.
- Wait 5-10 seconds for the async callout to complete
- Check the Risk Assessments related list on the Case
- You should see a new Risk Assessment record with:
- Score: 75-95 (critical range)
- Risk Level: Critical or High
- Signals: ultimatum language, BBB mention, timeline pressure
Check the debug log
If no Risk Assessment appears, check Setup > Debug Logs for errors. Common issues: Remote Site Setting inactive, API key not configured, or permission set not assigned.
7Package Contents
| Component | Type | Purpose |
|---|---|---|
| Risk_Assessment__c | Custom Object | Stores risk scores, levels, signals, and summaries |
| RiskRadarService | Apex Class | Handles API calls to RiskDetect and saves results |
| RiskRadarTriggerHandler | Apex Class | Routes trigger events to the service class |
| CaseRiskTrigger | Apex Trigger | Auto-analyzes new Cases |
| EmailRiskTrigger | Apex Trigger | Auto-analyzes inbound emails |
| TaskRiskTrigger | Apex Trigger | Auto-analyzes call log Tasks |
| riskScoreBadge | LWC | Inline risk score display for record pages |
| riskDashboard | LWC | Account-level risk dashboard with bulk analysis |
| RiskRadar_Admin | Permission Set | Grants access to Risk Assessment object and fields |
| RiskDetect_API | Remote Site Setting | Allows callouts to https://riskdetect.app |
Troubleshooting
Risk Assessment records not appearing
- Check that the RiskRadar_Admin permission set is assigned to your user
- Verify the Remote Site Setting is active in Setup
- Check Debug Logs for
System.CalloutExceptionerrors - Ensure the Case has a Description field populated (empty descriptions are skipped)
Score always returns the same value
- Verify you're using your production API key, not a test key
- Check that the full text is being sent (Subject + Description, not just Subject)
Trigger not firing
- Go to Setup > Apex Triggers and confirm the trigger is Active
- Triggers only fire on insert (new records), not updates
- Email triggers only fire on inbound emails (Incoming = true)
Need help?
Email support@riskdetect.app or check the API documentation.