Observations from the field

What actually breaks in a Saviynt data pipeline

Saviynt's own UI rarely tells you why an import silently dropped rows. Real failure modes from the data pipeline underneath, and why they matter more than the access-request screen everyone evaluates the platform on.

The observation

Saviynt gets evaluated, most of the time, on its access-request experience and its certification workflow: the parts a demo shows well. The parts that actually determine whether a rollout goes smoothly are upstream of all of that: the import pipeline that gets identities, entitlements, and roles from Workday, SAP, and Active Directory into the platform in the first place. When that layer has a problem, it rarely says so.

This is the same lesson as identity data generally (see why identity data matters more than the IAM tool), but Saviynt's own import mechanics have a few genuinely specific, non-obvious failure modes worth naming directly.

Silent failures, not error messages

The pattern across all of these is the same: nothing crashes, nothing logs an error a normal admin would notice, and the platform behaves as if the import simply succeeded, with fewer or different rows than it should have.

  • Source-system character encoding: a Workday feed carrying accented or non-Latin-1 characters can hit a genuine charset limitation in one of Saviynt's own built-in data-transform functions, which fails on those characters rather than passing them through. The import doesn't error; it just mishandles the affected records.
  • Database collation settings: a database configured with a case- and accent-insensitive collation will silently fold accented characters onto their unaccented base letter before any Saviynt logic even runs. An accent-based filter then matches everything, or nothing, with zero errors anywhere in the chain. This isn't a platform bug to report: it's a database-configuration decision that needs to match what the import actually expects.
  • Undocumented pipeline requirements: Saviynt's import pipeline supports real custom SQL logic operating on its own staging tables, but referencing anything outside the platform's standard tables from that custom logic has an undocumented prerequisite step. Skip it, and the result is a generic "table doesn't exist" error that gives no hint what's actually missing.

Filtering the feed, correctly

A common, entirely reasonable requirement (exclude a specific Personnel Area or business unit from governance entirely) has a right way and a wrong way to implement in Saviynt's import pipeline. The import filtering itself controls what enters the identity warehouse in the first place; a separate setting controls what happens to an identity that later disappears from the source feed. These answer two different questions, and configuring only one of them produces a result that looks correct in testing and is wrong in production the first time someone's Personnel Area code changes.

Worth checking before go-live: if your exclusion rule and your "identity dropped from feed" rule were configured by two different people, or at two different points in the project, confirm they actually agree with each other. This is a common, quiet gap, not a hypothetical one.

Schema limits that surface late

SAP-side access reporting (a User Access Review flattened down to individual transaction codes) is a request that sounds like a straightforward query against Saviynt's own data. Mapping the platform's real schema directly from working reports' own logic, rather than assuming it, surfaces a genuine limitation: the role-to-entitlement relationship Saviynt stores is the top-level link only. A composite role that resolves down through single roles to individual transaction codes doesn't have that full chain sitting in one table, ready to flatten into a report. Building that report means reconstructing the hierarchy, not just querying it, worth knowing before it's quoted as a quick addition to an existing report.

Why this matters more than the UI

None of this is a case against Saviynt: the platform's convergence of identity governance and privileged access on one data model is real and valuable. It's a case for evaluating and supporting it based on how its data actually moves, not on how its screens look in a sales demo. The organisations that get a clean rollout are the ones who profile the real source-system data and test the real import logic early, not the ones with the most polished access-request UI.

Key takeaways

  • Saviynt's import pipeline can fail silently on character-encoding and database-collation issues: no error, just wrong or missing data.
  • An "exclude this feed" filter and a "this identity dropped from the feed" setting answer different questions in Saviynt's import model. Configuring one without the other is a common, quiet gap.
  • Saviynt's role-to-entitlement schema stores the top-level link only: a full composite-role-to-transaction-code hierarchy has to be reconstructed, not assumed to already exist in one table.
  • Evaluate and support the platform on its data pipeline, not just its access-request screen: that's where a rollout actually succeeds or stalls.
See Identity Governance →

← All insights

Import pipeline behaving unpredictably?

A focused review of the data flow usually finds this faster than another round of guesswork against the UI.

Talk to us
Talk to us

Talk to us

Tell us a little about what you need, and we'll reply within one business day.

Prefer to book a call directly? →