Version: V7.8.0 | April 2026
Audience: Salesforce administrators during initial deployment
Goal: Install RouteForce, assign access, run the onboarding wizard, configure core settings, and validate the first working rollout
1. Before you start
Prerequisites
- Salesforce org with Lightning Experience enabled
- System Administrator profile access
- RouteForce package installation link (provided by your RouteForce contact)
- RouteForce licence key
- ORS API key (provided for your environment)
- Optional: Fallback API key if applicable to your deployment
- Geocoded data (latitude/longitude) on the records you want to display on the map
Recommended preparation
- Confirm whether your org uses Shipping or Billing addresses for field visits.
- Identify pilot users and their roles (admin, manager, field rep).
- Verify that key Account records already contain latitude and longitude values.
- Review which objects your team needs on the map (Accounts, Leads, Opportunities).
2. Install the package
Use the installation link matching your environment.
| Environment | Installation URL |
|---|---|
| Production / Developer / Sandbox | https://appexchange.salesforce.com/appxListingDetail?listingId=0b5cf9f9-e7d9-40c1-a513-2a5847a813ba |
Installation steps
- Open the installation URL in a browser where you are logged in as System Administrator.
- Select Install for Admins Only. You will assign users intentionally after validation.
- If Salesforce prompts you to approve third-party access for RouteForce callout endpoints, click Yes, grant access.
- Wait for the installation confirmation email from Salesforce.
Verify installation
SELECT Id, SubscriberPackage.Name, SubscriberPackageVersion.MajorVersion,
SubscriberPackageVersion.MinorVersion, SubscriberPackageVersion.PatchVersion
FROM InstalledSubscriberPackage
WHERE SubscriberPackage.Name = 'RouteForce'
3. Assign permission sets
RouteForce V7.8.0 ships with three permission sets to support different levels of access.
| Permission Set | Intended audience | Key capabilities |
|---|---|---|
RouteForce_Admin |
Salesforce administrators | Full configuration access. All 32 Apex classes. Both flows (RF_Onboarding, RF_CreateEvent). Read/write on all RouteForce custom objects. |
RouteForce_Manager |
Sales managers, team leads | Manager-level access. 17 Apex classes. viewAllRecords on RouteForce History and Visit Report objects. Can view team activity and reports. |
RouteForce_User |
Sales reps and field users | Standard daily access. 14 Apex classes. Own-record visibility only on History and Visit Reports. |
Assignment via Setup
- Go to Setup > Permission Sets.
- Open the desired permission set (e.g.,
RouteForce_Admin). - Click Manage Assignments.
- Click Add Assignment and select the appropriate users.
- Repeat for each permission set as needed.
Assignment via CLI
sf org assign permset --name RouteForce_Admin --target-org <your-org>
sf org assign permset --name RouteForce_Manager --target-org <your-org>
sf org assign permset --name RouteForce_User --target-org <your-org>
Verify assignments
SELECT Assignee.Name, PermissionSet.Name
FROM PermissionSetAssignment
WHERE PermissionSet.Name LIKE 'RouteForce_%'
ORDER BY PermissionSet.Name, Assignee.Name
RouteForce_Admin to yourself. Add pilot users with RouteForce_User or RouteForce_Manager only after you have completed validation (Section 10).4. Verify Remote Site Settings
RouteForce requires external access for routing, licence validation, and optional address enrichment. These Remote Site Settings should be created automatically during package installation. Verify that they exist and are active.
| Remote Site Name | URL | Required |
|---|---|---|
| RouteForce_ORS | https://ors.routeforce.app |
Yes |
| RouteForce_HeiGIT | https://api.openrouteservice.org |
Yes |
| RouteForce_BAN | https://api-adresse.data.gouv.fr |
Only if address enrichment is enabled |
Verify in Setup
- Go to Setup > Security > Remote Site Settings.
- Confirm each URL above is listed and marked Active.
- If any are missing, click New Remote Site and add the URL manually.
5. Launch the onboarding wizard
The RF_Onboarding flow has 4 screens: a Welcome screen, an API Keys screen where you enter your Licence Key, ORS API Key, and Fallback API Key, a Done confirmation screen, and an Error screen (displayed if key storage fails). Keys are stored securely via SecureConfigService into InternalConfig__c.
How to launch
- Open the RouteForce app from the App Launcher.
- Navigate to the Configuration tab.
- Click Run Onboarding (or the RF_Onboarding flow will launch automatically on first access).
API Keys screen
Enter the following credentials:
| Field | Description |
|---|---|
| Licence Key | Your RouteForce licence key (provided during purchase) |
| ORS API Key | API key for the RouteForce routing service |
| Fallback API Key | Secondary routing key used when the primary ORS endpoint is unavailable |
InternalConfig__c via the SecureConfigService class. They are never exposed in Custom Metadata or client-side code.After running the onboarding flow
After completing the RF_Onboarding flow, configure map defaults, feature toggles, and advanced settings directly in RouteForceConfig__mdt (Setup > Custom Metadata Types > RouteForceConfig > Default).
Map defaults
Configure the baseline map behavior:
| Setting | Default | Description |
|---|---|---|
| Address prefix | Shipping |
Which standard address fields to use (Shipping or Billing) |
| Default map layer | Standard |
Base map tile layer |
| Default zoom | 10 |
Initial zoom level when the map loads |
| Default display mode | both |
Show map and list simultaneously (map, list, or both) |
Feature toggles
Enable or disable features based on your business needs:
| Feature | Default | Description |
|---|---|---|
| Events | Enabled | Display Salesforce Events on the map |
| Leads | Enabled | Display Leads on the map |
| Opportunities | Enabled | Display Opportunities on the map (uses parent Account address) |
| Visit Reports | Enabled | Allow users to create visit reports from the map |
| Heatmap | Enabled | Enable the heatmap visualization layer |
| Bulk Select | Enabled | Allow multi-record selection on the map |
| CSV Export | Enabled | Allow exporting map data to CSV |
| History Naming | Enabled | Automatically name route history records |
| Usage Tracking | Enabled | Track feature usage for analytics |
| Contact Lookup | Enabled | Enable contact lookup on account markers |
| Quick Text | Enabled | Enable quick text templates in visit reports |
| Role Filter | Disabled | Filter records by user role hierarchy |
| Team Filter | Disabled | Filter records by team membership |
Advanced settings
| Setting | Default | Description |
|---|---|---|
| Cluster radius | 60 |
Pixel radius for marker clustering |
| Max route steps | 50 |
Maximum number of stops per optimized route |
| Not visited since (days) | 30 |
Highlight accounts not visited within this period |
| Check-in on-site radius (meters) | 500 |
GPS proximity required for on-site check-in |
| Log retention (days) | 30 |
Number of days to retain internal log records |
6. RouteForceConfig__mdt: Full configuration reference
All configuration is stored in the RouteForceConfig__mdt Custom Metadata Type (36 fields). The onboarding wizard sets the most important values, but you can edit any field directly in Setup > Custom Metadata Types > RouteForceConfig > Manage Records.
| Field API Name | Default Value | Description |
|---|---|---|
AddressFieldPrefix__c | Shipping | Address field prefix (Shipping or Billing) |
ClusterRadius__c | 60 | Marker clustering pixel radius |
DefaultDisplayMode__c | both | Initial display mode |
DefaultMapLayer__c | Standard | Base map layer |
DefaultZoom__c | 10 | Initial map zoom level |
MaxRouteSteps__c | 50 | Max stops per route |
NotVisitedSinceDays__c | 30 | Days threshold for "not visited" highlight |
EnableEvents__c | true | Show Events on map |
EnableLeads__c | true | Show Leads on map |
EnableOpportunities__c | true | Show Opportunities on map |
EnableVisitReports__c | true | Enable visit report creation |
EnableHeatmap__c | true | Enable heatmap layer |
EnableBulkSelect__c | true | Enable multi-select on map |
EnableCSVExport__c | true | Enable CSV export |
EnableUsageTracking__c | true | Track feature usage |
EnableHistoryNaming__c | true | Auto-name route history records |
EnableRoleFilter__c | false | Filter by role hierarchy |
EnableTeamFilter__c | false | Filter by team |
ContactLookupEnabled__c | true | Contact lookup on account markers |
QuickTextEnabled__c | true | Quick text in visit reports |
CheckInOnSiteRadiusMeters__c | 500 | On-site check-in GPS radius (meters) |
LogRetentionDays__c | 30 | Log retention period (days) |
FilterFields__c | Account.Industry,Account.Type | Comma-separated list of filterable fields |
VisitReportCustomFields__c | result, routeforce__Satisfaction__c, nextAction, routeforce__OrderAmount__c, notes, routeforce__NextVisitDate__c | Fields shown in the visit report form |
VisitResultOptions__c | Positive,Neutral,Negative,No Answer | Picklist values for visit result |
CheckInNotePrefix__c | Check-in: | DEPRECATED: No longer used. Check-in data is stored in Visit Reports; Event Subject and Description are not modified. |
ContactQueryFields__c | Id,Name,Email,Phone,MobilePhone | Contact fields queried for account popup lookup |
ContactQueryFilter__c | null | Optional SOQL WHERE clause for contact queries |
EventOppLinkTarget__c | opportunity | Event-Opportunity linking target field |
LeadQueryFields__c | Rating,LeadSource | Lead fields included in marker data |
LeadQueryFilter__c | IsConverted = false | SOQL WHERE clause for lead queries |
OpportunityQueryFields__c | StageName,Amount,CloseDate | Opportunity fields included in marker data |
OpportunityQueryFilter__c | IsClosed = false | SOQL WHERE clause for opportunity queries |
RouteStepFields__c | null | Additional fields shown in route step cards |
SupportEmail__c | contact@routeforce.app | Support email shown in UI |
VisitAlertDays__c | 0 | Days threshold for overdue visit alerts (0 = disabled) |
SOQL check: verify active configuration
SELECT DeveloperName, AddressFieldPrefix__c, DefaultZoom__c,
EnableLeads__c, EnableOpportunities__c, EnableVisitReports__c,
MaxRouteSteps__c, EnableHeatmap__c, EnableBulkSelect__c
FROM RouteForceConfig__mdt
WHERE DeveloperName = 'Default'
RouteForceAction__mdt: custom map actions
RouteForce also includes the RouteForceAction__mdt Custom Metadata Type for configuring custom quick actions on the map (e.g., launching Screen Flows from marker popups). See the Configuration Guide for full details.
Scheduled jobs (auto-managed)
The package includes three scheduled jobs, automatically registered by the post-install handler:
LogPurgeSchedulable: purges RouteForce log records older than the configured retention periodUsageAggregationSchedulable: aggregates feature usage statisticsUsagePurgeBatch: purges aged usage tracking records on a weekly schedule
No manual scheduling is required. These jobs are registered automatically when the package is installed or upgraded.
7. Filter fields configuration
RouteForce uses a single comma-separated field to define which filters appear on the map. The default is:
Account.Industry,Account.Type
You can configure filters in two ways:
- RouteForceConfig__mdt: edit the
FilterFields__cfield on the Default record - Lightning App Builder: set the
filterFieldsproperty on the RouteForce component (overrides the CMDT value)
Filter field syntax
Each filter is an Object.FieldName path, comma-separated. Examples:
Account.Industry,Account.Type,Account.Rating,Opportunity.StageName,Lead.Status
Cross-object references are supported:
Opportunity.Account.Industry
Supported field types
- Picklist: renders as a dropdown
- Multi-Select Picklist: renders as checkboxes
- Boolean (Checkbox): renders as a toggle
8. Configure the default user experience
After the onboarding wizard, fine-tune the user experience by adjusting configuration values and the Lightning page layout.
Recommended starting defaults
| Setting | Recommended value | Reasoning |
|---|---|---|
| Address prefix | Shipping |
Most field visits happen at shipping/delivery sites |
| Map layer | Standard |
Clean, fast-loading base map |
| Display mode | both |
Map and list side by side for maximum context |
| Leads | Enabled if field teams prospect; otherwise disable | Reduces map clutter when not needed |
| Opportunities | Enable only if route planning involves deal stages | Keeps the map focused |
| Not visited since | 30 days |
Highlights accounts needing attention |
| Max route steps | 50 |
Covers a full day of visits for most territories |
| Cluster radius | 60 |
Good balance between readability and density |
Visit report configuration
The visit report form fields and result options are controlled by two configuration values:
| Setting | Default value |
|---|---|
VisitReportCustomFields__c |
result, routeforce__Satisfaction__c, nextAction, routeforce__OrderAmount__c, notes, routeforce__NextVisitDate__c |
VisitResultOptions__c |
Positive,Neutral,Negative,No Answer |
To add or remove fields from the visit report form, edit the comma-separated list in VisitReportCustomFields__c. To change the result dropdown options, edit VisitResultOptions__c.
Two levels of configuration
RouteForce is configured at two levels:
| Level | What it controls | Where |
|---|---|---|
| RouteForceConfig__mdt (org-wide) | Product behavior: feature toggles, map defaults, query filters, visit report fields, retention settings | Setup > Custom Metadata Types > RouteForceConfig > Default |
| App Builder properties (per page) | Visual presentation: which filter fields appear, legend colors by record type, marker popup content, multi-select rendering, address prefix | Lightning App Builder (on the RouteForce component) |
"Where do I change this?"
Which fields/filters/colors appear? → App Builder properties (per-page)
Enable/disable a feature? → CMDT RouteForceConfig.Default
Limits and defaults (zoom, radius)? → CMDT RouteForceConfig.Default
Custom action buttons? → CMDT RouteForceAction records
Only
addressFieldPrefix and filterFields cascade: App Builder overrides CMDT. Everything else is exclusive to one layer.For the complete reference with presets, see the Configuration Guide: Configuration Model.
Cloning the RouteForce page (recommended)
The default RouteForce page ships with generic settings. We strongly recommend cloning it to configure the legend, filter fields, and marker popups for your specific business:
- Go to Setup > Lightning App Builder.
- Find the RouteForce page and open it.
- Click Save As to create your own copy (e.g.,
RouteForce_MyCompany). - Click the RouteForce component on the canvas to adjust its properties:
- Filter fields: which filter fields appear in the sidebar
- Legend fields and values: marker color assignment for Accounts, Opportunities, and Leads
- Marker popup fields: which fields display when clicking a marker
- Multi-select fields: which filters render as checkbox lists
- Address prefix: override Shipping/Billing for this page
- Click Save, then Activation.
- In Page Settings, activate for all users (this creates a custom tab).
- Go to Setup > App Manager, find RouteForce, click Edit.
- Under Navigation Items, add your new tab and optionally remove the default one.
Embedding the map on Account, Lead, or Opportunity pages
The RouteForce component can be placed directly on any Account, Lead, or Opportunity record page. When placed on a record page, the map automatically centers on the current record's location and loads nearby records, no additional configuration needed.
This gives field reps an instant geographic view of their territory right from any record they are working on.
- Go to Setup > Lightning App Builder.
- Open (or create) a Record Page for Account, Lead, or Opportunity.
- Search for routeforce in the component panel and drag it onto the page.
- Configure the component properties (filter fields, legend, marker popups), the same properties as on the App Page.
- Save and activate the page for the appropriate record types or profiles.
Going further
Beyond the default app and record pages, the RouteForce LWC component (routeforce) is fully reusable. You can:
- Create dedicated App Pages: build separate pages with different configurations for different teams or use cases
- Build your own Lightning App: create a custom app with pages containing the
routeforcecomponent - Add to Home Page: place the map on a Lightning Home Page for instant territory overview
- Clone layouts, reports, and dashboards: use Save As on any managed layout, report, or dashboard to create your own version
- Use a configuration preset: the Configuration Guide includes 4 ready-to-use presets (Account-only, Sales team, Prospecting, Full operations) with exact values to copy-paste
9. Verify your geocoded data
RouteForce plots records on the map using latitude and longitude fields. If these fields are empty, the map will appear blank.
Accounts
Depending on your AddressFieldPrefix setting, ensure either:
ShippingLatitude/ShippingLongitude(if prefix isShipping)BillingLatitude/BillingLongitude(if prefix isBilling)
Leads
Use the standard Latitude / Longitude fields on the Lead object.
Opportunities
Opportunities inherit the address from their parent Account. Ensure the parent Account is geocoded.
SOQL checks
Run these queries to verify data availability:
-- Accounts with Shipping coordinates
SELECT COUNT(Id)
FROM Account
WHERE ShippingLatitude != null AND ShippingLongitude != null
-- Accounts with Billing coordinates
SELECT COUNT(Id)
FROM Account
WHERE BillingLatitude != null AND BillingLongitude != null
-- Leads with coordinates
SELECT COUNT(Id)
FROM Lead
WHERE Latitude != null AND Longitude != null
-- Sample geocoded accounts
SELECT Id, Name, ShippingLatitude, ShippingLongitude, ShippingCity
FROM Account
WHERE ShippingLatitude != null
LIMIT 20
10. Run the full validation checklist
Before rolling out to users, complete this end-to-end validation as a user with RouteForce_Admin assigned.
Core functionality
- Open the RouteForce tab from the App Launcher.
- Confirm markers are visible on the map.
- Apply at least one filter and verify the markers update.
- Save a filter combination and reload the page to verify it persists.
- Add 3 to 5 stops to the route panel.
- Run route optimization and confirm distance and timing are calculated.
- Create a route visit (if visit reports are enabled).
- Check route history and confirm the record was saved.
Feature-specific tests
| Feature | Test | Expected result |
|---|---|---|
| Heatmap | Toggle the heatmap layer on | Heatmap overlay renders on the map with density shading |
| Bulk Select | Use lasso or area selection to select multiple markers | Selected records appear in the list panel; bulk actions are available |
| Saved Filters | Save a filter, refresh the page, re-apply the saved filter | Filter is persisted and applies correctly after reload |
| Visit Report | Check in at a stop and complete the visit report form | Visit report record is created with all configured fields |
| CSV Export | Export current map view to CSV | CSV file downloads with visible record data |
| Leads on map | Enable Leads and confirm Lead markers appear | Lead markers display with correct addresses |
| Opportunities on map | Enable Opportunities and confirm markers appear | Opportunity markers display at parent Account address |
Route settings validation
Verify that the route panel respects these settings:
- Departure time
- Lunch break window
- End-of-day time
- Default visit duration
- Max route steps limit
11. Dashboards and reports
RouteForce V7.8.0 includes 2 dashboards and 18 reports out of the box, ready for use by admins and managers.
Included dashboards
| Dashboard | Description |
|---|---|
| RouteForce: Field Activity | Sales manager dashboard: visit activity, on-site compliance, route efficiency, and team performance |
| RouteForce: Adoption & Usage | Admin dashboard: feature adoption, user activity, system health, and error monitoring |
Included reports (18)
Reports cover areas including:
- Route history and optimization usage
- Visit report summaries and completion rates
- User adoption and feature usage
- Territory coverage and not-visited accounts
- Check-in activity and GPS compliance
Find all reports in the RouteForce folder. Dashboards are in the RouteForce folder. Managers with RouteForce_Manager can view team-wide data; users with RouteForce_User see only their own records.
SOQL check: verify report folder
SELECT Id, DeveloperName, Name
FROM Folder
WHERE DeveloperName LIKE 'RouteForce%'
AND Type = 'Report'
12. Recommended rollout order
Phase 1: Admin validation (1-2 days)
- Install the package
- Assign
RouteForce_Adminto yourself - Run the onboarding wizard
- Verify Remote Site Settings
- Confirm licence activation
- Complete the full validation checklist (Section 10)
- Review dashboards and reports
Phase 2: Pilot users (1-2 weeks)
- Assign
RouteForce_Userto a small group of field reps (3-5 users) - Assign
RouteForce_Managerto their direct manager - Gather feedback on filters, marker fields, and route behavior
- Adjust defaults in RouteForceConfig__mdt, or clone the FlexiPage to customize (see Section 8)
- Test visit reports with real field data
Phase 3: Broader deployment
- Assign permission sets to remaining users
- Train users on route creation, optimization, and check-in
- Share the RouteForce User Guide internally
- Add more filter fields to FilterFields__c based on pilot feedback
- Set up dashboard subscriptions for managers
13. Common setup issues
| Issue | Likely cause | Resolution |
|---|---|---|
| Map is empty | No geocoded records, or wrong address prefix | Run the SOQL checks in Section 9. Switch AddressFieldPrefix if needed. |
| Licence error on load | Missing or invalid licence key | Re-run the onboarding wizard and enter the correct licence key. |
| Route optimization fails | ORS access blocked or invalid API key | Verify Remote Site Settings (Section 4) and API keys in onboarding. |
| Users cannot open RouteForce | Missing permission set | Assign RouteForce_User or RouteForce_Manager to the user. |
| Wrong addresses displayed | Incorrect address prefix setting | Change AddressFieldPrefix__c from Shipping to Billing or vice versa. |
| Too much clutter on map | All object types enabled with no filters | Disable unneeded objects (Leads, Opportunities) or adjust default filters. |
| Heatmap not rendering | Feature disabled in configuration | Set EnableHeatmap__c to true in RouteForceConfig__mdt. |
| Visit report fields missing | Incorrect VisitReportCustomFields__c value |
Edit the comma-separated field list in configuration to include the desired fields. |
| Bulk select not working | Feature disabled in configuration | Set EnableBulkSelect__c to true in RouteForceConfig__mdt. |
| Filters not showing expected fields | Filter field slots not configured | Verify FilterFields__c value in RouteForceConfig__mdt. |
| Manager cannot see team data | Wrong permission set assigned | Assign RouteForce_Manager instead of RouteForce_User. |
14. Handover to operations
Before closing the setup phase, confirm the following items are documented and communicated:
- Address model chosen (
ShippingorBilling) - Enabled features and their rationale
- Configured filter fields (including any custom additions)
- Visit report field configuration
- Permission set assignments and user roles
- Designated RouteForce admin owner
- Support email or escalation path for RouteForce issues
- User Guide shared with field teams
- Dashboard subscriptions configured for managers
Support
For package access, licence activation, routing issues, or general questions, contact your RouteForce support channel. When reaching out, include:
- Your Salesforce org ID
- Environment type (Production or Sandbox)
- RouteForce package version (
V7.8.0) - Description of the issue and steps to reproduce
RouteForce • contact@routeforce.app • routeforce.app