Integrations / Tms Integrations
TMS Integrations
Integrate FreightConnect with your existing Transportation Management System (TMS). Load data syncs bidirectionally — create loads in your TMS, they appear in FreightConnect; accept quotes in FreightConnect, they sync back to your TMS.
Pre-Built Integrations
McLeod
Status: Available now
Sync:
- Loads from McLeod to FreightConnect
- Carrier quotes back to McLeod
- Shipment tracking to McLeod
- Final settlement and accounting
Setup: Go to Settings → Integrations → McLeod → authorize via OAuth
Supported features:
- Auto-post loads to FreightConnect
- Quote acceptance flows back to McLeod
- Carrier assignments visible in McLeod
- POD synced back to McLeod
TMW (Trimble)
Status: Available now
Sync:
- Loads from TMW to FreightConnect
- Carrier quotes back to TMW
- Tracking and delivery status
- Invoice reconciliation
Setup: Go to Settings → Integrations → TMW → enter TMW API credentials
Supported features:
- Load creation and posting
- Quote management and acceptance
- Real-time tracking display in TMW
- Settlement batch processing
Turvo
Status: Available now
Sync:
- Loads, shipments, and tracking
- Carrier information and quotes
- Document generation
- Accounting integration
Setup: Go to Settings → Integrations → Turvo → authenticate
Supported features:
- Full load lifecycle sync
- Quote comparison within Turvo
- Multi-leg shipments
- Real-time visibility across systems
AscendTMS
Status: Q3 2026 (planned)
We're building out AscendTMS integration. Early access available for Enterprise customers. Contact matt@freightconnect.ai for details.
API-First Integration (Any TMS)
Don't see your TMS? Use the REST API directly:
- Go to Settings → Integrations → API Keys
- Generate a key
- Use the API Reference to:
- Create loads:
POST /loads - Retrieve quotes:
GET /loads/{id} - Accept quotes:
POST /loads/{id}/accept - Get tracking:
GET /shipments/{id}/tracking - Query settlements:
GET /settlements
- Create loads:
Most TMS platforms have built-in REST API capabilities. Your development team can build the connector in a few hours.
Custom Webhook Integration
If your TMS can only receive webhooks (not call APIs directly):
- Set up a reverse tunnel or webhook receiver on your end
- In FreightConnect, go to Settings → Webhooks
- Register your webhook URL:
https://yourtms.com/freightconnect/webhook - Select events: load.posted, quote.received, shipment.delivered, settlement.paid
- Test the webhook
Now, when events happen in FreightConnect, your TMS receives a POST with the data.
Field Mapping Examples
Load Creation
If your TMS uses different field names, we map them:
| Your TMS | FreightConnect | |---|---| | Shipper_Company | shipper_name | | Origin_City | pickup_address (extracted) | | Origin_State | pickup_address (extracted) | | Destination_City | delivery_address (extracted) | | Pounds | weight_lbs | | FreightClass | freight_class | | Equipment | equipment_type | | BidRate / YourRate | rate |
You can customize mappings in Settings → TMS Integration → Field Mapping.
Quote Response
When a carrier quotes, FreightConnect sends:
{
"load_id": "load_abc123",
"quote_id": "quote_xyz",
"carrier_name": "ABC Trucking",
"carrier_id": "carr_abc",
"quoted_rate": 2.15,
"quote_timestamp": "2026-04-13T14:30:00Z",
"fsc_score": 82,
"eta": "2026-04-15T17:00:00Z"
}
Your TMS receives this and can display it in your quoting module.
Common Workflows
Load Creation in TMS → FreightConnect Posting
- Dispatcher creates load in your TMS
- TMS sends load data via API:
POST /loads - FreightConnect responds with load_id
- Dispatcher clicks "Post to Freight Network" in TMS
- TMS calls
POST /loads/{id}/post - Quotes start coming back
- Dispatcher reviews quotes in TMS (via our API or webhook)
- Dispatcher clicks "Accept Quote"
- TMS calls
POST /loads/{id}/acceptand updates shipment status
Real-Time Tracking Display
- Load is in transit
- FreightConnect tracking agent updates GPS every 1-2 minutes
- TMS polls
GET /shipments/{id}/trackingevery 2 minutes (or receives webhook) - TMS dashboard shows updated truck location
- When delivery confirmed, status updates automatically
Settlement Reconciliation
- Load delivered and POD received
- FreightConnect generates settlement
- TMS receives webhook:
settlement.paid(or pollsGET /settlements) - TMS posts journal entry to accounting system (A/R shipper, A/P carrier)
- Batch reconciliation happens daily
Data Sync Frequency
- Loads posted: real-time
- Quotes received: real-time (via webhook) or polled every 30 seconds (via API)
- Tracking updates: every 1-2 minutes (if ELD available)
- Settlements: real-time (when POD received)
You control polling frequency in Settings → Integration Options → Sync Frequency.
Error Handling & Retry Logic
If the integration fails:
- API error: FreightConnect returns an error code; your TMS logs it
- TMS unavailable: FreightConnect stores the event in a queue and retries for 24 hours
- Webhook failure: FreightConnect retries 5 times with exponential backoff
Check sync status in Settings → Integration Health → see success/failure logs per endpoint.
Testing the Integration
Before going live:
- Sandbox mode: Go to Settings → Integration Test Mode (off by default)
- Create a test load in your TMS
- FreightConnect sends it to sandbox carriers (no real quotes, no charges)
- Confirm the load data looks correct in FreightConnect
- Test quote acceptance and tracking
- Once confident, disable test mode and go live
Test loads are marked as test: true in the API response and never charged.
Support
- Setup help: matt@freightconnect.ai
- Integration status: Go to Settings → Integration Health to see recent errors
- Logs: Download integration logs in CSV format for debugging
What's Next
- API Overview — detailed REST API reference
- Webhooks — event-driven integrations
- ELD & Telematics — tracking data integrations