OptimoRoute + Salesforce
Connect OptimoRoute and Salesforce to Unite Field Operations with Your CRM
Automate the flow of route data, delivery status, and customer records between OptimoRoute and Salesforce to cut manual work and speed up field service.

Why integrate OptimoRoute and Salesforce?
OptimoRoute is a route planning and optimization platform used by field teams to plan efficient delivery and service routes. Salesforce is the world's dominant CRM for managing customer relationships, opportunities, and service cases. When these two platforms run in silos, operations teams spend hours manually transferring order data, updating customer records, and reconciling delivery outcomes — which means costly delays and data discrepancies. Integrating OptimoRoute with Salesforce through tray.ai builds a real-time bridge between field operations and customer management, so every team member has an accurate picture of what's happening on the ground.
Automate & integrate OptimoRoute & Salesforce
Use case
Sync Completed Deliveries to Salesforce Accounts in Real Time
When OptimoRoute marks a delivery stop as completed, tray.ai automatically updates the associated Salesforce account or contact with the delivery timestamp, driver notes, and proof of delivery. CRM records stay current with the latest field activity without any manual work from ops or sales teams.
Use case
Create Salesforce Service Cases for Failed or Missed Deliveries
When OptimoRoute records a failed delivery attempt or a skipped stop, tray.ai automatically generates a Salesforce Service Cloud case and assigns it to the appropriate customer support team. The case arrives pre-populated with route details, stop information, and failure reason codes so agents can act immediately.
Use case
Push New Salesforce Orders to OptimoRoute as Stops
When a new order, opportunity, or service appointment is created in Salesforce, tray.ai translates the record into a delivery or service stop and adds it to the appropriate OptimoRoute plan. Ops teams no longer need to manually rekey order information into the route planning tool.
Use case
Update Salesforce Opportunity Stages Based on Delivery Milestones
For businesses where delivery completion signals a milestone in the sales cycle, tray.ai can automatically advance a Salesforce opportunity stage when OptimoRoute confirms a stop as delivered. Pipeline data stays accurate and downstream workflows like invoicing or customer satisfaction surveys fire at the right time.
Use case
Enrich OptimoRoute Stops with Salesforce Customer Data
Before routes are finalized in OptimoRoute, tray.ai can pull customer details, delivery preferences, and special instructions from Salesforce and append them to the corresponding stop. Drivers arrive at each location with full context, reducing miscommunications and failed handoffs.
Use case
Notify Salesforce Account Owners of Upcoming Route Activity
When OptimoRoute finalizes a route that includes a stop for a Salesforce account, tray.ai sends an automated notification to the account owner so they can proactively reach out or prepare the customer for an upcoming visit. Logistics scheduling and relationship management finally talk to each other.
Use case
Log Driver Check-In and Check-Out Events to Salesforce Activity Timelines
As drivers check in and out of stops in OptimoRoute, tray.ai logs each event as an activity or task record on the related Salesforce account or contact timeline. This builds a detailed, auditable history of field interactions that sales and service teams can reference alongside emails, calls, and notes.
Get started with OptimoRoute & Salesforce integration today
OptimoRoute & Salesforce Challenges
What challenges are there when working with OptimoRoute & Salesforce and how will using Tray.ai help?
Challenge
Matching Records Across Two Separate Data Models
OptimoRoute and Salesforce use completely different identifiers and data structures. Delivery stops in OptimoRoute may reference order numbers or external IDs that don't directly map to Salesforce account, contact, or opportunity records, making reliable record matching a real technical challenge.
How Tray.ai Can Help:
tray.ai's flexible data mapping and transformation tools let teams define custom lookup logic — matching OptimoRoute order references against Salesforce external IDs, email addresses, or custom fields — so every sync is accurate and no records are duplicated or missed.
Challenge
Handling High-Volume Route Data Without Overloading the CRM
Large logistics operations can generate thousands of stop completion events per day. Pushing every event individually to Salesforce can hit API rate limits, slow down workflows, and create performance bottlenecks that affect both systems.
How Tray.ai Can Help:
tray.ai supports intelligent batching, rate limit handling, and retry logic out of the box. Workflows can be configured to aggregate events before syncing, respect Salesforce API governor limits, and queue retries automatically when limits are approached — keeping data flowing without overloading either system.
Challenge
Keeping Data Consistent When Updates Happen in Both Systems
Sales reps may update customer delivery notes in Salesforce at the same time a dispatcher modifies stop details in OptimoRoute. Without careful conflict resolution logic, bi-directional sync can cause one system to overwrite valid updates from the other.
How Tray.ai Can Help:
tray.ai lets teams define directional sync rules and timestamp-based conflict resolution logic. Workflows can be configured to treat one system as the source of truth for specific fields while allowing bi-directional updates for others, preventing data collisions while maintaining flexibility.
Challenge
Managing Route Changes and Stop Rescheduling in Real Time
Routes in OptimoRoute are dynamic — stops can be added, removed, or rescheduled throughout the day. Propagating these changes back to Salesforce in real time without creating duplicate records or orphaned updates is a complex orchestration problem.
How Tray.ai Can Help:
tray.ai's event-driven architecture and upsert capabilities ensure that route changes trigger targeted, idempotent updates in Salesforce rather than creating duplicate records. Workflows check for existing records before writing, so rescheduled stops update existing entries rather than spawning new ones.
Challenge
Controlling What Data Crosses Between Systems
Salesforce often contains sensitive customer financial or contractual information that shouldn't be visible to field-level OptimoRoute users. At the same time, detailed route and location data from OptimoRoute may be subject to privacy regulations that govern how it's stored in the CRM.
How Tray.ai Can Help:
tray.ai gives administrators granular control over which fields sync between systems, so you can whitelist only the specific data elements each integration use case actually needs. Combined with tray.ai's enterprise-grade security and audit logging, teams can enforce data governance policies without giving up the operational value of the integration.
Start using our pre-built OptimoRoute & Salesforce templates today
Start from scratch or use one of our pre-built OptimoRoute & Salesforce templates to quickly solve your most common use cases.
OptimoRoute & Salesforce Templates
Find pre-built OptimoRoute & Salesforce solutions for common use cases
Template
Completed Delivery to Salesforce Account Sync
Automatically updates a Salesforce account or contact record whenever OptimoRoute marks a delivery stop as completed, including proof of delivery attachments and driver notes.
Steps:
- Trigger fires when OptimoRoute marks a stop as completed via webhook or polling
- tray.ai maps the stop's order ID or customer reference to the corresponding Salesforce account or contact
- Salesforce record is updated with delivery timestamp, status, driver notes, and proof of delivery URL
Connectors Used: OptimoRoute, Salesforce
Template
Failed Delivery to Salesforce Service Case Creator
Monitors OptimoRoute for failed or skipped stops and automatically creates a pre-populated Service Cloud case in Salesforce, routing it to the right support team for fast resolution.
Steps:
- Trigger detects a failed or incomplete stop status in OptimoRoute
- tray.ai retrieves stop details including route ID, customer info, and failure reason
- A new Salesforce Service Cloud case is created and assigned to the relevant support queue with all contextual data
Connectors Used: OptimoRoute, Salesforce
Template
New Salesforce Order to OptimoRoute Stop Creator
Listens for new order records or service appointments created in Salesforce and automatically adds them as stops in the appropriate OptimoRoute plan, eliminating manual data entry by dispatchers.
Steps:
- Trigger fires when a new order, case, or opportunity reaches a qualifying stage in Salesforce
- tray.ai extracts delivery address, time window, and customer details from the Salesforce record
- A new stop is created in OptimoRoute and linked back to the Salesforce record with the OptimoRoute stop ID
Connectors Used: Salesforce, OptimoRoute
Template
OptimoRoute Route Completion to Salesforce Opportunity Stage Advance
Automatically moves a Salesforce opportunity to the next pipeline stage when OptimoRoute confirms the associated delivery has been successfully completed, keeping revenue forecasts accurate.
Steps:
- Trigger fires on successful stop completion in OptimoRoute with a linked Salesforce opportunity ID
- tray.ai queries Salesforce to verify the current opportunity stage and eligibility for advancement
- Salesforce opportunity stage is updated and an activity log entry is added to record the delivery event
Connectors Used: OptimoRoute, Salesforce
Template
Daily Route Summary Report to Salesforce Custom Object
At the end of each day, pulls a full summary of OptimoRoute route performance — including on-time rates, stop counts, and mileage — and writes it to a Salesforce custom object for executive reporting and analytics.
Steps:
- Scheduled tray.ai workflow triggers at end of business day and calls the OptimoRoute reporting API
- Route metrics are aggregated and formatted into the required Salesforce custom object schema
- Data is upserted to Salesforce, enabling Salesforce reports and dashboards to reflect daily field performance
Connectors Used: OptimoRoute, Salesforce
Template
Salesforce Customer Data Enrichment for OptimoRoute Stops
Before routes are dispatched, enriches each OptimoRoute stop with customer preferences, special instructions, and contact details pulled directly from matching Salesforce records.
Steps:
- Trigger fires when a new route or stop batch is created in OptimoRoute
- tray.ai queries Salesforce for each customer's account record, extracting delivery notes and preferences
- OptimoRoute stop records are updated with enriched data before the route is finalized and dispatched
Connectors Used: Salesforce, OptimoRoute