RouteForce RouteForce
Docs Install RouteForce from AppExchange
Client Documentation

RouteForce Setup Guide

Implementation guide for Salesforce administrators

Product
RouteForce
Version
V7.8.0 | April 2026
Format
PDF / Print-ready HTML
RouteForce branded edition. This document is formatted for client delivery and print/PDF export.

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

Install links: Production / Developer Edition · Sandbox

1. Before you start

Prerequisites

Recommended preparation


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

  1. Open the installation URL in a browser where you are logged in as System Administrator.
  2. Select Install for Admins Only. You will assign users intentionally after validation.
  3. If Salesforce prompts you to approve third-party access for RouteForce callout endpoints, click Yes, grant access.
  4. 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

  1. Go to Setup > Permission Sets.
  2. Open the desired permission set (e.g., RouteForce_Admin).
  3. Click Manage Assignments.
  4. Click Add Assignment and select the appropriate users.
  5. 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
Recommendation: During initial setup, assign 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

  1. Go to Setup > Security > Remote Site Settings.
  2. Confirm each URL above is listed and marked Active.
  3. 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

  1. Open the RouteForce app from the App Launcher.
  2. Navigate to the Configuration tab.
  3. 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
Security note: All keys are stored securely in 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__cShippingAddress field prefix (Shipping or Billing)
ClusterRadius__c60Marker clustering pixel radius
DefaultDisplayMode__cbothInitial display mode
DefaultMapLayer__cStandardBase map layer
DefaultZoom__c10Initial map zoom level
MaxRouteSteps__c50Max stops per route
NotVisitedSinceDays__c30Days threshold for "not visited" highlight
EnableEvents__ctrueShow Events on map
EnableLeads__ctrueShow Leads on map
EnableOpportunities__ctrueShow Opportunities on map
EnableVisitReports__ctrueEnable visit report creation
EnableHeatmap__ctrueEnable heatmap layer
EnableBulkSelect__ctrueEnable multi-select on map
EnableCSVExport__ctrueEnable CSV export
EnableUsageTracking__ctrueTrack feature usage
EnableHistoryNaming__ctrueAuto-name route history records
EnableRoleFilter__cfalseFilter by role hierarchy
EnableTeamFilter__cfalseFilter by team
ContactLookupEnabled__ctrueContact lookup on account markers
QuickTextEnabled__ctrueQuick text in visit reports
CheckInOnSiteRadiusMeters__c500On-site check-in GPS radius (meters)
LogRetentionDays__c30Log retention period (days)
FilterFields__cAccount.Industry,Account.TypeComma-separated list of filterable fields
VisitReportCustomFields__cresult, routeforce__Satisfaction__c, nextAction, routeforce__OrderAmount__c, notes, routeforce__NextVisitDate__cFields shown in the visit report form
VisitResultOptions__cPositive,Neutral,Negative,No AnswerPicklist values for visit result
CheckInNotePrefix__cCheck-in:DEPRECATED: No longer used. Check-in data is stored in Visit Reports; Event Subject and Description are not modified.
ContactQueryFields__cId,Name,Email,Phone,MobilePhoneContact fields queried for account popup lookup
ContactQueryFilter__cnullOptional SOQL WHERE clause for contact queries
EventOppLinkTarget__copportunityEvent-Opportunity linking target field
LeadQueryFields__cRating,LeadSourceLead fields included in marker data
LeadQueryFilter__cIsConverted = falseSOQL WHERE clause for lead queries
OpportunityQueryFields__cStageName,Amount,CloseDateOpportunity fields included in marker data
OpportunityQueryFilter__cIsClosed = falseSOQL WHERE clause for opportunity queries
RouteStepFields__cnullAdditional fields shown in route step cards
SupportEmail__ccontact@routeforce.appSupport email shown in UI
VisitAlertDays__c0Days 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:

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:

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

Note: There is no hard limit on the number of filters. Add as many as your team needs, but keep it practical. Too many filters can slow the UI and confuse field reps.

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:

LevelWhat it controlsWhere
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)
Quick rule:
"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:

  1. Go to Setup > Lightning App Builder.
  2. Find the RouteForce page and open it.
  3. Click Save As to create your own copy (e.g., RouteForce_MyCompany).
  4. 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
  5. Click Save, then Activation.
  6. In Page Settings, activate for all users (this creates a custom tab).
  7. Go to Setup > App Manager, find RouteForce, click Edit.
  8. 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.

  1. Go to Setup > Lightning App Builder.
  2. Open (or create) a Record Page for Account, Lead, or Opportunity.
  3. Search for routeforce in the component panel and drag it onto the page.
  4. Configure the component properties (filter fields, legend, marker popups), the same properties as on the App Page.
  5. Save and activate the page for the appropriate record types or profiles.
How it works: On a record page, RouteForce receives the record ID automatically from Salesforce. It uses the record's geolocation to center the map and immediately loads items around that location, giving the user a contextual map view without any manual search.

Going further

Beyond the default app and record pages, the RouteForce LWC component (routeforce) is fully reusable. You can:

Summary: RouteForceConfig__mdt controls product behavior (org-wide). The App Builder controls visual presentation (per page). Both should be configured during initial setup. The managed app serves as a starting template; clone what you need and customize. See the Configuration Guide for the complete reference.

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:

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
No geocoded data? You will need to geocode your records before RouteForce can display them. This can be done via Data Loader, a geocoding service, or Salesforce Data Integration Rules for standard address fields.

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

  1. Open the RouteForce tab from the App Launcher.
  2. Confirm markers are visible on the map.
  3. Apply at least one filter and verify the markers update.
  4. Save a filter combination and reload the page to verify it persists.
  5. Add 3 to 5 stops to the route panel.
  6. Run route optimization and confirm distance and timing are calculated.
  7. Create a route visit (if visit reports are enabled).
  8. 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:


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:

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)

Phase 2: Pilot users (1-2 weeks)

Phase 3: Broader deployment


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:


Support

For package access, licence activation, routing issues, or general questions, contact your RouteForce support channel. When reaching out, include:

RouteForce • contact@routeforce.app • routeforce.app