top of page

How to Integrate Salesforce with Power BI Step by Step

Writer: SEO Ninja
SEO Ninja
6 minutes ago
14 min read

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.


Wide-angle view of a laptop showing a data dashboard beside a notebook on a wooden kitchen bench
A clear plan makes the Salesforce to Power BI connection much easier to manage.

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.


Close-up view of a handwritten data map next to a tablet showing simple table relationships
Mapping objects before connecting helps keep the Power BI model clean.

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.


Eye-level view of a laptop screen showing a simple relationship diagram beside coloured index cards
A clear relationship model helps Power BI calculate Salesforce metrics correctly.

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:


  1. Open the workspace.

  2. Find the semantic model connected to your report.

  3. Open Settings.

  4. Confirm Salesforce credentials.

  5. Turn on Scheduled refresh.

  6. Choose the refresh frequency and time.

  7. Save the settings.

  8. 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:


  1. Refresh the report in Power BI Desktop.

  2. If Desktop refresh works, publish again.

  3. Update credentials in Power BI service.

  4. Run an on-demand refresh.

  5. Review the refresh history error message.

  6. 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.


Overhead view of a tablet showing colourful charts beside printed notes and a calculator
Power BI visuals can turn Salesforce records into clear sales and service views.

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.


 
 
bottom of page