A platform-by-platform breakdown of embedding Tableau in SharePoint, Salesforce, WordPress, Confluence, and PowerPoint - and why external audiences need a different approach.
Microsoft SharePoint supports embedding Tableau dashboards through two primary methods. The first is the Tableau-provided web part (TableauEmbeddedView), which an administrator deploys to your SharePoint server and provides a configuration panel for specifying the Tableau Server name, view path, and authentication settings. The second is a standard iframe embed placed inside SharePoint's Embed Code web part - you copy the share link from your Tableau dashboard, wrap it in an iframe tag, and paste it into the page.
If your organization uses Azure Active Directory and your Tableau Server is configured for Active Directory authentication, users already signed into Microsoft 365 can access Tableau content without a separate login. This works because SharePoint and Tableau are both trusting the same identity provider. For organizations that use Tableau's local authentication instead of Active Directory, additional configuration is required - including trusted authentication setup and user mapping between the two systems.
SharePoint embedding is a reasonable choice for internal teams that already live in the Microsoft 365 ecosystem. Putting a Tableau dashboard on an internal SharePoint page is a low-friction way to make data available where people already work. The integration requires minimal development effort - an admin can deploy the web part and have dashboards visible on team sites within an afternoon. For organizations that have standardized on SharePoint as their intranet, this keeps analytics discoverable alongside documentation, project pages, and team resources.
External sharing through SharePoint is where the experience deteriorates significantly. External users need guest Azure AD accounts, which introduces IT overhead for every person outside your organization who needs dashboard access. Each guest account must be provisioned, managed, and eventually deprovisioned - a process that scales poorly when you have dozens or hundreds of external contacts across multiple clients.
The user experience for external guests is also clunky. They receive invitation emails, need to accept permissions, and navigate an interface designed for internal Microsoft 365 users. For clients who do not use Microsoft products, the SharePoint environment feels foreign and confusing.
Branding is limited to whatever SharePoint's theming system allows. You cannot make the experience look like your own product. Row-level security requires configuration in both Tableau and SharePoint's permissions model, with no native mapping between them - meaning you are maintaining two separate access control systems that need to stay in sync.
Since Salesforce's acquisition of Tableau, the two platforms have a native integration through the Tableau View Lightning web component. Salesforce administrators can drag and drop this component onto any Lightning page - App pages, Home pages, and Record pages - and configure it by providing the URL to a Tableau view. The component supports context filtering (automatically filtering the dashboard based on the Salesforce record being viewed) and advanced filtering (mapping specific Tableau fields to Salesforce fields).
For authentication, the Tableau View LWC supports token-based single sign-on, so users signed into Salesforce can view embedded Tableau dashboards without re-authenticating. This requires a one-time setup by a Salesforce admin: enabling token-based SSO in the Tableau Embedding settings and configuring a host mapping between Salesforce and your Tableau Cloud or Server instance.
Note that the older open-source Tableau Viz LWC was retired from AppExchange in May 2024 and replaced by this native Tableau View component. If you are following older documentation or tutorials, be aware that the integration method has changed.
If your use case is surfacing analytics to internal sales, service, or operations teams who already work in Salesforce all day, this integration is excellent. The dashboards appear in context alongside CRM data, and context filtering means a sales rep viewing an Account record can automatically see that account's analytics without manually selecting filters. This reduces friction and increases adoption - the data appears where the decision is being made.
The drag-and-drop setup also means Salesforce admins can configure embedding without involving developers, which lowers the barrier to getting dashboards in front of users quickly.
External sharing through Salesforce requires Experience Cloud (formerly Communities), a separate Salesforce product with its own licensing and complexity. Experience Cloud is a full portal platform - powerful, but expensive and complex to configure for the narrow use case of sharing Tableau dashboards. If your only goal is getting dashboards to external clients, Experience Cloud introduces far more infrastructure than you need.
You are also locked into the Salesforce UI with no white-labeling. Your clients see Salesforce's interface, not yours. Row-level security still needs separate configuration in Tableau, and mapping Salesforce user identities to Tableau permissions requires careful setup. The SAML SSO requirement means the identity provider used for Tableau authentication must be either the Salesforce IdP or the same IdP used for your Salesforce instance - limiting flexibility for organizations with complex identity environments.
And the fundamental constraint: if your external audience does not use Salesforce, forcing them into a Salesforce portal adds friction rather than removing it.
WordPress supports Tableau embedding through three approaches. The simplest is an iframe embed: copy the share link from Tableau, wrap it in an iframe tag, and paste it into a WordPress page or post using the HTML editor or a Custom HTML block. The second approach uses the Tableau Embedding API v3 - you add the Tableau JavaScript library to your page and use the <tableau-viz> web component for more control over filters, parameters, and interactivity. The third uses third-party WordPress plugins that provide shortcodes or configuration panels for embedding Tableau views without writing code.
The iframe approach takes about five minutes. The Embedding API approach gives you programmatic control but requires JavaScript knowledge. The plugin approach varies in quality - some are maintained actively, others have not been updated in years.
WordPress embedding works well for public-facing dashboards that do not require authentication or data isolation - showcasing visualizations on marketing sites, blog posts, or public data portals. If you have a Tableau Public dashboard and want it visible on your company website, WordPress embedding is fast and effective. The dashboard renders interactively, users can filter and explore, and the setup requires no backend infrastructure.
It is also a reasonable choice for internal dashboards behind a basic WordPress membership plugin, where all authenticated users see the same data and there is no need for per-client data isolation.
There is no built-in authentication or row-level security. WordPress has no native mechanism to map a logged-in WordPress user to a Tableau user identity, which means there is no straightforward way to ensure Client A sees only their data. Plugins that attempt to bridge this gap are typically thin wrappers around iframes that add configuration convenience but do not solve the underlying security problem.
For client-facing reporting where each client should only see their own data, WordPress has no answer without extensive custom development - essentially building a full authentication and RLS layer on top of WordPress, which means you are now maintaining a custom application that happens to run inside a CMS. At that point, the WordPress layer is adding complexity without adding value.
Performance can also be an issue. Tableau views embedded via iframe in WordPress pages compete with WordPress's own resource loading (themes, plugins, scripts), and the combined page weight can lead to slow load times, especially on shared hosting.
Atlassian Confluence supports Tableau embedding through its iframe macro or custom HTML macro. Teams place dashboard embeds alongside project documentation on wiki pages. Some organizations use third-party Confluence apps from the Atlassian Marketplace that provide tighter Tableau integration, though these vary in quality and maintenance.
The setup is similar to WordPress: copy the Tableau share link, paste it into a macro that accepts HTML or iframe content, and the dashboard renders inline on the Confluence page. For Confluence Cloud, you may need to use the \"iframe\" macro or a third-party app, as Confluence Cloud restricts custom HTML by default for security reasons.
Confluence embedding is useful when you want to put a dashboard next to the documentation that explains it. For internal data teams maintaining knowledge bases, the combination of analytics and documentation on the same page adds genuine context. It is particularly effective for operational dashboards that support runbooks or SOPs: the team can see the dashboard and the response procedures side by side.
Confluence is an internal tool. It is designed for team collaboration, not for external audiences. Granting external users access to Confluence, even to a limited set of pages, exposes your internal documentation structure, creates licensing overhead (Confluence charges per user), and provides an experience that feels like navigating someone else's internal wiki rather than accessing a professional reporting interface.
Security is page-level, not data-level. You can control who sees a Confluence page, but you cannot control what data they see within a Tableau dashboard embedded on that page without separately configuring Tableau's own row-level security. Branding is entirely Confluence - there is no customization possible beyond what Confluence's theming allows.
Historically, teams embedded Tableau in PowerPoint by exporting dashboards as static images or PDFs and pasting them into slide decks. Tableau Desktop, Tableau Server, and Tableau Cloud all support exporting views as images, PDFs, or crosstab data. Some teams automate this with Tableau's REST API or the tabcmd command-line tool, generating exports on a schedule and dropping them into shared folders where PowerPoint decks reference them.
This is changing. The Tableau App for Microsoft 365 now brings Tableau visualizations and Pulse metrics directly into PowerPoint and Word, in addition to the existing Microsoft Teams integration. Users can embed live Tableau content into their slides and documents through the Microsoft 365 add-in system, with one-click refresh to pull the latest data. The app respects Tableau permissions, so users only see content they are authorized to access. This is a significant step beyond the screenshot-and-paste workflow that has defined the PowerPoint experience for years.
PowerPoint remains the right choice for specific, time-bounded presentations: board meetings, quarterly business reviews, investor updates, and one-time client meetings where you walk someone through a prepared narrative about the data. The presenter controls the story, the audience follows a linear flow, and curated snapshots are actually an advantage - there is no risk of a live filter accidentally revealing the wrong data during a presentation.
With the Tableau App for Microsoft 365, the experience is improving for recurring internal presentations. Teams can embed views that refresh on demand, reducing the manual effort of re-exporting and re-pasting screenshots before each meeting. For organizations already standardized on Microsoft 365, this integration fits naturally into existing workflows.
Even with live embedding improvements, PowerPoint is fundamentally a presentation tool, not a distribution platform. It does not support self-service exploration - audiences cannot independently filter, drill down, or explore the data outside of a live presentation context. There is no built-in row-level security beyond manually creating separate decks for separate audiences or relying on Tableau's own permissions (which require each viewer to have a Tableau account).
Scalability remains the core limitation. If you have 50 clients who each need a weekly personalized report, PowerPoint means 50 versions of the same deck. And for external audiences who do not have Microsoft 365 accounts, the live embedding features are inaccessible; they are back to receiving static exports.
For organizations on Google Workspace, the Tableau Add-on for Google Workspace (available free on the Google Workspace Marketplace) enables embedding Tableau dashboards and Pulse metrics directly within Google Slides, Google Docs, and (in a future release) Google Sheets. The integration uses Google's Smart Chip technology, allowing users to browse and discover Tableau content natively within their documents and presentations.
The add-on supports one-click refresh, so all embedded Tableau content updates on demand with the latest data. Users authenticate with Tableau directly within Google Workspace, and the app leverages Tableau permissions to ensure users only see content relevant to them. The Smart Chip integration also creates a feedback loop - users can click through from a Google Doc or Slide back to Tableau when deeper analysis is needed.
For teams that live in Google Workspace rather than Microsoft 365, this integration fills the same niche that the Tableau App for Microsoft 365 fills for PowerPoint and Word. It is particularly effective for collaborative workflows: a team can build a strategy document in Google Docs with embedded Tableau metrics that stay current, or assemble a client-facing slide deck in Google Slides with refreshable dashboard snapshots.
The security model is a meaningful improvement over the screenshot workflow. Because the add-on respects Tableau's permissions, there is no risk of someone pasting a screenshot of data they should not have shared into a widely distributed document. The data stays governed even when it moves into presentation and documentation tools.
The same fundamental limitations apply as with PowerPoint: Google Slides and Docs are authoring and presentation tools, not distribution platforms. They are excellent for creating documents that contain data; they are not designed for ongoing, self-service access to live dashboards by external audiences.
External sharing through Google Workspace relies on Google's sharing model - sharing a Google Doc with an external contact shares the document, not a governed analytics experience. There is no per-client data isolation, no branded portal experience, and no way to manage access at scale without managing Google sharing permissions for each document individually.
Here is the pattern we see repeatedly: a team searches for how to embed Tableau in SharePoint, or WordPress, or Salesforce because they are trying to solve a distribution problem. They have dashboards and need people to see them. The first instinct is to put dashboards where the audience already is - and that instinct is worth examining carefully, because the right answer depends entirely on who the audience is.
For internal audiences, platform embedding usually makes sense. If your colleagues use SharePoint, putting dashboards in SharePoint reduces friction. If your sales team lives in Salesforce, embedding in Lightning pages surfaces data in context. If your data team uses Confluence, putting dashboards next to documentation creates a useful reference. The audience is already authenticated, the platform is already maintained, and the integration effort is modest.
But for external audiences, the calculus changes completely. Your clients do not use your SharePoint. Your partners do not have Salesforce logins. Your board members are not browsing your Confluence wiki. The platform your team uses internally is not the platform your external audience should be forced into.
For external audiences, the right answer is usually not to embed Tableau into an existing platform at all. It is to give your audience a dedicated, branded place to access their dashboards - a reporting portal that handles authentication, row-level security, branding, and the user experience in one purpose-built package.
A reporting portal is platform-agnostic by design. It does not depend on SharePoint, Salesforce, WordPress, or any other CMS. It connects directly to your Tableau Server or Tableau Cloud instance and presents dashboards through its own interface, branded with your logo, your colors, and your domain.
This means you do not need to pick a CMS platform and work around its limitations. Every external client gets the same consistent experience regardless of what tools your internal team uses. Row-level security is configured in one place and enforced automatically. You can add or remove clients without provisioning CMS accounts, guest Azure AD accounts, or Experience Cloud licenses. And your analytics team manages the portal without needing IT, web development, or Salesforce admin support.
The internal-vs-external distinction is key. You can use SharePoint or Salesforce embedding for internal teams while using a dedicated portal for external audiences. These are not competing approaches. They solve different problems for different audiences.
Portal Panda gives your external clients a secure, white-labeled interface to access Tableau dashboards — with zero custom code.
Book a Demo