Trucker Tools Integration
Real-time load tracking, simplified.
FTM’s Trucker Tools integration enables automatic shipment tracking using mobile GPS and ELD updates. By connecting your TMS with Trucker Tools, brokers can reduce check calls, improve carrier compliance, and give customers real-time visibility, all inside Salesforce.
Benefits of Trucker Tools Integration
- Live status updates for all active loads
- Instant visibility from pickup to delivery
- Seamless data sync with Trucker Tools’ ELD/mobile tracking
- Webhook-based location updates integrated into Load object
- Smart fallback logic between appointment times and facility hours
- Secure API connection via OAuth
Prerequisites
Before setting up the integration, please ensure the following:
- Trucker Tools API credentials (client ID, client secret)
- FTM sandbox login
- Access to Salesforce Setup for flows, objects, apps, and credentials
- Load records with proper reference fields mapped
Sandbox Access
Use the following credentials to test Trucker Tools integration in the sandbox:


- Username: [email protected]
- Password: EXAMPLE0123456789
Step-by-Step Setup
1. Required Fields
Ensure the following fields are added to your Load and Account/Customer objects.
Load Object:
- FreightTM__Confirmation_Number__c → Customer Ref #
- Customer_Distribution_Email__c → Shipper Email
- Trucker_Tools_Shipper_ID__c → Shipper ID
- Truck_Number__c & Trailer_Number__c → ELD Integration Support
- Pickup/Delivery Appointments or Facility Close Times
- Status tracking fields (Path, At Pickup, At Delivery, etc.)



Fields marked as required will prevent tracking if left blank.
2. Name Credentials
Configure secure access to Trucker Tools API:
- Setup > Name Credentials
- Label: TruckerToolsAPI
- URL: https://api.truckertools.com
- Identity Type: Named Principal
- Auth Protocol: OAuth 2.0
- Token endpoint:
https://EXAMPLE.my.salesforce.com/services/oauth2/token

3. Connected App Setup

Create or update a Connected App:
- OAuth scopes: full, refresh_token, openid
- Enable OAuth flow
- Allow pre-authorized admin users
- Save client ID and client secret

4. OAuth Settings
These credentials must be provided to Trucker Tools:
- client_id
- client_secret
- Grant Type: client_credentials
Include in payloads sent to:
- API Endpoint:
https://EXAMPLE.my.salesforce.com/services/apexrest/FreightTMLTWHook51
5. Flow or Process Builder(optional)
Logic:
- When Load Status is “Dispatched,” start tracking
- If “Facility Requires Appointment” = false → use Facility Close Time
- Else → use Pickup/Delivery Appointment Time


Automation should also:
- Trigger tracking registration with required fields
- Map webhook updates into Load record
6. Visualforce Pages & Buttons
Add the following buttons to the Load layout:
- Start Trucker Tools Tracking
- Stop Trucker Tools Tracking
Ensure tracking-related fields (status, time, TT ID) are visible on layout.


7. Apex Code & Classes
📎 Code provided as .txt files to be attached separately.

Main classes include:
- TruckerTools.cls
- UpdateLocationApex.cls
- LTWHookV6.cls

Test classes:
- Test_TruckerTools
- Test_LTWHook
8. Deployment Notes
- Deploy flows and Apex via change sets
- Use Run Specified Tests mode with:
- Test_LTWHook
- Test_UpdateLocation
Important: Deactivate the “Customer Update via Email” flow before deploying tracking-related code. Reactivate it after successful deployment.



9. Webhook Configuration
Trucker Tools must use the following credentials to post updates:
- Token URL:
https://EXAMPLE.my.salesforce.com/services/oauth2/token - API Endpoint:
https://EXAMPLE.my.salesforce.com/services/apexrest/FreightTMLTWHook51
Payload fields required:
- loadTrackExternalId (as string during registration; expect integer in webhook)
- Driver phone number

- Pickup/Delivery ZIPs, cities, and appointment times


- ELD fallback via Truck/Trailer #
Testing the Integration
- Create a sample Load with all required fields filled.
- Initiate tracking via the button or flow.
- Check webhook responses via debug logs.
- Monitor Load record updates in real time.
- Ensure statuses update: At Pickup, In Transit, At Delivery, etc.
Troubleshooting
- If tracking does not initiate, verify:
- Customer Ref # and Shipper Email are filled
- OAuth credentials are working
- Webhook endpoint is receiving the payload
- If status updates fail:
- Check for null values in required fields
- Verify debug logs for Apex errors (esp. NullPointerException)


Need Help?
Contact the FTM team at: [email protected]
we’re here to assist with configuration, testing, and deployment.