Introduction
In complex, multi-country onboarding programs, the data we need to collect from new hires often depends on internal business logic. For instance, a role might be eligible for night shifts, require transport support, or fall under a high-risk location — but these decisions aren’t something we want candidates or hiring managers to manually provide.
Instead of storing these as standard fields, we approached them as derived logic — values inferred from known details like the candidate’s country or department or division and used only to shape the onboarding experience behind the scenes.
To avoid clutter and keep the configuration clean, we introduced virtual decision flags that are evaluated at runtime through a lookup table. These flags help us assign the right Additional Data Collection (ADC) UI, so each candidate sees only the fields that are relevant to their specific onboarding context.
What We Wanted to Solve:
We needed a setup that would:
Scenario Example: Global Onboarding Field Variations
Let’s consider a multinational organization onboarding employees across regions like India, Germany, UAE, etc.
The Logic Behind the UI
To make this work, we defined four internal logic flags:
These flags are resolved dynamically based on EC values (like country) via a lookup table.
Decision Fields:
Field ID | Label | Type | Sample Values |
nightShiftEligibility | Eligible for Night Shift | Boolean | Yes / No |
commuteSupportRequired | Requires Company Transport | Boolean | Yes / No |
workLocationType | Work Location Type | Picklist | Office |
employmentZone | Employment Zone | Picklist | Metro |
ADC UI:
Field ID | Label |
acknowledgeNightShift | Acknowledge Night Shift Assignment |
isRelocationNeeded | Do you need to relocate for this job? |
hasExistingHealthIssues | Do you have any ongoing medical conditions? |
awareOfLocalLanguage | Comfortable with Local/Regional Language |
tShirtSize | T-Shirt Size |
preferredTrainingSlot | Preferred Training Time Slot |
hasSafeCommute | Do you have a safe way to commute? |
alreadyVaccinated | Are you fully vaccinated? |
requireAccommodationSupport | Do you require assistance in finding accommodation? |
Lookup Table Sample:
nightShiftEligibility | commuteSupportRequired | workLocationType | employmentZone | ADC UI |
Yes | Yes | Office | Metro | acknowledgeNightShift, hasSafeCommute, alreadyVaccinated |
Yes | No | Field | High-Risk Area | acknowledgeNightShift, hasExistingHealthIssues, awareOfLocalLanguage |
No | Yes | Remote | Non-Metro | isRelocationNeeded, requireAccommodationSupport, hasSafeCommute |
Yes | Yes | Remote | High-Risk Area | acknowledgeNightShift, requireAccommodationSupport, awareOfLocalLanguage |
No | No | Office | Metro | tShirtSize, preferredTrainingSlot, alreadyVaccinated |
Yes | Yes | Field | High-Risk Area | acknowledgeNightShift, hasExistingHealthIssues, tShirtSize |
No | No | Remote | Non-Metro | awareOfLocalLanguage, preferredTrainingSlot, alreadyVaccinated |
Yes | No | Remote | Metro | acknowledgeNightShift, preferredTrainingSlot, isRelocationNeeded |
How We Designed It
To make this work, we followed a simple and scalable configuration model:
This way, the entire logic layer sits quietly in the background — while candidates only see what truly applies to them.
MDF Object for Lookup:
Lookup Data Sample:
Business Rule:
Conclusion:
This setup gave us exactly what we needed: a way to deliver context-aware onboarding without making the configuration messy or exposing internal decision-making to users.
By using standard SuccessFactors tools — lookup tables, business rules, and Configuration UI — we kept things clean, flexible, and scalable.
It’s a great example of how thoughtful logic design can quietly power a much better experience for both the business and the new hire.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 21 | |
| 16 | |
| 13 | |
| 9 | |
| 8 | |
| 7 | |
| 7 | |
| 6 | |
| 6 | |
| 6 |