This page assumes you’ve already connected your HR system or identity provider as a C1 directory and added connectors for the systems JML should act on.
Start with your HR system
Every JML event starts with a change in your directory — your HRIS or identity provider, whichever you’ve designated as the source of truth. When that source reflects a hire, a role change, or a termination, C1 picks it up on the next directory sync and makes the change available to trigger automations and access profile enrollment. Automation triggers give you the building blocks: User Created fires when a new person is synced in; User Updated fires on any attribute change and lets you compareoldUser and newUser to detect a specific transition — a department change, an employment status flip from active to terminated, and so on.
You’re not limited to waiting for the next scheduled sync, either. If your HRIS can call out over HTTP, an inbound webhook lets it trigger the automation directly — authenticated with HMAC or JWT — the moment a record changes, instead of on a polling interval.
Joiner: provision before day one
When a new hire is created in your directory, C1 can grant their baseline access automatically:- Access profiles handle the broad strokes. Access profiles scoped by department, role, or location are what’s commonly known as birthright access — a curated bundle of apps and entitlements a person gets because of who they are, not because they asked. Membership automation enrolls a new hire in the right profiles as soon as they match the profile’s condition, with enrollment approval and provisioning able to run on auto-approve for low-risk access.
- Custom automations handle anything more specific — creating a department-specific account, notifying a team, sending a welcome email. See the employee onboarding example, triggered on User Created.
Mover: recalculate access on a role change
When someone’s department, title, manager, or location changes, their access should change with it — old-role access removed, new-role baseline granted. Two mechanisms handle this, and you can use either or both:- Membership automation reacts on its own. Because access profile enrollment is condition-based, a role change that makes a user stop matching one profile and start matching another triggers unenrollment from the first and enrollment in the second automatically — no separate “mover” logic required, it’s the same joiner/leaver mechanism evaluated continuously.
- Build it explicitly with an automation when you need more control than profile enrollment gives you — for example, notifying the new manager, handling entitlements that aren’t managed through a profile, or reconciling access in a tool C1 doesn’t directly manage via a Function. See the Role transfer (department change) pattern in automation examples: a User Updated trigger that detects a department change and revokes the old department’s entitlements while granting the new baseline — the example has the exact trigger condition.