If you’re stuck wrangling CSVs out of Salesforce and wrestling them into Domo, you’re not alone. Automating that data flow isn’t magic, but it does take some know-how (and a few caveats). This guide is for anyone who wants Salesforce data in Domo with minimal fuss—especially if you want numbers to be fresh, not last week’s leftovers.
Let’s cut through the noise and get your pipeline running, so you can focus on the actual reporting.
Step 1: Know What You’re Getting Into
Before you dive in, set expectations. Both Salesforce and Domo are big, complicated tools, and nothing about syncing them is perfect. Here’s what you should know up front:
- “Real-time” reporting is a stretch. At best, you’ll get near real-time (think every 15 minutes or hourly). True instant updates? Not happening unless you build custom integrations.
- Domo’s Salesforce connector works, but it’s not magic. It’ll pull your data, but complex joins or custom logic can trip it up.
- API limits are real. Salesforce will throttle you if you go overboard with too-frequent pulls, especially on cheaper plans.
- Data security matters. Both platforms handle sensitive info. Don’t just give everyone admin and hope for the best.
If you’re cool with all that, let’s move on.
Step 2: Prep Your Accounts (and Permission Headaches)
You’ll need:
- A Salesforce account with API access (not all editions include this—double-check).
- A Domo account with permission to create and manage data connections.
- Credentials you can share with Domo. Usually, a dedicated integration user in Salesforce is a good idea.
Pro tip:
Don’t use your personal Salesforce login for automated tasks. If you leave the company or change your password, integrations break. Set up a service account instead.
Step 3: Connect Salesforce to Domo
Domo has a native Salesforce connector, and it’s the easiest way unless you have super-custom needs.
-
Log in to Domo.
Open the Domo platform and head to the “Data” section. -
Find the Salesforce Connector.
Click “+ Add Data” > “Cloud App” and search for “Salesforce.”
(You’ll see options for Salesforce, Salesforce Advanced, and others. Start with the standard connector unless you know you need the others.) -
Set Up the Connection.
- Click “Connect.”
- Enter your Salesforce credentials (preferably your integration user).
-
Authorize Domo’s access. Salesforce may prompt for security verification—be ready.
-
Choose What to Import.
- Pick the Salesforce objects (tables) you want (e.g., Accounts, Opportunities, Leads).
-
You can set filters (e.g., last 30 days) if you don’t want the whole firehose.
-
Name and Save the Dataset.
Give it a clear name—future you will thank you.
What works:
- The setup is pretty painless.
- You can pick fields and filter rows.
What doesn’t:
- Complex Salesforce reports (with formulas, cross-object stuff) don’t always play nice.
- Domo sometimes struggles with custom objects or fields, especially if their API names change.
Step 4: Set Up Automated Scheduling
Here’s where you (almost) get “real-time” reports.
-
Choose Your Refresh Rate.
In the connector settings, you’ll see options like every 15 min, hourly, daily, etc. -
Balance Freshness vs. Limits.
- If you pick every 15 minutes, watch your Salesforce API limits. If you’re on a small plan or have lots of users, you can hit your cap fast.
-
For most dashboards, hourly is a good balance (unless your exec team is obsessed with up-to-the-minute numbers).
-
Save and Test.
Run a manual import. If it works, great! If not, check: - Permissions (does the integration user have access to all the objects/fields?)
- API limits (check Salesforce’s setup/admin panel)
- Field changes (did someone rename a custom field?)
Heads up:
If you make changes to Salesforce schema (fields, object names), you’ll need to update your Domo connection. Domo won’t auto-magically adjust for you.
Step 5: Deal with Custom Fields, Objects, and Reports
Most orgs have custom stuff in Salesforce. Here’s how to handle that:
- Custom Objects/Fields:
Domo’s connector should see these, as long as your integration user has access. But if you rename or delete fields, imports can break. - Salesforce Reports:
The connector lets you pull from “tabular” reports, but not all report types. Matrix and summary reports won’t work. - Calculated Fields:
Domo can see formula fields, but complex formulas sometimes fail or return weird data. Test before you promise anything to your boss.
If you hit a wall:
Export your report as CSV and use Domo’s file upload connector. Not automated, but sometimes it’s faster than fighting the API.
Step 6: Map and Transform Data in Domo
Your raw Salesforce data is in Domo—now what? Usually, it needs cleaning up.
- Use Domo’s DataFlows:
These let you join, filter, and transform data. Think of it like SQL or Excel on steroids (but with a learning curve). - Watch for field types:
Date fields, picklists, and IDs can get messy. Always check your data types before building dashboards. - Handle lookup fields:
If you want, say, the Account Name in your Opportunity data, you might need to join tables in Domo.
Pro tip:
Build simple test cards (charts) with your imported data before you go wild with transformations. It’s easier to spot issues early.
Step 7: Build and Share Real-Time Dashboards
Now you can make dashboards that update as often as your sync runs.
- Start small.
Don’t try to build the whole company dashboard on day one. - Watch for lag.
Remember: your “real-time” dashboard is only as current as your last data pull. - Share with care.
Domo dashboards are easy to share, but be sure to restrict sensitive data.
Step 8: Monitor, Maintain, and Troubleshoot
Automated doesn’t mean “set and forget.” Here’s what to keep an eye on:
- Failed imports:
Domo will usually send alerts, but check your datasets regularly. - API limits:
Salesforce can cut you off if you’re too aggressive with refreshes. - Schema changes:
Anytime Salesforce admins add or rename fields, double-check your integration.
If things break:
- Re-authenticate the connector (especially after password changes).
- Check for object or field permission errors.
- Look at Domo’s error logs—they’re not always clear, but better than nothing.
What to Ignore (Unless You Love Pain)
- Overcomplicating the pipeline.
Don’t stack ETL tools or middleware unless you absolutely have to. Native connectors are good enough for 90% of use cases. - Trying to get true “real-time.”
If you need second-by-second updates, you’re in custom dev territory—expensive and rarely worth it. - DIY API scripts (unless you’re a dev shop).
Domo’s connector covers most needs. Custom scripts mean more maintenance, more breakage.
Keep It Simple and Iterate
Getting Salesforce data into Domo for (almost) real-time reporting isn’t glamorous, but it’s doable without fancy tools or code. Start with the basics, automate what you can, and don’t overthink it. When something breaks—as it inevitably will—fix it, learn, and move on. The goal here is to spend less time fixing your data pipeline and more time actually using your data.
Happy reporting!