← Hub
Pulse ← Library ⚡ Hire a Fractional CRO
Pulse Software

How to create a custom dashboard in Tableau that pulls live data from both Salesforce and Zendesk?

Kory White, Chief Revenue OfficerCurated by Chief Revenue Officer Kory White · CRO Syndicate · 📄 1-Page Resume
👍 Yup or 👎 Nope — vote this up its category:
📅 Published · 6 min read

Direct Answer

To create a custom Tableau dashboard pulling live data from both Salesforce and Zendesk, you must first establish a unified data layer via Tableau's native connectors or a cloud data warehouse like Snowflake, then build calculated fields to map sales and support metrics into a single view.

In 2027’s RevOps reality—where AI-driven forecasting, vendor consolidation (e.g., Salesforce acquiring Tableau, Zendesk integrating with CRMs), and buying committees of 8–12 stakeholders extend cycles by 30%—this dashboard becomes a single source of truth for pipeline health, support ticket impact on renewals, and customer sentiment.

The key is real-time sync: use Tableau’s Salesforce Connector for CRM objects (Opportunities, Accounts) and Zendesk Connector (via OAuth or API) for tickets and satisfaction scores, then blend on Account ID or Contact Email. Avoid manual exports—leverage Tableau Prep Builder for incremental refreshes every 15 minutes to keep dashboards actionable for weekly GTM reviews.

Below is the exact step-by-step process, from data extraction to final visualization, with two Mermaid diagrams to guide your architecture decisions.

Why a Unified Salesforce + Zendesk Dashboard Matters in 2027

The 2027 RevOps market demands cross-functional visibility. With AI tools like Gong analyzing call transcripts and Clari predicting deal outcomes, your dashboard must correlate support interactions (Zendesk) with pipeline movement (Salesforce) to catch early churn signals.

For example, a deal with 5+ open tickets in the last 30 days has a 40% lower close rate, per Gong Labs data. Buying committees now average 9 members (Gartner), so tracking ticket severity by account hierarchy is non-negotiable. A custom Tableau dashboard lets you:

Step 1: Set Up Data Sources in Tableau

Connect to Salesforce

  1. Open Tableau Desktop (2025.3+ recommended for enhanced connector performance).
  2. Select Salesforce from the connector list. Use OAuth 2.0 for secure, token-based access (no password storage).
  3. Choose objects: Opportunity, Account, Contact, Task (for activity history). Use a custom SOQL query to filter by CreatedDate >= DATEADD('month', -12, TODAY()) to reduce load.
  4. For live data, enable Live Connection (vs. Extract) if your Salesforce instance has < 1M rows; otherwise, use an Extract with a 15-minute refresh schedule via Tableau Server.

Connect to Zendesk

  1. In the same workbook, add a new connection: Zendesk (available in Tableau’s “Connectors” list as of version 2024.1).
  2. Authenticate via API Token (generate in Zendesk Admin > Apps > API). Enter your subdomain (e.g., yourcompany.zendesk.com).
  3. Select Tickets, Ticket Metrics, and Satisfaction Ratings. Filter by status != &#39;deleted&#39; and updated_at &gt;= TODAY() - 30 for performance.
  4. Use Live Connection for real-time ticket updates; Zendesk’s API handles up to 700 requests per minute, sufficient for mid-market firms.

Blend on Account ID

Step 2: Build Calculated Fields for Key Metrics

Pipeline Health Score

``tableau IF [Opportunity.Stage] = &quot;Closed Won&quot; THEN 100 ELSEIF [Opportunity.Stage] = &quot;Negotiation&quot; THEN 75 ELSEIF [Opportunity.Stage] = &quot;Proposal&quot; THEN 50 ELSE 25 END ``

Churn Risk Flag (AI-Inspired)

``tableau IF [Zendesk.Ticket Status] = &quot;Open&quot; AND [Zendesk.Ticket Priority] = &quot;High&quot; AND [Opportunity.Stage] IN (&quot;Closed Lost&quot;, &quot;Negotiation&quot;) THEN &quot;High Risk&quot; ELSEIF [Zendesk.Satisfaction Score] &lt; 3 AND [Opportunity.Amount] &gt; 50000 THEN &quot;Medium Risk&quot; ELSE &quot;Low Risk&quot; END ``

Buying Committee Engagement

``tableau COUNTD([Contact.Id]) &gt; 5 AND [Opportunity.Stage] = &quot;Proposal&quot; THEN &quot;High Engagement&quot; ELSE &quot;Normal&quot; END `` This field, when combined with Zendesk Ticket Count, reveals if support issues are stalling committee decisions.

Step 3: Design the Dashboard Layout

Key Sheets to Include

  1. Pipeline by Account with Ticket Overlay: A scatter plot with SUM(Opportunity.Amount) on X-axis and COUNT(Zendesk.Ticket ID) on Y-axis, colored by Churn Risk Flag.
  2. Ticket Resolution Time by Stage: A box plot showing median time-to-resolution (Zendesk) per Opportunity Stage, filtered by CreatedDate &gt; TODAY() - 90.
  3. Buying Committee Heatmap: A matrix of Account vs. Stakeholder Role (from Salesforce Contact), with Zendesk Ticket Count as the color gradient.
  4. AI-Predicted Close Probability: Use Tableau’s Analytics Pane to add a Model (linear regression) predicting Close Probability based on Ticket Volume and CSAT Score.

Dashboard Actions for Drill-Down

Step 4: Automate Refresh and Alerts

Tableau Server/Cloud Schedule

Alerting via Tableau’s Built-in Notifications

``tableau IF [Churn Risk Flag] = &quot;High Risk&quot; AND [Opportunity.Amount] &gt; 100000 THEN &quot;Alert&quot; END ``

Decision Tree: Which Data Architecture to Use?

flowchart TD A[Start: Data Volume & Latency Needs] --> B{Total rows < 1M?} B -->|Yes| C[Use Live Connections] C --> D{Need real-time Zendesk updates?} D -->|Yes| E[Direct Zendesk Connector, Live] D -->|No| F[Extract with 15-min refresh] B -->|No| G[Use Snowflake or Redshift as Middleware] G --> H{Can you write ETL?} H -->|Yes| I[Sync Salesforce & Zendesk to Snowflake via Fivetran] I --> J[Connect Tableau to Snowflake, Extract daily] H -->|No| K[Use Tableau Prep for scheduled extracts] K --> L[Blend in Tableau Desktop, then publish] E --> M[Final Dashboard Published to Tableau Cloud] F --> M J --> M L --> M

*This decision tree helps you choose between live connections (low volume) and a cloud warehouse (high volume) for 2027-scale data.*

Process Loop: Continuous Dashboard Optimization

flowchart LR A[Extract Salesforce & Zendesk Data] --> B[Blend on Account ID] B --> C[Apply AI Models for Churn & Close Probability] C --> D[Publish Dashboard to Tableau Cloud] D --> E[Monitor Alerts & User Feedback] E --> F[Adjust Calculated Fields & Filters] F --> A

*This loop ensures your dashboard evolves with changing buying committee behavior and AI model updates (e.g., from Gong or Clari).*

FAQ

How do I handle mismatched Account IDs between Salesforce and Zendesk? Create a lookup table in Excel or Snowflake mapping Zendesk Organization ID to Salesforce Account ID. Use Tableau’s Data Blending with a custom SQL join on this table. For 2027, tools like Workato can automate this mapping via API.

Can I use Tableau’s built-in AI to predict churn from ticket data? Yes—enable Tableau Einstein Discovery (included with Tableau Cloud 2025+) to train a model on historical ticket volume, CSAT, and deal outcomes. It outputs a Churn Probability field you can add to your dashboard.

What if my Zendesk data has > 500K tickets? Use a Snowflake or BigQuery intermediate layer. Sync Zendesk data every 15 minutes via Fivetran or Stitch, then connect Tableau to the warehouse. This avoids API rate limits and improves query speed.

How do I ensure the dashboard refreshes without manual intervention? Set Tableau Cloud to auto-refresh the extract every 15 minutes. For live connections, Tableau Server can be configured to query the source on each dashboard load—but limit this to < 50 concurrent users to avoid Salesforce API throttling.

Can I embed this dashboard in Salesforce or Zendesk? Yes—use Tableau’s Embedding API to render the dashboard in a Salesforce Lightning component or Zendesk Guide article. In 2027, Salesforce’s Einstein Copilot can surface Tableau insights via natural language queries like “Show me high-risk accounts.”

What’s the best way to visualize buying committee activity? Use a Sankey diagram (via Tableau’s Show Me or a custom extension) to show the flow from Account → Stakeholder Role → Ticket Status. Alternatively, a heatmap with Account on rows and Week on columns, colored by ticket count, reveals engagement patterns.

Bottom Line

Building a custom Tableau dashboard that merges live Salesforce and Zendesk data is a foundational RevOps capability in 2027, enabling you to correlate support health with pipeline velocity. By following the steps above—selecting the right data architecture, crafting calculated fields for churn risk, and automating alerts—you’ll equip your GTM team to act on real-time signals from buying committees.

Start with a live connection for small datasets, then scale to Snowflake as your data grows, and always test your dashboard with actual sales and support stakeholders.

Sources

*Building a custom Tableau dashboard for live Salesforce and Zendesk data in 2027 requires real-time blending, AI-driven churn flags, and automated alerts to support complex buying committees and extended sales cycles.*

Keep reading
Was this helpful?  
⌬ Apply this in PULSE
Free CRM · Revenue IntelligenceAudit pipeline, score reps, ship the fixIndustry KPIs · SaaSThe 9 sales KPIs that matter for SaaS
Related in the library
More from the library
pulse-resorts · resortsTop 10 Resorts in New Zealandpets · pet-careHow often should I take my dog to the vet for a checkup?software · software-comparisonHow does Notion compare to Confluence for team documentation?software · software-comparisonHow to automate social media posting with Buffer vs Hootsuite?software · software-comparisonTop 10 HR software for small teams in 2027software · software-comparisonTop 10 SEO tools for organic growth in 2027pets · pet-careTop 10 Snail-Free Algae Eaters for Small Community Aquariums in 2027software · software-comparisonWhat are the top AI tools for automating customer support tickets in 2024?software · software-comparisonTop 10 recruitment software with AI screening in 2027software · software-comparisonWhat is the best CRM for real estate agents—Follow Up Boss or kvCORE?pulse-resorts · resortsTop 10 Resorts in Kauaipets · pet-careTop 10 Smart Pet Feeders for 2027pulse-resorts · resortsTop 10 Resorts in Cancún
Was this helpful?