Domo + Salesforce
Connect Domo and Salesforce to Turn CRM Data Into Actionable Intelligence
Automate data flows between Salesforce and Domo to power real-time dashboards, smarter forecasting, and revenue-driving decisions.

Why integrate Domo and Salesforce?
Salesforce is the system of record for your sales pipeline, customer relationships, and revenue data. Domo turns that raw data into live dashboards and business intelligence your whole organization can act on. Together, they close the gap between capturing data and understanding it. Integrating Domo and Salesforce through tray.ai means your BI environment always reflects the latest CRM reality — no manual exports, no data delays.
Automate & integrate Domo & Salesforce
Use case
Real-Time Sales Pipeline Dashboards in Domo
Automatically sync Salesforce opportunity data — including stage, amount, close date, and owner — into Domo datasets to power live pipeline dashboards. Executives and sales managers get an up-to-the-minute view of pipeline health without waiting for weekly exports. Any change to an opportunity in Salesforce shows up in Domo within minutes.
Use case
Automated Revenue Forecasting and Quota Tracking
Push Salesforce quota attainment, closed-won data, and rep-level performance metrics into Domo to build dynamic forecasting models. Sales operations teams can track actual vs. target performance across regions, teams, and time periods without touching a spreadsheet. Automated syncs mean forecast dashboards are always built on current data.
Use case
Marketing Attribution and Lead-to-Revenue Reporting
Combine Salesforce lead and opportunity data with marketing metrics in Domo to build end-to-end attribution reports. By automatically syncing lead source, campaign association, and opportunity outcome data, marketing teams can see exactly which campaigns are driving closed revenue. That means smarter budget allocation and a clear way to prove marketing ROI.
Use case
Account Health Monitoring and Customer Success Tracking
Sync Salesforce account data, renewal dates, contract values, and customer activity logs into Domo to give customer success teams a unified account health view. Automated workflows can trigger alerts in Domo when account signals shift in Salesforce — drops in engagement, approaching renewals — so teams can act before problems escalate.
Use case
Sales Activity and Rep Performance Analytics
Feed Salesforce activity data — calls logged, emails sent, meetings held, tasks completed — into Domo to analyze rep productivity and identify coaching opportunities. Managers get a clear picture of which activities actually correlate with closed deals. Automated daily syncs keep performance dashboards current without manual effort.
Use case
Cross-Functional Business Reviews with Unified Data
Automatically pull Salesforce revenue, pipeline, and customer data into Domo alongside finance, marketing, and operational data to build comprehensive business review dashboards. Instead of spending days compiling data for quarterly reviews, teams can walk into every meeting with dashboards that are already current. That shifts the conversation from data reconciliation to actual decisions.
Use case
Automated Salesforce Data Quality Monitoring via Domo
Use tray.ai to sync Salesforce records into Domo and build data quality dashboards that surface incomplete, duplicate, or outdated records. Operations teams can monitor CRM hygiene metrics — opportunities missing close dates, contacts without email addresses — and trigger automated cleanup workflows back in Salesforce. It's a feedback loop that keeps your CRM data clean and reliable.
Get started with Domo & Salesforce integration today
Domo & Salesforce Challenges
What challenges are there when working with Domo & Salesforce and how will using Tray.ai help?
Challenge
Handling Large Salesforce Data Volumes Without API Limits
Salesforce enforces daily API call limits, and organizations with large datasets risk hitting those limits when syncing high volumes of opportunity, account, or activity records to Domo. Sync approaches that pull all records on every run can quickly exhaust API allocations, causing data gaps in Domo dashboards.
How Tray.ai Can Help:
tray.ai uses incremental sync patterns, pulling only records updated since the last successful run using SOQL timestamp filters. This dramatically reduces API call volume. tray.ai also supports Salesforce Bulk API for large data exports, allowing hundreds of thousands of records to transfer efficiently without consuming standard API limits.
Challenge
Keeping Domo Datasets Schema-Consistent as Salesforce Changes
Salesforce admins frequently add, rename, or remove custom fields, and these changes can break existing Domo dataset schemas and corrupt downstream dashboards and reports. Without a managed integration layer, schema drift between the two systems creates silent data failures that are difficult to diagnose.
How Tray.ai Can Help:
tray.ai workflows include configurable field mapping and schema validation steps that catch mismatches before data loads into Domo. Administrators can define canonical mappings maintained centrally, and tray.ai sends alerts when unexpected fields appear or expected fields go missing — stopping silent schema failures from reaching production dashboards.
Challenge
Getting Near-Real-Time Sync Without Overloading Systems
Business users want up-to-the-minute data in Domo, but high-frequency polling of the Salesforce API strains system performance and burns through API budgets fast. Balancing freshness with responsible resource usage is a real tension for teams integrating these two platforms.
How Tray.ai Can Help:
tray.ai supports event-driven triggers via Salesforce outbound messaging and Change Data Capture (CDC), enabling near-real-time sync without constant polling. When an opportunity updates in Salesforce, tray.ai receives the change event immediately and pushes it to Domo — real-time freshness while consuming API calls only when data actually changes.
Challenge
Managing Data Transformation Between Salesforce and Domo Formats
Salesforce stores data in a relational model with complex object relationships — opportunities linked to accounts, contacts, and campaigns — while Domo datasets typically require flat, denormalized tables. Flattening and joining this data correctly without introducing errors or duplicates requires careful transformation logic.
How Tray.ai Can Help:
tray.ai has a visual workflow builder with built-in data transformation capabilities, including merge, flatten, and conditional logic operations. Teams can construct multi-object Salesforce queries, join related records, and shape the output into the exact flat schema Domo requires — no custom ETL code, no fragile scripts.
Challenge
Bidirectional Sync and Avoiding Circular Data Updates
Some integration scenarios require writing data back from Domo into Salesforce — updating account health scores or syncing enriched analytics attributes — which creates the risk of circular update loops where a change in one system triggers an update in the other, and back again indefinitely.
How Tray.ai Can Help:
tray.ai workflow logic includes conditional branching and deduplication controls that prevent circular updates. Integration designers can add source-system checks, idempotency keys, and update timestamps to ensure that a record written from Domo to Salesforce doesn't trigger a re-sync back to Domo, keeping both systems stable and consistent.
Start using our pre-built Domo & Salesforce templates today
Start from scratch or use one of our pre-built Domo & Salesforce templates to quickly solve your most common use cases.
Domo & Salesforce Templates
Find pre-built Domo & Salesforce solutions for common use cases
Template
Sync Salesforce Opportunities to Domo Dataset Daily
This template automatically pulls all updated Salesforce opportunities on a scheduled basis and pushes them into a Domo dataset, keeping pipeline dashboards fresh without manual exports. It handles field mapping, incremental updates, and error logging.
Steps:
- Trigger on a scheduled interval (e.g., every hour or daily at 6 AM)
- Query Salesforce for all opportunities updated since the last sync using SOQL filters
- Transform and map Salesforce fields to the target Domo dataset schema
- Upsert records into the Domo dataset using the Domo Streams API
- Log sync results and send alerts if record counts fall below expected thresholds
Connectors Used: Salesforce, Domo
Template
Push Salesforce Closed-Won Deals to Domo for Revenue Reporting
Automatically detect newly closed-won opportunities in Salesforce and immediately push them into a dedicated Domo dataset for revenue tracking. Revenue dashboards update in near real time whenever a deal closes, giving finance and leadership instant visibility.
Steps:
- Trigger when a Salesforce opportunity stage changes to Closed Won
- Retrieve full opportunity details including amount, account, owner, and close date
- Enrich the record with account-level data from Salesforce if needed
- Append the closed-won record to the revenue tracking dataset in Domo
- Optionally send a Slack or email notification to leadership with deal details
Connectors Used: Salesforce, Domo
Template
Salesforce Lead Data Sync to Domo for Marketing Analytics
This template continuously syncs Salesforce lead records — including lead source, campaign, status, and conversion data — into Domo to power marketing attribution and funnel analytics dashboards. Marketing teams can measure lead quality and campaign ROI without leaving Domo.
Steps:
- Trigger on a scheduled sync or when new leads are created in Salesforce
- Fetch lead records with all relevant marketing attribution fields via Salesforce API
- Normalize lead source and campaign values to match Domo dataset taxonomy
- Load records into a Domo marketing analytics dataset with full history preserved
- Trigger a Domo dataset refresh to update connected cards and dashboards
Connectors Used: Salesforce, Domo
Template
Salesforce Account and Contact Sync to Domo for Customer Intelligence
Automate the synchronization of Salesforce accounts and contacts into Domo to support customer segmentation, health scoring, and account-based analytics. This template keeps customer data current across both platforms so CS and sales teams can build richer dashboards.
Steps:
- Schedule a recurring sync to capture all updated Salesforce accounts and contacts
- Query Salesforce using SOQL to retrieve accounts and associated contacts
- Flatten related contact records and map them to the Domo dataset structure
- Upsert account and contact records into the corresponding Domo datasets
- Log any API errors and retry failed records automatically
Connectors Used: Salesforce, Domo
Template
Domo Alert-Triggered Record Updates Back to Salesforce
When a Domo alert fires based on a business rule — such as an account health score dropping below a threshold — this template automatically updates the corresponding Salesforce record and creates a follow-up task for the account owner. Analytics drive action, not just observation.
Steps:
- Receive a webhook trigger from a Domo alert when a threshold condition is met
- Parse the alert payload to identify the affected account or opportunity record
- Look up the matching Salesforce record using the account ID or external identifier
- Update the Salesforce record with a health flag or custom field value
- Create a Salesforce task assigned to the account owner with context from the Domo alert
Connectors Used: Domo, Salesforce
Template
Scheduled Salesforce Forecast Data Export to Domo
This template automates the extraction of Salesforce forecast data — including forecast categories, amounts, and manager roll-ups — and loads it into Domo on a scheduled basis for executive forecasting dashboards. Finance and revenue operations always have the latest forecast data available in Domo.
Steps:
- Trigger on a recurring schedule aligned with forecast review cadence
- Query the Salesforce Forecasting API for current period forecast data by team and user
- Transform forecast categories and roll-up amounts into a flat dataset structure
- Load the forecast data into a dedicated Domo dataset for revenue analytics
- Send a notification confirming successful load and dashboard refresh completion
Connectors Used: Salesforce, Domo