Informed, data-driven decisions have already become the cornerstone of most modern businessesā functionality. The integration with customer relationship management environments is another factor that contributes to these decisions, but it can be difficult to analyze the entirety of Salesforce data without some sort of assistance at hand. Tools such as Power BI from Microsoft can offer exactly that ā a powerful data analytics functionality to transform raw information into a veritable ocean of insights and recommendations.
Unfortunately, creating a way to connect Power BI to Salesforce can be much more challenging than it might seem at first, with the most common challenges being stable synchronization in real time, formatting discrepancies, and data access issues. Our goal in this article is to cover the topic of connecting Salesforce with Power BI in detail with connection methods, advantages, shortcomings, best practices, and potential use cases.
Introduction to Salesforce Power BI Integration
Salesforce is a popular CRM platform that can improve customer experience and assist with customer interactions. It is a comprehensive suite of solutions and tools in the fields of sales, customer service, commerce, and marketing that can simplify and automate many monotonous and challenging tasks in these departments.
Microsoft Power BI is a complex data visualization tool with extensive business analytics features; its primary purpose is to transform data of all kinds into useful and actionable insights. Power BI enables comprehensive decision-making processes backed by information analysis by providing interactive reports and dashboards, integrating with different data sources, and more.
What are the benefits of using a Salesforce to Power BI connection?
Data-driven decisions provide multiple advantages by themselves, most of which are the result of seamless integration between a data storage environment and a data analysis tool ā such as Salesforce and Power BI, respectively. The most commonly mentioned benefits of integrating these solutions with each other are:
- Convenient data sharing between different teams, such as management, marketing, and sales. The ability to share information with minimal friction can dramatically improve the performance of these teams, reduce silos, leading to the creation of better strategies across the board.
- Despite the fact that Salesforce itself has a certain degree of data visualization and reporting capabilities, PowerBI is far more advanced in this department, offering an outstanding visualization toolset that helps with the creation of highly interactive and detailed reports or dashboards.Ā
- Integration between these solutions can also provide a complete picture of the total business performance based on all of the data in the company at once, including sales pipelines, customer relations, and so on. Being able to create such a customer-centric perspective from a holistic 360° standpoint makes it a lot easier to address issues, spot opportunities, and identify trends when possible.
- Real-time data analysis, in combination with other features of Power BI, can drastically improve the accuracy of forecasting, facilitating better decision-making in the process. The fact that analysis can be performed on the most recent data also improves the companyās performance in terms of reacting to the most recent changes in the business environment.
See Your Full Salesforce History in Power BI
Report on years of Salesforce data with GRAX.
Salesforce to Power BI Integration Methods
Despite the obvious advantages of Power BI Salesforce integration, creating a stable connection between the two can be surprisingly difficult. There are three main groups of connection methods that we are going to review in this article: native, API-centric, and third-party.
The table below provides a comparison between these methods using factors that matter most when picking an integration method for Salesforce and Power BI.
| Criteria | Native Connector | Custom API | Third-Party ETL |
| Setup difficulty | Low to moderate | High | Low to moderate |
| Customization | Limited | Extensive | Moderate to extensive, depending on provider |
| Real-time capability | Limited (scheduled refresh) | Possible, which requires Streaming API and added infrastructure | Varies by vendor, often near real-time |
| Technical skill required | Minimal | High (developer resources needed) | Low to moderate |
| Cost | Included with Power BI/Salesforce licenses | Development and maintenance overhead | Subscription-based, scales with data volume |
| Best for | Standard reporting, small to mid-size datasets | Complex, highly specific integration needs | Teams that want flexibility without in-house development |
How to Prepare Salesforce Data Before Connecting to Power BI
Despite being treated as an afterthought on a regular basis, Salesforce data preparation plays a large role in determining how good any future Power BI analysis is going to be quality-wise. Raw data that was pulled directly from Salesforce is rarely suitable enough for immediate use. As such, cleanup and organization are recommended for such data before even establishing the connection to begin with.
Certain tasks in this preparation workflow are also worth prioritizing, such as:
- Get rid of obsolete or duplicate records in order to ensure that the faulty data isnāt creating misleading reports or dashboards
- Set standard field formats across objects to introduce consistency into the way Power BI interprets data
- Make sure to review field-level and object-level permissions to make sure that the data being pulled from Salesforce is actually going to be accessible to the intended Power BI users
- Figure out which custom fields and objects are relevant in order to avoid wasting resources importing unnecessary data, which leads to both slower sync speed and low report performance
Cleaned and organized data is usually a lot easier for Power BI to model correctly. This way, the amount of rework needed later on is lowered dramatically.
Which Salesforce Data Should You Import, and Which Should You Leave Behind?
Not everything in your Salesforce environment is worth importing into Power BI, even if it does seem like a safer option at times. Actions like these often result in large and cumbersome data sets, long refresh cycles, and reports filled with information no one is actually going to use. Itās important to only import the data directly related to your specific reporting or analysis goal.
A good way to resolve this conundrum would be to separate data depending on its purpose, such as:
| Import | Leave Behind |
| Core objects tied to active reporting needs (Accounts, Opportunities, Leads, Cases) | Deprecated or unused custom objects |
| Fields actively used in dashboards or calculations | System audit fields (created by, last modified by, etc.), unless compliance requires them |
| Historical data relevant to trend analysis | Duplicate or redundant fields already captured elsewhere |
| Custom fields tied to business-specific KPIs | Sensitive fields without a clear analytical use case |
The underlying idea here is that the value of a Power BI report isnāt defined by the quantity of Salesforce data fed into it, but by the dataās relevance to what the reports are supposed to resolve.
Itās also recommended to revisit these categorization lists at least every quarter and also after every major dashboard change. The needs of a reporting process tend to change as time goes on and teams adopt new dashboards (or retire old ones).
With that in mind, an individual field that seemed irrelevant during initial setup might suddenly become a lot more important some time later. The same logic works in reverse, as well, with certain data types that start off useful but end up just consuming storage and refresh time.
How to Work with Salesforce Custom Objects and Custom Fields in Power BI
The biggest reason for custom objects and fields to exist in Salesforce is that standard objects cannot always capture the full picture of a companyās processes.
On the flip side, custom elements are usually more difficult to bring into Power BI compared with their standard counterparts. The biggest reason for that is the absence of behavior predictability from one Salesforce org to another (in both structure and naming).
There are many different practical considerations that tend to come up when there is a necessity to use custom fields or objects, including:
- Naming conventions: Custom fields typically end in ā__cā, which can make reports harder to read if the raw API names are not renamed during the Power Query stage.
- Relationships: Custom objects often rely on lookup or master-detail relationships, which need to be mapped correctly in Power BI so that joins between tables behave as expected.
- Data types: Custom fields sometimes use Salesforce-specific formats (such as multi-select picklists) that do not translate cleanly into Power BI’s data model without transformation.
- Governance: Since custom fields vary org to org, documentation on what each field represents becomes more important than it would be for standard objects.
The most problematic segment of the process seems to be every time when multiple people contribute to the same Power BI report. A lot of the confusion around custom objects can be prevented beforehand by working through these considerations ahead of time.
Using the native Power BI Salesforce connector
When it comes to native integration between these two products, it is possible to pull data from Salesforce to Power BI using two noteworthy tools of the former: Objects and Reports. These two connectors have their own use cases and advantages, and confusing one for the other is very difficult.
Salesforce Objects connector is more flexible when it comes to data modeling and relationship management. It also makes it possible to query and import specific fields when necessary. You can use the Salesforce Objects connector to access the raw data in the form of standard objects and records. It is also the more challenging option of the two in most cases due to its innate complexity in terms of setup and configuration.
Salesforce Reports connector is much easier to set up but has a number of limitations to it. It can only work with pre-existing reports, importing all the logic and calculations that Salesforce makes beforehand. It is a great option for standard reporting needs but can be slightly underwhelming when there is a need for a more custom approach or historical snapshot reporting.
When Is the Native Power BI Salesforce Connector Not Enough?
While the native Power BI connector for Salesforce does cover the bulk of standard reporting needs, there are also plenty of scenarios in which its limitations turn from a minor inconvenience into a genuine bottleneck. Identifying these signals early on helps ensure that youāre not spending a lot of effort trying to force the native option to do certain tasks it was not designed to do.
There are several noteworthy signs of the native Salesforce Power BI connector reaching its limits. Here are a few examples:
- The 2,000-row limit of Salesforce Reports is being hit on a regular basis, restricting the thoroughness of high-volume analysis
- The need for write-back functionality, as the native connector is read-only by default
- The need for real-time or near-real-time data, as the connector can only perform scheduled refreshes instead of continuously streaming information
- There is a need to merge multiple external data sources with Salesforce in certain ways that the native controller does not provide
- There is a need for complex calculations or transformations before the data is reaching Power BI (anything beyond the capabilities of Power Query)
Even one of these signs applying to your organization is a sign that it might be a good time to try and link Power BI to Salesforce using a custom API integration or a third-party ETL tool ā even though both options have their own trade-offs when it comes to cost and complexity.
Salesforce Reports vs. Salesforce Objects Connector: Which Should You Use?
The deciding factor between the two options mentioned above usually comes down to how much control is needed for the reporting process versus how quickly the connection has to be operational.
Salesforce Reports are a suitable option when the reports are already in Salesforce, the underlying logic is unlikely to change, and the setup speed is prioritized over flexibility. Itās a good way to quickly establish a working connection with little-to-no configuration, but it does come at the cost of being locked into whatever Salesforce has already calculated.
Salesforce Objects make more sense if the idea is to create a custom report from scratch, blend Salesforce data with multiple other sources, or work around the 2,000-row ceiling of Reports. All the effort spent on preliminary setup provides substantially more flexibility later on.
Teams that are uncertain about the option they want to choose tend to start with Reports and then switch to Objects after encountering some sort of limitation. This approach is a lot better than attempting to anticipate every potential requirement from the get-go.
Get a Personalized Data Assessment
Find out which Salesforce data is worth importing.
Building a Salesforce to Power BI integration with custom APIs
Unlike both of the native integration methods mentioned above, custom API can offer the highest possible level of customization in most situations if the correct APIs are chosen. At the same time, working with APIs is a very difficult task that requires a high level of knowledge on this topic, especially when it comes to complex tasks.
There are four main APIs that can be used for such custom integrations such as with Power BI:
- REST API, a general-purpose API for CRUD operations (Create, Read, Update, or Delete), uses standard HTTP communication methods and easily digestible data formats. It is relatively simple and has a decent level of flexibility, but the existing limit on the number of API calls per day is only one of several reasons why it is not recommended for more complex tasks.
- SOAP API uses a dedicated web services interface to provide access to a large number of features. It exchanges information with XML-based protocols and would not work with Salesforce without a Web Services Description Language file. It is more complex than the previous option and is often slower in comparison. Yet, it can work in much more complex scenarios, especially when there is a necessity to support older connection options with outdated technologies.
- Bulk API makes good use of its name, offering the ability to export or delete large data sets in a short time span. Large batches of records are processed asynchronously here and are often used to refresh data sets in Power BI to include relevant information. It is also somewhat prone to errors and not suitable for real-time data updates.
- Streaming API was created with real-time data streaming in mind, making it a direct counterpart to the previous variation. It can receive data in near real-time without constant data polling while being based purely on specific events or data changes. It is often used to create real-time dashboards, trigger specific actions in Power BI, and monitor valuable business metrics. It is also much more complex in configuration than most APIs available and might even require the creation of a separate infrastructure to support constant data streaming.
Skip the Custom API Build
GRAX connects Salesforce to Power BI, no code needed.
Third-party ETL tools for Salesforce Power BI integration
The proverbial middle ground between completely custom integration solutions and basic native capabilities belongs to the field of third-party software. These ETL (Extract, Transform, Load) integration tools can provide different sets of features and capabilities depending on the solution provider, which is why it is difficult to name a single example that would be suitable for everyone. With that in mind, we can offer a number of different examples without trying to rank or evaluate them:
- Fivetran
- Matillion
- Airbyte
- Skyvia
- Informatica
Of course, this list is far from complete, but it should serve as a good explanation of how the market of ETL software is large and varied, with many options to choose from and a lot of different features that vary from one software to another.
Fivetran

Fivetran is a fully managed ELT tool capable of connecting to a wide range of SaaS applications, databases, and files. It can move said data automatically into destinations (Snowflake, BigQuery, Redshift), and the majority of its setup work happens behind the scenes.
Once the Fivetran connector goes live, it can handle not only scheduling, but also incremental syncing, schema detection, and data error handling with no human input necessary. Only new or updated records are getting pulled at that point, reducing total sync times and costs at the same time.
Customer ratings:
- Capterra ā 4.4/5 points based on 25 customer reviews
- G2 ā 4.3/5 points based on 800 customer reviews
Advantages:
- The connector library covers more than 700 sources, removing most custom integration work for common platforms
- Schema drift resolves automatically, so new fields and type changes appear in the destination without manual fixes
- The setup process takes only minutes per connector, letting non-technical teams launch pipelines without engineering support
Shortcomings:
- The EL-only architecture pushes all transformation work onto dbt or another external tool
- Consumption-based pricing scales unpredictably, turning multi-connector deployments into a budgeting challenge over time
- Recent billing changes now charge for deleted rows, raising costs for teams with high-churn tables
Pricing:
There is no public information about Fivetranās pricing on its official website. Consumption-based pricing is used for all pricing tiers, calculated on monthly active rows, with larger implementations being subject to volume discounts. All pricing seems to be quote-based.
The authorās personal opinion:
Reliability, not flexibility, is where Fivetran earns the majority of its positive reputation on the market. Its connector library includes over 700 destinations, which covers most common SaaS and database sources without any need for workarounds.
However, that kind of coverage comes at a cost, with Fivetran operating strictly as an EL platform. This means that all the complex data transformations are left to either dbt or a similar external tool instead of being handled natively by Fivetran itself.
Matillion

Matillion is a cloud-native ETL/ELT platform created around the idea of a visual, low-code interface that can be used to design, orchestrate, and schedule data pipelines. It can connect to a broad range of databases, APIs, and flat-file sources while also supporting major cloud data warehouses (Snowflake, BigQuery, Redshift, Azure Synapse).
All the necessary transformations are performed natively inside the connected warehouse using dedicated components for filtering, joining, aggregating, and cleansing data without the prerequisite of extensive SQL knowledge. Python scripting and dbt integration are also supported for teams that require access to a more advanced logic than what the visual builder provides.
Customer ratings:
- Capterra ā 4.3/5 points based on 111 customer reviews
- G2 ā 4.5/5 points based on 125 customer reviews
Advantages:
- Transformations run natively inside the connected warehouse, reusing compute the organization already pays for
- The visual job designer lets both engineers and less technical users build pipelines without heavy coding
- Python and dbt integration give advanced users room to extend pipelines beyond the drag-and-drop builder
Shortcomings:
- The platform owns no compute of its own, tying total cost directly to warehouse spend
- Credit-based pricing makes budgeting harder than flat-fee alternatives, especially as usage scales unpredictably
- Deep warehouse integration creates a degree of vendor lock-in that concerns some evaluating teams
Pricing:
The pricing model is based on credits, with pay-as-you-go options available. There are three possible pricing plans available (all of them are on the pay-as-you-go model):
- Developer seems to be an option for individual users, offers access to pre-built connectors, low-code canvas, built-in Git repository, and unlimited projects
- Teams support up to 5 developer users and can offer audit log, standard customer support, SLA, and everything in Developer tier
- Scale still supports up to 5 developer users but can provide custom SSO support, hybrid cloud deployment, data lineage tracking, extended log retention, and plenty of other capabilities
The authorās personal opinion:
The biggest advantage of Matillion is mostly revealed to teams that are already committed to a single cloud warehouse ā since its architecture was created to run transformations using compute the organization is already paying money for. Unfortunately, this kind of symbiosis is also the biggest weakness of the solution, as Matillion can offer no compute resources of its own and is thus completely dependent on the data warehouse itās connected to.
Its pricing model uses a credit-based consumption approach, making cost forecasting significantly more difficult than the flat-fee alternatives. That being said, there are many users considering this trade-off worthwhile, seeing the advantages of the platform in the realm of pipeline design and maintenance.
Airbyte

Airbyte is an open-source data integration platform with a substantial connector catalog, being able to cover more than 600 different sources: databases, SaaS applications, APIs, file systems, and everything in-between. It supports both structured and unstructured data types, making it a common choice for not only analytics pipelines but also AI or ML workflows.
The solution can be either self-hosted using the open-source code or used in the form of Airbyte Cloud as a managed alternative. Itās also possible to create custom connectors for this platform using a low-code or AI-assisted Connector Builder (reducing reliance on official support for unconventional data sources).
Customer ratings:
- G2 ā 4.4/5 points based on 77 customer reviews
Advantages:
- The open-source core avoids the vendor lock-in that closed-platform competitors tend to introduce over time
- Over 600 connectors cover both structured and unstructured sources, spanning databases, SaaS tools, and APIs
- The AI-assisted Connector Builder generates new connectors from documentation, cutting custom development time significantly
Shortcomings:
- Self-hosting shifts infrastructure management, monitoring, and upgrades entirely onto the team running the platform
- The learning curve steepens quickly for teams migrating from simpler, fully managed ETL tools
- Community-built connectors sometimes fall short of the reliability standards official, vendor-maintained connectors provide
Pricing:
Airbyteās pricing model is separated into two large categories: Airbyte Agents and Data Replication.
Airbyte Agents are distributed in four separate pricing tiers that suit different organization sizes. However, the nature of this topic makes us look more toward the Data Replication category.
Data Replication also has four separate pricing plans:
- Core ā the aforementioned āalways freeā plan that uses open-source code and is completely self-managed
- Standard ā starting at $10 per month, this is a fully managed software with basic functionality that focuses on billing based on data volume with quick deployment
- Plus starts at $500 per month, it can offer custom mappings, 50 credits per month, 15-minute syncs, and everything in the previous tiers
- Pro does not have any public pricing attached to it, but it does have support for multiple workspaces, SSO, RBAC, premium support, and more.
The authorās personal opinion:
A combination of openness and cost control is the biggest advantage of Airbyte, as it manages to avoid the credit-based unpredictability of some other managed competitors. The open-source foundation also results in the lower chance of a vendor lock-in, making it particularly appealing to teams that are not willing to form long-term dependencies with a single provider.
That kind of flexibility does have its issues, however, due to the nature of self-hosting shifting all the operational burden onto the team that runs it. Infrastructure management, monitoring, and upgrades all become the responsibility of an end user, which can be difficult to handle without dedicated engineering resources available in the company.
Skyvia

Skyvia is a no-code, cloud-based data integration platform that supports ETL, ELT, and reverse ETL workflows across 200+ pre-built connectors (including Salesforce, Dynamics CRM, SQL Server, and major cloud warehouses). Outside of the core integration, the platform also provides modules for automation, backup, and API-style data access from the same account.
The wizard-based ETL builder was made to handle straightforward pipelines. In the meantime, a separate designer-based Data Flow tool can be used to cover more complex scenarios with multiple sources. A combination of change data capture and bidirectional synchronization is what keeps transactional data up-to-date without any need for custom scripting.
Customer ratings:
Advantages:
- The no-code interface lets business users and analysts build pipelines without relying on engineering support
- Over 200 pre-built connectors cover major CRMs, databases, and cloud warehouses without custom development
- Bundled modules for automation, backup, and API access reduce the need for separate standalone tools
Shortcomings:
- Each product module carries its own pricing tier, complicating cost tracking as usage grows
- Advanced configurations, especially for complex objects, introduce a noticeable learning curve for new users
- Troubleshooting and support response times slow down considerably for more technical, edge-case issues
Pricing:
Skyviaās pricing model is large and multifaceted. Its data integration segment is separated into five tiers:
- Free ā limited version of the solution with no pricing point attached to it
- Basic ā starts at $99 per month, provides 5 scheduled integrations, basic integration scenarios, simple mapping features, and up to 5M records per month
- Standard ā starts at $199 per month, focuses more on ETL and ELT scenarios, upgrades the number of scheduled integrations to 50 while also offering advanced mapping capabilities and per-hour scheduling
- Professional ā $499 per month, with 10M records, per-minute scheduling, unlimited integrations, and support for advanced integration scenarios
- Enterprise ā an option with no pricing point attached, claims to offer top performance, advanced security and support
The authorās personal opinion:
Skyvia prides itself on its accessibility, with the platform being built for business users and analysts, not only data engineers. Limited coding knowledge is enough to create a working pipeline, lowering the entry barrier compared to many other tools that are much more developer-oriented.
That being said, the fact that each product has its own separate plan and cost tiers make the total price of the solution a lot more difficult to track ā especially if thereās the need to adapt more of Skyviaās modules as time goes on.
Informatica

Informatica is a comprehensive enterprise data management suite that covers ETL, ELT, data governance, data quality, and master data management in the same platform. The cloud-native successor to its legacy PowerCenter product, Informatica Intelligent Cloud Services (IICS), now handles integration across hybrid and multi-cloud environments.
Informatica supports data processing in both batch and real-time methods; it offers automated workflow orchestration and a drag-and-drop interface for building pipelines. The wide range of connectors and transformation components it offers help cover a wide range of data sources (databases, applications, modern cloud warehouses, etc.).
Customer ratings:
- G2 ā 4.3/5 points based on 105 customer reviews
Advantages:
- The platform unifies integration, governance, and data quality tools that most competitors offer separately
- Extensive connector coverage spans on-premises systems, cloud platforms, and modern data warehouses alike
- Advanced governance and compliance features suit regulated industries with strict data-handling requirements
Shortcomings:
- Setup and configuration demand considerably more time and expertise than lighter-weight competing platforms
- Pricing scales into enterprise territory quickly, pricing out smaller teams and limited-budget deployments
- Debugging and monitoring tools lag behind the platform’s core integration and transformation capabilities
Pricing:
Informatica uses a volume-based pricing approach with no specific cost values available on the official pricing page.
The authorās personal opinion:
Few competitors can match the depth of capabilities Informatica provides, especially when it comes to such a combination of governance, data quality, and integration capabilities. The depth in question is what makes it great for regulated industries and large enterprises that have complex, multi-domain data needs.
Complexity would be the biggest tradeoff here, with setup and configuration necessitating considerably more time and expertise than less feature-heavy tools. Itās not uncommon for businesses without dedicated data engineering resources to find Informaticaās learning curve too steep, combined with high associated implementation costs.
Microsoft Power BI integration with GRAX Data Lake / Data Lakehouse
While the primary topic of this article is integration between Salesforce and Power BI, it should be noted that there are other means of data exchange available with the same purpose. For example, GRAX Data Lake and DataLakehouse serve as an extension of Salesforceās capabilities, offering a convenient way to store, manage, and inspect information in different formats.
One use case for GRAX is to act as a data repository that can hold the entire history of a companyās records in Salesforce without disrupting potential relationships between specific data elements.
Since GRAXās solution stores up to all versions of Salesforce data in this case, it can also be integrated with Power BI for further analysis, achieving practically the same result as with the methods above but using an organizationās entire history. GRAXās ability to act as a middle-man between the two offers seamless access to information for advanced analytics, long-term retention for more thorough trend analysis, and complete data control and ownership of a companyās information.
The usage of GRAX Data Lake should dramatically simplify the process of tracking long-term sales performance and customer behavior, which can later be analyzed further. Any company with several yearsā worth of sales data would be able to visualize and analyze it with Power BI to review seasonal patterns and the long-term impact of specific sales strategies or trends.
GRAX History Stream With PowerBI
Start piping your Salesforce data into PowerBI with GRAX.
How to Connect Salesforce to Power BI Using Different Methods
Due to the ever-changing nature of the ETL software market, this section will primarily cover native and custom connection methods for Salesforce and Power BI.
Step-by-step guide to using the Power BI Salesforce connector
The necessary actions for both available options are surprisingly similar, with only one step that defines what kind of data is going to be integrated (Salesforce Objects for raw data and Salesforce Reports for pre-built reporting data). The sequence of actions itself should look like this:
Step 1. Open Power BI desktop app and locate the data source page that can be found under Get Data ā Moreā¦

Step 2. A dialogue box will appear titled Get Data, providing a variety of options to choose from. This is where the path between Objects and Reports diverges depending on what kind of data your company needs (both can be found in the Online Services category). Click OK to proceed once the relevant option is chosen.

Step 3. After choosing either Reports or Objects, a new window should open titled either Salesforce Objects or Salesforce Reports. Both windows should offer essentially the same choice between two options: Production and Custom (this step is where the target Salesforce domain or environment is chosen).

Step 4. The next dialogue box is titled Access Salesforce. This is where you would have to sign in to your Salesforce account using the appropriate login-password combination (which can also be done with SSO if available).

Step 5. Once signed in and connected to Salesforce, you should be able to choose what objects you want to load (with Salesforce Objects) or reports you want to load (with Salesforce Reports) to Power BI for further visualization and analysis.
How to Transform Salesforce Data in Power Query
When the data makes its way to Power BI ā it is rarely in a state that is immediately reporting-ready. The bulk of that gap gets resolved with Power Query. It acts as a bridge between raw Salesforce records and information that is structured enough to be used in dashboards and analysis tasks. The most common examples of such transformations would be:
- Renaming and reordering columns so that raw API field names (particularly custom fields ending in __c) become readable for report consumers
- Filtering rows to exclude irrelevant records, such as closed-lost opportunities or inactive accounts, depending on the report’s purpose
- Merging queries to combine related Salesforce objects, such as joining Accounts with Opportunities based on a shared identifier
- Splitting or extracting data from compound fields, which is often necessary for multi-select picklists or concatenated text fields
- Changing data types to match what Power BI expects, since Salesforce sometimes exports dates, currencies, or booleans in formats that need adjustment before calculations behave correctly
It would be fair to mention that none of these transformations are unique to Salesforce data specifically. However, the volume and inconsistency of fields that come from a CRM environment do make Power Query cleanup important enough to be considered mandatory instead of optional.
Setting up a custom Salesforce Power BI integration with APIs
Even if the highly complex nature of this topic would prevent us from providing the exact step-by-step instruction on how to build your own custom API integration, we can still provide a number of general actionable steps that should be used in most, if not all, API-related development processes:
Step 1. Set up access to Salesforce APIs in your Salesforce org, obtain the necessary credentials by creating a Connected App.

Step 2. Choose the API or APIs that you are going to use, with REST API being a common option for general-purpose tasks, Bulk API being useful for large data volumes, SOAP API specializing in complex and detailed operations, and Streaming API being useful for generating data feeds in real-time.

Step 3. Create a custom connector with the Power Query M formula language to handle authentication, retrieval, transformation, and other basic tasks.

Step 4. Set up specific authentication rules, such as OAuth 2.0
Step 5. Set up queries that would acquire information from Salesforce (streaming data set if there is a need for real-time feed).
Step 6. Automate data refresh actions on the side of Power BI.
Step 7. Start creating dashboards and reports once the connection is up and running as the proof of concept for the integration.
We should mention here that custom integration is an incredibly complex task that requires a high level of skill and experience. It also has a number of limitations all of the custom processes have, such as the issue of experience transfer, expensive maintenance, high probability of human error, and so on.
How to Refresh Salesforce Data in Power BI Automatically
Keeping Salesforce data up-to-date in Power BI is possible using a few available refresh options:
- Scheduled refresh, available through Power BI Service, which pulls updated data at set intervals (as frequently as every 15 minutes on Premium capacity, or a few times a day on shared capacity)
- DirectQuery, which queries Salesforce data in near real-time rather than relying on a stored dataset, at the cost of some performance overhead
- Incremental refresh, which updates only the data that has changed since the last refresh rather than reloading an entire dataset, reducing load on both Salesforce and Power BI
- Custom refresh triggers, typically built through Power Automate or API-based scripts, for teams that need refresh timing tied to specific business events rather than a fixed schedule
The appropriate choice here often depends on how time-sensitive the underlying decisions are.
Sales pipeline dashboards that are looked at only once a day are rarely enough to justify the overhead of DirectQuery or custom triggers. Real-time operational dashboards, on the other hand, might need exactly that. Incremental refresh usually becomes worth the effort to set it up as datasets grow, since pulling the entire history of Salesforce over multiple years with every refresh cycle is going to slow things down substantially while taking a portion of Salesforceās daily API call limits on unnecessary matters.
How to Handle Salesforce API Limits and Large Data Volumes
Salesforce uses certain limitations in order to protect overall platform performance, and most of the properly-configured integrations transferring data into Power BI are bound to stumble upon at least one of them. Knowing the differences between these limitations beforehand would make it a lot easier to design around them while avoiding being caught off-guard mid-project.
| Limit Type | What It Restricts | Common Mitigation |
| Daily API call limit | Total number of API requests allowed per 24-hour period, based on Salesforce edition and license count | Batch requests where possible, reduce refresh frequency, or use Bulk API for large jobs |
| Salesforce Reports row limit | Caps native Reports connector output at 2,000 rows | Switch to Salesforce Objects connector for larger datasets |
| Bulk API batch limits | Restricts the size and number of records processed per batch job | Break large exports into multiple smaller batch jobs |
| Concurrent request limits | Number of simultaneous API calls allowed at once | Stagger scheduled refreshes across different times rather than running them all at once |
These limitations are further compounded by large data volumes, as a single dataset refresh could take up a large portion of the daily API allowance if not configured properly.
The most reliable way to not hit an unexpected API ceiling mid-cycle is to monitor API usage with Salesforceās own limits dashboard while also using the incremental refresh strategies mentioned before.
Best Practices for Salesforce Power BI Integration
Implementation can be rightfully considered one of the most challenging parts of the entire connection process between Power BI and Salesforce. Aside from that process (which varies wildly depending on the chosen integration option), there are only a few recommendations that we can provide as the best practices:
- Verify the quality and accuracy of information.
Preparing data before importing it to another location (including Power BI) is always a good idea. The usage of irrelevant or incorrect information in the analysis can lead to inaccurate predictions and insights, drastically reducing the usefulness of the entire Power BI to Salesforce connection.
- Use automation for data refresh tasks.
Setting up a schedule for data refresh processes should remove the possibility of creating the analysis of outdated information. Power BI has a number of built-in capabilities that can perform such tasks, and it can also be done via custom methods.
- Keep an eye on the security and compliance of the data flows.
Since the addition of a new solution to the infrastructure is usually covered by most of the same regulations, both the data transfer and the data storage should still be protected to a necessary degree to avoid issues with compliance while also protecting yourself against cyber attacks.
How to Secure a Salesforce Power BI Integration with OAuth and Permissions
Security isnāt something that can be treated as an afterthought in a Salesforce Power BI integration.
Both platforms deal with sensitive business data, and a single poorly configured connection can expose a lot more information than intended. OAuth 2.0 is what handles the authentication side of the topic. Meanwhile, permissions on both platforms determine what exactly is the authenticated connection capable of. Proper setup of OAuth 2.0 usually involves the following actions:
- Creating a Connected App in Salesforce specifically for the Power BI integration, rather than reusing credentials meant for another purpose
- Scoping OAuth permissions narrowly, granting only the API access the integration actually needs instead of defaulting to broad access
- Rotating credentials periodically and revoking access immediately for any Connected App no longer in active use
- Enabling IP restrictions or login policies where Salesforce’s edition supports it, adding a layer of protection beyond the OAuth token itself
Permissions, on the other hand, necessitate attention on both sides of the connection.
The Salesforce side is where the principle of least privilege should be applied ā only offering field-level and object-level access to the data thatās necessary for reporting purposes (instead of a fully-privileged admin profile). This topic is much more important than it may seem at first, considering the fact that a compromised Power BI credential automatically inherits all the access permissions of the underlying Salesforce account.
The Power BI side usually relies on row-level security (RLS) to restrict what individual report viewers are allowed to see within a shared dataset. Itās a particularly relevant standard in situations where the Salesforce data includes information that should not be visible across every department or region. Workspace-level permissions in Power BI Service extend the controlling capabilities of who can edit, refresh, or share reports created on top of the Salesforce connection (separated from the ones that can only view them).
Common Salesforce to Power BI Use Cases
There have been several use cases for the integration of Salesforce and Power BI that we have mentioned in passing before. However, this is the time for us to elaborate a bit more on what such integration can offer and where it can be used to begin with.
Tracking sales performance with Salesforce and Power BI
The seemingly simple act of visualizing data using Power BI grants sales teams a lot of freedom to monitor trends, conversions, and pipelines with a much higher efficiency. The existence of interactive dashboards also makes it much easier to perform drill-down analyses that can help with finding areas for improvement, top performers, etc.
Marketing analytics with Salesforce Power BI dashboards
Properly visualized marketing and lead data can also improve the quality of ROI analyses. Being able to provide a clear and concise picture of a marketing campaignās performance and how it impacts the pipeline of sales can make a massive difference in the right circumstances.
Customer service insights using Salesforce to Power BI
Information from support cases and other customer interactions might also provide a lot of useful information when integrated with Power BI. The solutionās analysis and visualization capabilities simplify the process of improving customer satisfaction by finding patterns and trends of common issues, tracking resolution times, looking for potential improvements, and more.
Conclusion
Data-driven decision-making in Salesforce-oriented environments benefits massively from this integration with Power BI. There are multiple integration methods to choose from, including native options, custom scripts, and third-party tools. A good example of a preferred integration option would be GRAX Data Lake, which can act as a middleman between Salesforceās data and Power BI as the recipient without most of the complexities that native integration methods have.
Many businesses can gather a lot of useful insights and opportunities from this integration, be it:
- Collaboration improvements
- Customer relation enhancements
- Security environment optimization
- Improved data granularity for analysis
- Issue resolution, and so on.Ā
However, the integration process itself can be somewhat challenging if your company is not certain of what it wants to gain from this integration. Luckily, you can always take our insights about Power BI and Salesforce integration as your springboard to enhanced analytics, better decision-making, and stronger business outcomes.
Talk to a GRAX Data Specialist
Plan your Salesforce to Power BI integration.
Frequently Asked Questions
How does the Power BI Salesforce connector affect performance?
Two of the most resource-intensive types of data exchange in this context are real-time synchronization and extraction of large data sets. Most of the small-scope data extraction processes with decent optimization should not be able to cause anything bigger than a minor performance impact. The integration strategy should be adjusted if there is a sudden slowdown in the entire system during synchronization periods.
It should also be noted that the total performance impact of such integration would depend on the type of API chosen if the integration itself is performed using custom API scripts. For example, the SOAP API is going to be more flexible and more resource-intensive, while REST API is supposed to be more simple but also less taxing in terms of performance impact.
Can Salesforce Power BI integration write data back to Salesforce?
The default use case for Power BI is to act as a read-only tool in terms of external data sources (including Salesforce). However, the write-back functionality can be implemented with specific software or custom integrations.
Are there limits to importing Salesforce data into Power BI?
Depending on the license type of Power BI, there can be limits to dataset sizes that this software can import. The most noteworthy example is the 2000-row limit that Salesforce Reports has as a native integration method. Yet, most of the existing limitations should not be a concern for the majority of users. Even companies that work with large data sets should be fine with Power BI Premiumās limitations in the majority of use cases.
Which Power BI Salesforce connector option is best for enterprise organizations?
A lot of enterprise organizations tend to outgrow the range of capabilities that a native connector provides sooner rather than later, which is completely natural considering its row limits and the absence of real-time capability at scale. A custom API integration or a third-party ETL solution tend to work better in such cases, as both can provide the flexibility and scalability that enterprise reporting usually needs.
The most fitting option between these two primary approaches usually boils down to asking the question of whether there are enough in-house development resources to sustain a custom solution.
Should you use the native Power BI Salesforce connector or a third-party ETL tool?
As mentioned before, the decision between the two comes down to the specific needs of each business instead of a single option being universally better.
Scale and budget are usually two of the biggest differentiators. The native connector is going to work great for smaller datasets and standard reporting needs; a third-party ETL tool becomes a necessity once data volume, real-time requirements, or multi-source blending exceed the limits of what the native connector can handle.