By NHI Mgmt Group Editorial TeamPublished 2026-03-18Domain: Best PracticesSource: ConductorOne

TL;DR: Identity provisioning breaks down when joiner flows need live lookups, fallback rules, and write-backs across HRIS, directory, and IT systems, according to ConductorOne. The real shift is governance: custom joiner logic becomes manageable only when it stays inside the identity platform instead of scattered scripts and webhooks.


At a glance

What this is: This is a blog post about extending joiner provisioning with custom logic inside an identity platform, with the key finding that complex onboarding rules become governable only when they stay in-band.

Why it matters: It matters because joiner automation increasingly spans NHI-style integrations, workflow logic, and human approval paths, so IAM teams need controls that preserve auditability without turning onboarding into a shadow integration estate.

By the numbers:

👉 Read ConductorOne's post on extensible identity flows for joiner provisioning


Context

Joiner provisioning is the part of JML where identity is created from scratch, which makes it the hardest lifecycle stage to automate cleanly. The problem is not just account creation. It is the accumulation of naming rules, attribute transformations, conditional access, and downstream write-backs that quickly exceeds what static expressions or disconnected scripts can govern.

For IAM teams, that creates a familiar boundary problem. The work may start as human onboarding, but the implementation often touches NHI-style integrations, API calls, and workflow logic that must still be auditable, testable, and recoverable. When those steps sit outside the platform, the organisation inherits a hidden control plane instead of a governed joiner process.


Key questions

Q: How should teams govern complex joiner provisioning rules without relying on shadow scripts?

A: Treat joiner provisioning as governed workflow design, not ad hoc automation. Keep naming rules, conditional access, and downstream actions inside the identity platform where logging, versioning, and access control already exist. That lets IAM teams review policy changes, trace failures, and avoid a hidden integration layer that nobody owns.

Q: Why do joiner flows create more governance risk than simple account creation?

A: Joiner flows are generative, which means they do more than create an account. They combine policy decisions, live data lookups, and exception handling across multiple systems, so the risk is not just misprovisioning but unreviewed business logic that silently shapes access outcomes.

Q: What breaks when provisioning logic lives outside the identity platform?

A: The control boundary breaks first. External scripts and webhooks may still work, but they are harder to audit, version, and recover when they fail. That creates a governance gap where the logic that grants access is no longer managed with the access itself.

Q: How do security teams decide whether HRIS write-back is safe in joiner automation?

A: Allow write-back only for identity attributes that are finalised during provisioning and define ownership for each field. The key test is whether the update is a controlled lifecycle event with clear approval and reconciliation, rather than an uncontrolled data sync that can overwrite authoritative records.


Technical breakdown

Why joiner flows outgrow basic expressions

Joiner flows look simple until they have to resolve real-world identity collisions. Username generation, department-based group assignment, character limits, and conditional app access all depend on live data and exception handling. Basic expression languages can transform fields, but they are poor at querying state, applying multi-step fallback logic, and reacting to data that is only known at runtime. That is why teams drift toward scripts, webhooks, or external functions. The technical problem is not complexity for its own sake. It is that joiner provisioning combines decision logic, data lookup, and stateful orchestration in one transaction.

Practical implication: if your joiner rules require live lookups or branching fallbacks, treat them as workflow logic, not simple mappings.

How in-platform functions change the governance boundary

Placing custom logic inside the identity platform changes the control model. The function still performs work, but it inherits the platform's execution logs, role controls, and version history instead of living as an unmanaged external asset. That matters because joiner logic often touches directory creation, group grants, and downstream system updates in the same sequence. A sandboxed runtime reduces the chance that provisioning logic becomes an undocumented side service with its own secrets, deployment path, and failure mode. The value is less about code reuse and more about keeping the automation inside the same audit boundary as the identity event that triggered it.

Practical implication: keep joiner customisation in the governed workflow path so changes remain reviewable and traceable.

Why bidirectional HRIS write-back matters

Most identity stacks assume the HRIS is the source of truth and downstream systems only receive data. Joiner automation breaks that assumption because provisioning often finalises identity attributes after HR records are created. Work email, manager, employee ID, and department code may only become reliable once the account exists and related checks are complete. A write-back step turns the HRIS into a living record rather than a static intake form. Technically, this is a bidirectional identity flow, not a one-way connector pattern, and that distinction matters because it demands conditional logic, not just field synchronisation.

Practical implication: design for controlled write-back when provisioning finalises identity data that upstream systems cannot know in advance.


Read our 52 NHI Breaches Analysis report for a comprehensive view of breaches impacting Non-Human Identities including AI Agents.


NHI Mgmt Group analysis

Joiner provisioning is where identity governance breaks first because policy becomes procedural. The moment a joiner flow needs fallback usernames, live directory checks, and conditional downstream actions, the organisation is no longer just mapping fields. It is encoding business rules that behave like a control plane. That makes this a lifecycle governance problem, not a tooling convenience. Practitioners should treat joiner design as policy architecture, not workflow decoration.

Custom scripts outside the platform create a governance shadow that IAM teams rarely see until failure. External Lambda functions, webhooks, and ad hoc scripts may solve the immediate provisioning gap, but they also move logic outside the review boundary. When execution is detached from the identity platform, auditability becomes partial and recovery depends on whoever last edited the script. The implication is straightforward: governance collapses when the logic that grants access is no longer governed with the access itself.

Bidirectional identity flow is the named concept this post exposes. Joiner provisioning is not only about sending data downstream. It also writes identity data back upstream when the provisioning event completes attributes that the HRIS did not know at intake. That changes the governance model because source-of-truth assumptions no longer hold cleanly. Practitioners need to recognise that lifecycle systems can be both consumers and producers of identity state, which makes reconciliation, validation, and ownership more important than simple synchronisation.

Functions Author Agent shifts implementation effort, but not accountability. Natural-language generation can reduce the barrier to expressing joiner logic, yet the organisation still owns the policy, the review, and the approval of what runs. The important question is not whether code was hand-written. It is whether the resulting function reflects governed joiner intent and remains inspectable over time. IAM leaders should evaluate the control boundary, not the convenience layer.

Joiner governance is converging with NHI governance because the same failure patterns appear in both. Secrets embedded in scripts, unmanaged execution environments, and opaque integrations are not unique to service accounts. They also appear wherever identity workflows depend on long-lived automation. This is why lifecycle governance has to extend across human, NHI, and workflow logic with the same rigor. Teams that do not manage the automation layer inherit hidden identities whether they name them or not.

From our research:

  • Only 20% have formal processes for offboarding and revoking API keys, and even fewer have procedures for rotating them, according to Ultimate Guide to NHIs.
  • 71% of NHIs are not rotated within recommended time frames, increasing the risk of compromise over time.
  • For lifecycle depth, see NHI Lifecycle Management Guide for provisioning, rotation, and offboarding patterns that help close the same governance gap.

What this signals

Bidirectional identity flows will keep expanding as joiner automation becomes more policy-aware. That means IAM teams should expect provisioning logic to move closer to the control plane, not further away from it. The practical challenge is to preserve auditability while allowing genuine business exceptions to be expressed without creating a shadow integration estate.

Joiner automation is also becoming an NHI governance problem because the more systems it touches, the more API keys, service principals, and automation accounts it depends on. In our view, that is where many programmes underestimate exposure: the onboarding experience looks human, but the execution path increasingly depends on machine identities that must be inventoried and controlled.


For practitioners

  • Map joiner rules to explicit policy objects Separate naming, group assignment, attribute mapping, and exception handling into documented policy decisions before encoding them in workflow logic. This makes the joiner flow reviewable and reduces the chance that a one-off workaround becomes permanent business logic.
  • Keep custom provisioning inside the governed runtime Avoid moving core joiner logic into standalone scripts or unmanaged cloud functions unless you can enforce logging, versioning, secret handling, and access controls equivalent to the identity platform.
  • Treat HRIS write-back as a controlled lifecycle step Define which attributes may be written back after provisioning, who approves the write-back, and how exceptions are reconciled when downstream identity data changes after the initial HR record is created.
  • Audit non-human execution paths in onboarding Inventory the automation accounts, API keys, and integration steps used by joiner flows so hidden execution paths do not become undeclared identities outside your review cadence.

Key takeaways

  • Joiner provisioning is a lifecycle governance problem because it encodes policy, exceptions, and downstream system actions in one flow.
  • The operational risk comes from logic that escapes the identity platform, where auditability, versioning, and recovery become fragmented.
  • Teams should govern joiner customisation as controlled workflow design, especially when HRIS write-back and automation accounts are involved.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Non-Human Identity Top 10 address the attack and risk surface, while NIST CSF 2.0 and NIST Zero Trust (SP 800-207) set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
OWASP Non-Human Identity Top 10NHI-03Joiner flows often depend on API keys and automation accounts that need governed lifecycle controls.
NIST CSF 2.0PR.AC-4Custom provisioning logic must preserve least privilege and access traceability across the joiner flow.
NIST Zero Trust (SP 800-207)PR.AC-1Joiner automation should not assume trust outside the identity plane when calling external systems.

Inventory joiner automation identities and ensure every secret, token, and API key has ownership and revocation.


Key terms

  • Joiner Provisioning: Joiner provisioning is the process of creating a new identity and its initial access across connected systems. In practice, it combines account creation, attribute mapping, group assignment, and exception handling, so it becomes a policy exercise as much as an automation task.
  • Bidirectional Identity Flow: A bidirectional identity flow is an automation pattern where identity data moves both downstream into target systems and back upstream into the source record. It matters because provisioning can finalise attributes that were unknown at intake, making reconciliation and ownership part of the control design.
  • Governed Runtime: A governed runtime is an execution environment where custom logic runs under the same logging, access control, and versioning rules as the core identity platform. It reduces the chance that important provisioning decisions escape into separate scripts or unmanaged services.

Deepen your knowledge

Joiner provisioning governance is a core topic in the NHI Foundation Level course, the industry's only accredited NHI security programme. If your onboarding flows are already mixing identity policy with automation logic, the course is a practical next step.

This post draws on content published by ConductorOne: Extensible Identity Flows: How C1 Finally Made Joiner Provisioning Bend to Your Rules. Read the original.

NHIMG Editorial Note
Published by the NHIMG editorial team on 2026-03-18.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org