How to Integrate Salesforce with Power BI Step by Step
Salesforce holds some of the most useful data in a business: leads, accounts, opportunities, cases, campaigns, activities, and revenue history. Power BI turns that data into reports people can explore without waiting for another spreadsheet export.
Connecting the two gives you a practical way to track sales performance, service trends, pipeline health, and customer activity in one place. The setup is not difficult, but it does need the right permissions, a clear data plan, and a few careful choices inside Power BI.
This guide walks through the full process, from preparation to publishing and troubleshooting, so you can build a working Salesforce and Power BI integration with fewer surprises.

Why connect Salesforce with Power BI
Salesforce is often the main system of record for sales, service, and customer activity. It stores detailed information about prospects, customers, deals, support cases, and team activities.
Power BI is designed for reporting, modelling, and interactive dashboards. It helps turn operational records into clear views that teams can filter, compare, and share.
Used together, the tools help answer questions such as:
Which sales regions have the strongest pipeline?
Which opportunities are at risk of closing late?
Which products or services generate the most revenue?
How long does it take to convert a lead?
Which support cases take the longest to resolve?
Which account segments need more attention?
A direct connection also reduces the need for manual CSV exports. Instead of copying Salesforce reports into spreadsheets each week, Power BI can refresh data on a schedule, subject to your permissions, Salesforce edition, and connector settings.
Benefits for sales reporting
Power BI can combine Salesforce opportunity data with targets, territories, product data, or finance figures. That makes it easier to compare pipeline against quota, assess win rates, and spot gaps by region or sales stage.
Common sales reporting benefits include:
Better visibility of open pipeline
Clearer tracking of won and lost deals
Easier comparison of salespeople, regions, or account types
Faster reporting cycles
More flexible filtering than static Salesforce reports
Benefits for service and customer teams
Salesforce case and account data can also support customer reporting in Power BI. For example, service teams can track case volumes, ageing, priority levels, first response times, and recurring issue types.
A Power BI dashboard can help managers see where workloads are rising, which products produce the most support requests, and which customer segments need extra care.
Benefits for leadership reporting
Leadership teams often need a broader view than one Salesforce report can show. Power BI can bring together Salesforce data with budget, inventory, web analytics, finance, or operational datasets.
That gives decision-makers a cleaner view of performance across functions, not just within the CRM.
Prerequisites for integrating Salesforce with Power BI
Before opening Power BI, make sure the basics are in place. Most connection issues come from missing permissions, unclear field choices, or trying to load too much data at once.
Access and permissions
You need a Salesforce user account that can access the data you plan to report on.
Check that your account has:
Access to the relevant Salesforce objects, such as `Account`, `Contact`, `Lead`, `Opportunity`, or `Case`
Permission to use Salesforce APIs, if required by your edition and setup
Access to the reports you want to connect, if using the Salesforce Reports connector
Permission to view all required fields, including custom fields
Multi-factor authentication access, if your Salesforce organisation requires it
In Power BI, you need:
Power BI Desktop installed on your computer
A Power BI account if you plan to publish reports
Access to the target workspace in the Power BI service
Permission to create or update semantic models if publishing shared reports
If you are not a Salesforce administrator, ask one to confirm your profile, permission sets, and API access before you start.
Choose your connection method
Power BI gives you more than one way to work with Salesforce data. The two most common options are Salesforce Objects and Salesforce Reports.
Connection option | Best for | Things to know |
Salesforce Objects | Detailed modelling, custom reports, combining many tables | Requires you to understand Salesforce objects and relationships |
Salesforce Reports | Using existing Salesforce report logic | Easier to start, but less flexible for modelling |
Exported files | One-off analysis or restricted access cases | Manual unless automated outside Power BI |
Dataflows or staged data | Larger or shared reporting models | Better for managed reporting environments |
For most long-term dashboard projects, Salesforce Objects is the better starting point. It gives Power BI access to the underlying tables, which is useful when building relationships, calculated measures, and reusable models.
Salesforce Reports can still be useful when the report logic already exists in Salesforce and the dataset is small enough for your needs.
Decide what data you need
Do not connect every object just because it is available. A smaller, focused model is easier to refresh, secure, and maintain.
For a sales dashboard, you may need:
`Account`
`Contact`
`Lead`
`Opportunity`
`OpportunityLineItem`
`User`
`Product2`
`Campaign`
For a service dashboard, you may need:
`Case`
`Account`
`Contact`
`User`
`KnowledgeArticle`, if used
Custom objects related to service processes
Write down the business questions first. Then map each question to objects and fields. This helps avoid clutter and improves report performance.

Prepare Salesforce data quality
Power BI can report on your data, but it cannot fix poor source data by itself. Review the Salesforce fields you plan to use.
Look for:
Blank close dates
Inconsistent stage names
Duplicate accounts
Old test records
Inactive users still assigned to opportunities
Custom fields with unclear meanings
Picklist values that overlap or repeat
You do not need perfect data to begin, but you should know where the weak spots are. Add filters during import if test records or old data should be excluded.
Step-by-step guide to connecting Salesforce to Power BI
The steps below use Power BI Desktop, which is the usual place to build the first report model. After that, you can publish it to the Power BI service and set up refresh.
Step 1. Open Power BI Desktop and start a new report
Open Power BI Desktop and select Get data from the Home ribbon.
You can also go to:
`Home > Get data > More`
This opens the full list of available connectors.
If this is your first time building the report, start with a blank Power BI file. Avoid adding Salesforce data to an old report unless you are clear about existing relationships, measures, and security settings.
Step 2. Select the Salesforce connector
In the Get Data window, search for `Salesforce`.
You will usually see options such as:
Salesforce Objects
Salesforce Reports
Choose Salesforce Objects if you want to build a proper data model from Salesforce tables.
Choose Salesforce Reports if you want to pull in a prebuilt Salesforce report.
Click Connect.
Power BI may show a connector notice or preview message. Read it, then continue if it suits your environment.
Step 3. Choose the Salesforce environment
Power BI will ask which Salesforce environment you want to connect to.
Common options include:
Production
Custom
A sandbox or custom login URL, depending on your setup
Choose Production when connecting to your live Salesforce environment.
Use a sandbox when testing a new model or building a proof of concept. This is safer if you are unsure about the data structure or do not want early testing to affect reporting expectations.
Step 4. Sign in to Salesforce
Power BI opens a Salesforce sign-in window. Enter your Salesforce credentials and complete any multi-factor authentication steps.
If your organisation uses single sign-on, you may be redirected to your identity provider.
After sign-in, Power BI asks you to allow access. Review the request and confirm if you are authorised to connect the data.
If sign-in fails, check:
Your Salesforce username and password
Whether your account is locked
Whether multi-factor authentication is required
Whether your Salesforce profile allows API access
Whether your IP address or network is restricted
Step 5. Select Salesforce objects or reports
After authentication, Power BI shows the Navigator window.
If you selected Salesforce Objects, you will see a list of available tables. The list may include standard objects and custom objects.
Examples include:
`Account`
`Contact`
`Lead`
`Opportunity`
`Case`
`User`
Custom objects ending in `__c`
Select the objects you need. You can preview each table before loading it.
If you selected Salesforce Reports, choose the report you want to bring into Power BI.
Keep the first import small. For example, start with `Opportunity`, `Account`, and `User` for a basic sales pipeline dashboard. You can add more objects later.
Step 6. Choose Load or Transform Data
Power BI gives you two main options:
Load
Transform Data
Choose Transform Data if you need to clean, rename, filter, or shape the data before it enters the model.
This is usually the better choice.
Power Query opens and lets you prepare the data. Useful tasks include:
Removing columns you do not need
Filtering out old or test records
Renaming technical fields to readable names
Changing data types for dates, numbers, and currency fields
Splitting or merging columns where needed
Removing duplicate rows if appropriate
Be careful when removing columns. Some fields may look unnecessary but are needed for relationships, such as IDs and owner fields.
Common relationship fields include:
`AccountId`
`OwnerId`
`ContactId`
`OpportunityId`
`CreatedById`
`LastModifiedById`
Keep these fields until the model is fully built.
Step 7. Clean field names and data types
Salesforce field names can be technical, especially custom fields. Power BI reports are easier to use when field names are clear.
For example:
Salesforce field | Friendlier Power BI name |
`CloseDate` | Close Date |
`IsClosed` | Is Closed |
`IsWon` | Is Won |
`Amount` | Opportunity Amount |
`OwnerId` | Owner ID |
`Custom_Segment__c` | Customer Segment |
Set the correct data type for each column. Dates should be date fields, amounts should be decimal numbers or fixed decimal numbers, and true or false values should be Boolean fields.
For Australian reporting, check date formatting after loading. A report audience in Australia will usually expect dates such as `31/12/2026`, not the month-first format used in the United States.
Step 8. Load the data into Power BI
Once the data looks right in Power Query, select Close & Apply.
Power BI loads the data into the model. This can take time if you selected large Salesforce objects.
If the load is slow, cancel and reduce the dataset. Remove unused columns, apply filters, or start with fewer objects.
A good first model should be simple enough to understand without a data dictionary.

Step 9. Build relationships between Salesforce tables
Power BI may detect some relationships automatically, but you should review them.
Go to Model view and check how tables connect.
Common Salesforce relationships include:
`Opportunity.AccountId` to `Account.Id`
`Opportunity.OwnerId` to `User.Id`
`Contact.AccountId` to `Account.Id`
`Case.AccountId` to `Account.Id`
`Case.OwnerId` to `User.Id`
`OpportunityLineItem.OpportunityId` to `Opportunity.Id`
Use one-to-many relationships where appropriate. For example, one account can have many opportunities.
Check cross-filter direction carefully. Single direction is often safer and easier to reason about. Use both-direction filtering only when you understand the effect on totals and report behaviour.
Then hide technical ID fields from report view if users do not need to see them. Keep them in the model, but remove clutter from the field list.
Step 10. Create useful measures
Measures are calculations written in DAX. They help produce totals, ratios, and business metrics.
For a basic opportunity report, useful measures might include:
```DAX
Total Opportunity Amount = SUM(Opportunity[Amount])
```
```DAX
Won Opportunity Amount =
CALCULATE(
[Total Opportunity Amount],
Opportunity[IsWon] = TRUE()
)
```
```DAX
Open Pipeline Amount =
CALCULATE(
[Total Opportunity Amount],
Opportunity[IsClosed] = FALSE()
)
```
```DAX
Opportunity Count = COUNTROWS(Opportunity)
```
You can also create win rate measures, average deal size, average sales cycle length, and pipeline coverage. Start with simple measures and validate them against Salesforce before adding more complex logic.
Step 11. Validate results against Salesforce
Before sharing the report, compare Power BI results with known Salesforce reports.
Check core numbers such as:
Total open pipeline
Closed won revenue for a selected period
Number of active opportunities
Lead count by status
Cases opened this month
Cases closed this month
If numbers do not match, look for differences in filters, date fields, currency handling, record visibility, and report logic.
Salesforce reports may use filters that you have not recreated in Power BI. Power BI may also include records your Salesforce report excludes.
Validation is one of the most important parts of integrating Salesforce with Power BI because users will lose trust quickly if totals differ without explanation.
Step 12. Publish the report to the Power BI service
When the report is ready, select Publish in Power BI Desktop.
Choose the correct workspace in the Power BI service.
After publishing, open the report in Power BI service and check that visuals, filters, and pages behave as expected.
You may need to set credentials for the dataset in the service.
Go to the dataset or semantic model settings and review:
Data source credentials
Privacy level
Scheduled refresh
Refresh history
Permissions
Endorsement or sensitivity labels, if your organisation uses them
For Salesforce cloud data, refresh can often run through the service without an on-premises gateway. If your model also uses files, databases, or local sources, a gateway may be needed for those sources.
Step 13. Set up scheduled refresh
Scheduled refresh keeps your Power BI report current.
In the Power BI service:
Open the workspace.
Find the semantic model connected to your report.
Open Settings.
Confirm Salesforce credentials.
Turn on Scheduled refresh.
Choose the refresh frequency and time.
Save the settings.
Check the next refresh result.
Choose a refresh schedule that matches the reporting need. A daily sales dashboard may not need refreshes every hour. A near-live operations dashboard may need more frequent updates, subject to Power BI and Salesforce limits.
Also consider time zones. For Australian teams, schedule refreshes around local reporting habits, such as before the start of the business day.
Tips for troubleshooting common issues
Even a simple setup can hit problems. The table below covers common issues and practical fixes.
Issue | Likely cause | What to try |
Sign-in fails | Wrong credentials, locked account, MFA issue, SSO problem | Test login in Salesforce, confirm MFA, contact your Salesforce admin |
Objects are missing | User lacks object or API permissions | Check profile, permission sets, and field-level security |
Fields are missing | Field-level security hides them | Ask an admin to confirm visibility for the Salesforce user |
Refresh fails in Power BI service | Expired credentials or changed password | Re-enter credentials in semantic model settings |
Totals do not match Salesforce | Different filters or date logic | Compare report filters, date fields, record types, and owner visibility |
Data load is slow | Too many rows or columns | Remove unused columns, filter older records, import fewer objects |
Relationships do not work | Wrong key fields or data types | Check ID fields, relationship cardinality, and data types |
Currency values look wrong | Multi-currency settings or formatting | Confirm Salesforce currency setup and format measures in Power BI |
Duplicate rows appear | Joins or report-level data create repeated records | Review relationships and avoid many-to-many joins unless needed |
Fix authentication problems
Authentication errors are common after password changes, MFA changes, or Salesforce security updates.
In Power BI Desktop, clear the stored Salesforce permissions if needed:
`File > Options and settings > Data source settings`
Find the Salesforce connection, clear permissions, then sign in again.
In the Power BI service, open semantic model settings and update credentials. If your organisation uses single sign-on, check whether your account still has access through the identity provider.
Fix missing data
If a user can see a field in Salesforce but Power BI cannot import it, field-level security may still be the cause. Salesforce page layouts and field permissions are not the same thing. A field can appear on a page layout for one user and still be restricted for API or reporting access.
Ask a Salesforce admin to check:
Object permissions
Field-level security
Permission sets
Record type access
Sharing rules
API access
Also confirm that the records exist in the environment you connected to. Sandbox data can differ from production data.
Fix refresh failures
Refresh failures usually come from credentials, source changes, or data model changes.
Try this process:
Refresh the report in Power BI Desktop.
If Desktop refresh works, publish again.
Update credentials in Power BI service.
Run an on-demand refresh.
Review the refresh history error message.
Check whether any Salesforce fields were renamed, deleted, or hidden.
If a field was removed from Salesforce, Power Query may fail on a step that still references it. Open Power Query and inspect the applied steps.
Fix performance problems
Large Salesforce objects can slow Power BI. Opportunities, activities, and history objects can grow quickly.
To improve performance:
Import only the columns used in visuals, filters, relationships, or measures
Filter out records outside your reporting window
Use summary tables where detail is not needed
Avoid loading high-volume activity history unless it has a clear purpose
Keep calculated columns to a minimum
Use measures instead of row-by-row calculations where possible
Split complex reporting into separate models if needed
Good modelling matters more than visual design. A clean model refreshes faster and produces more reliable results.
Examples of Salesforce data visualisations in Power BI
Once the connection works, the real value comes from report design. Build pages around decisions, not around every field you imported.
Here are practical examples.
Sales pipeline dashboard
A sales pipeline page helps teams understand current and future revenue.
Useful visuals include:
Card visual for open pipeline amount
Card visual for weighted pipeline
Column chart showing pipeline by stage
Stacked bar chart showing pipeline by owner
Line chart showing expected close amount by month
Table listing high-value opportunities due to close soon
Slicer for region, owner, close date, and account segment
This page should answer one question quickly: where is the pipeline, and what needs attention?
A good layout might place headline metrics at the top, trend charts in the middle, and detailed opportunity tables at the bottom.
Lead conversion report
Lead reporting is useful for sales and marketing handover, campaign review, and process improvement.
Useful visuals include:
Funnel chart showing leads by status
Line chart showing new leads over time
Bar chart showing conversion rate by source
Matrix showing lead status by owner
Scatter chart comparing lead volume and conversion rate by campaign
When building lead reports, define conversion clearly. Some teams use the Salesforce converted flag. Others focus on whether a lead became an opportunity. Use one definition and show it clearly in the report notes or metric names.
Opportunity win and loss analysis
Win and loss reporting helps teams understand which deals close and why.
Useful visuals include:
Donut chart showing won versus lost opportunities
Bar chart showing win rate by industry
Column chart showing average deal size by stage
Table showing lost opportunities with loss reason
Line chart showing win rate over time
Use caution with win rate calculations. Make sure the measure excludes open opportunities unless you intentionally want them included.
A simple win rate measure usually compares closed won opportunities with all closed opportunities.
Customer service case dashboard
Service teams can use Salesforce case data to track workload, trends, and response patterns.
Useful visuals include:
Card visual for open cases
Card visual for overdue cases
Bar chart showing cases by priority
Line chart showing cases created and closed by week
Matrix showing cases by product and type
Table showing oldest open cases
Slicer for account, case owner, priority, and region
This dashboard works best when paired with clear definitions for case status and ageing. For example, decide whether case age should count calendar days or business days.
Account health dashboard
An account health page combines sales and service views.
Useful visuals include:
Table of key accounts with revenue, open opportunities, and open cases
Scatter chart comparing account value and case volume
Bar chart showing revenue by account segment
KPI cards for renewal dates or contract values, if stored in Salesforce
Drill-through page for a single account
This type of report can be powerful because it shows customer value and customer risk together.

Best practices for a reliable Salesforce Power BI setup
A working connection is only the beginning. To keep reporting useful over time, set a few standards early.
Use a dedicated reporting account where possible
Some organisations use a dedicated Salesforce integration or reporting user for Power BI. This can make refresh behaviour more predictable than relying on a personal user account.
If you use this approach, make sure the account follows your internal security rules. It should have enough access to report correctly, but not more than needed.
Document your filters and definitions
Many report disputes come from different definitions.
For example:
Does pipeline include only open opportunities?
Does revenue mean closed won amount or invoiced amount?
Which date field drives monthly reporting?
Are renewals included?
Are deleted or archived records excluded?
Are test accounts filtered out?
Add a short definitions page in Power BI or maintain a simple data dictionary. This saves time later.
Keep Salesforce and Power BI owners aligned
Changes in Salesforce can break Power BI reports. A renamed field, deleted picklist value, or changed record type can affect refreshes and visuals.
Ask Salesforce admins to notify report owners before changing key fields used in Power BI. Report owners should also avoid creating hidden logic that only they understand.
Start small, then build out
A first report does not need every object and every metric. Begin with a narrow use case, such as open pipeline by stage and owner. Validate it. Publish it. Gather feedback.
Then add more pages, measures, and data sources as needed.
This approach reduces rework and helps users trust the numbers.
What success looks like
A good Salesforce to Power BI integration should feel calm and predictable.
You know the data source. You know which filters apply. Refreshes run on schedule. Measures match agreed definitions. Users can answer common questions without exporting spreadsheets or asking someone to rebuild a report.
The best starting point is simple: connect only the Salesforce objects you need, clean the data in Power Query, build clear relationships, validate the numbers, and publish with scheduled refresh.
Once that foundation is in place, Power BI can become a trusted reporting layer for Salesforce data, from sales pipeline and lead conversion through to service performance and account health.


