Jourier's Data Hub sits between Affinity and Tableau. Affinity data flows into the layer continuously (real-time CDC where supported, webhooks and polling otherwise), gets modeled to your business, and surfaces in Tableau as a clean dataset your team can build pipeline analytics, conversion-funnel reporting, and customer 360 dashboards on top of.

For teams that want more than a packaged BI experience, the same Data Hub feeds a bespoke data application coded in React and TypeScript, owned by your team. Tableau runs alongside the bespoke application or in front of it, depending on what each part of the business needs.

Custom fields, picklists, and record types in Affinity accumulate organically. Jourier's modeling captures the meaningful subset (the fields finance and revops actually use), keeps the rest auditable, and ships a layer your analysts can query without learning Affinity's object model first.

Tableau's permission model (projects, sites, groups, row-level security) needs to map to Affinity access policy. Jourier wires the permissions so Affinity data inherits security from the underlying source and from the org's identity provider — not from per-workbook configurations that drift over time.

Result: Tableau reports on Affinity read from a layer engineered for pipeline analytics, with definitions consistent across reports and across the rest of the operational stack.

Tableau is a per-seat licence model that becomes punishing as your business grows. Affinity reporting locked behind Tableau means every business stakeholder needs a seat, and every change goes through Salesforce's pace. Jourier's bespoke data application, coded in React and TypeScript and owned by your team, replaces Tableau for Affinity on your timeline. The same Data Hub feeding Tableau today feeds the new application tomorrow.

Can I connect Affinity to Tableau through Jourier?

Yes. Jourier builds a bespoke Affinity → Tableau integration through the Data Hub layer. Affinity data is modeled, kept current, and exposed to Tableau as a clean dataset your team can build pipeline analytics on top of. The same modeled tables can feed coded React applications and AI assistants alongside Tableau, so the numbers stay consistent regardless of which surface a stakeholder uses. No connector licence fees if you self-host the data layer.

Is the Affinity → Tableau sync real-time?

Where Affinity supports change-data-capture, yes — updates surface in Tableau within seconds. Where it doesn't, scheduled polling and webhooks keep the layer current at the cadence the business actually needs (5 minutes for operational dashboards, hourly for finance, daily for archival). Time to first sync is typically instant to one day. The Data Hub holds the canonical state, so reports and dashboards never read directly from Affinity's API.

What does a Affinity → Tableau engagement cost?

Bespoke project, scoped to the Affinity workflows that matter and the Tableau reports your team actually uses. Pricing is project-based, not subscription-based — a fixed-fee build for the data layer + the Tableau dataset, then optional managed-services if you want Jourier to run it. No per-seat licences from Jourier, no platform fees if you self-host. Tableau licences are paid directly to Salesforce; we never mark them up.

Who owns the Affinity → Tableau integration code?

You do. Pipelines, data model, semantic layer config, Tableau dataset definitions, documentation: all yours. Self-host or have us host. Hand it to another vendor whenever you want, or take it over with your own team. Jourier delivers everything as code in a repository you own, with runbooks for how to operate it. No lock-in, no per-engagement licence.

Can I move off Tableau later but keep the Affinity integration?

Yes. The Data Hub feeds Tableau today, and the same layer feeds open-source dashboards (Apache Superset, Metabase, Grafana), a bespoke React application, or a different vendor BI tool tomorrow. The Affinity side of the integration — the pipeline, the modeling, the access controls — is unchanged when you switch front-ends. Most of our customers keep multiple consumers running in parallel during a transition window.

How long does a Affinity → Tableau engagement take?

First sync of Affinity data is typically instant to one day. A scoped engagement covering Affinity plus the Tableau reports that matter usually runs four to eight weeks. Bigger transformations are split into phases, each shipping value before the next begins. Jourier handles the Affinity pipeline, the modeling, the Tableau dataset, and the access controls. Your team validates the reports and trains the analysts.

Can existing Tableau reports built on Affinity be migrated to the new model?

Usually yes. Most existing Tableau reports become thin wrappers over the new modeled tables — the report logic stays, the data source switches from a direct Affinity connector to the Data Hub. Jourier audits the existing Tableau workspace, identifies what's worth keeping, and rebuilds report-by-report against the new model. Reports that were workarounds for Affinity's data shape get simplified or retired.

How do permissions work for Tableau pulling Affinity data?

Permissions live in the Data Hub, not in Tableau. Each Tableau user authenticates against your identity provider; the dataset that Tableau reads is filtered server-side based on the user's role, region, or department. Tableau's own row-level security still works on top of this. Result: a sales rep in Helsinki and one in New York hitting the same Tableau dashboard see different rows automatically, with the rule defined once in the layer.

Get started

Let’s discuss connecting Affinity to Tableau.

Book a meeting
Aleksi Stenberg Founder & CEO