You can use automations with user-specific time conditions to create a structured onboarding experience. By linking widgets, journeys, and notifications to the contract start date, each learner sees exactly the right content during their first weeks and months.
Learning objectives
By the end of this article, you will be able to:
Build an onboarding dashboard using widgets in the discovery stream
Use contract start date as a condition in automations
Unlock journeys, activities, and widgets over time
Add notifications to guide learners during onboarding
Step 1: Create your content
Start by creating the journeys and adding the activities you want learners to complete during onboarding. Think of these as your building blocks: Welcome activities, compliance modules, product training, or team introductions.
For example:
Learning bite 1: Welcome
Learning bite 2: Basic I
Learning bite 3: Basic II
Learning bite 4: Advanced I
Learning bite 5: Expert
Journey 1: Safety
Journey 2: Security
Step 2: Add widgets to the stream
Remember, widgets determine how content is displayed in the discovery stream. For a default Newbies Onboarding dashboard, we recommend:
Spotlighted activity: Welcome to newbies
Included activity: Learning bite 1: Welcome
Featured activities: Belgium onboarding
Included activities:
Learning bite 2: Basic I
Learning bite 3: Basic II
Learning bite 4: Advanced I
Learning bite 5: Expert
Magic wall: Fun fact
Journey slider: Important concepts
Included journeys:
Journey 1: Safety
Journey 2: Security
Place the widgets in the stream in the order you want learners to see them.
⚠️ Important:
Each widget is only a container. You still need automations to unlock them and their content. Without an automation the container is visible to everyone.
A widget with no enabled unlock automation is shown to every learner, because the automation is what limits a widget to an audience. This also means that if you switch off the only automation that unlocks a widget, everyone will see it. If you want nobody to see a widget, keep an enabled automation on it that matches nobody, or remove the widget from the stream.
The same goes for an activity without an unlock automation. Unless the setting that hides content without an automation is switched on, every user gets it in My progress.
Step 3: Define your automations
You will use automations to control when onboarding content appears.
💡 Tip:
We recommend you create a little calendar to help you creating these automations. For example:
Week | From | To |
Preboarding (week 0) | 7d before | 1s before |
Week 1 | 0h after | 6d 23h 59m after |
Week 2 | 7d after | 13d 23h 59m after |
Week 3 + 4 | 14d after | 27d 23h 59m after |
Month 2 | 28d after | 55d 23h 59m after |
Month 3 | 56d after | 83d 23h 59m after |
Unlocking widgets:
The widget automation makes the content in a container
Widget: Spotlighted activity: Welcome to newbies
Automation: Unlock the widget
Name: Unlock widget: Spotlighted activity: Welcome to newbies
Event type: Check periodically
Condition (and):
Is group: Belgium
User-specific time condition: Contact start date of user, start from 0s after to 3 months after
Action: Unlock widget: Spotlighted activity: Welcome to newbies
Purpose: makes the widget container visible in the stream for the right group.
Widget: Featured activities: Belgium onboarding
Automation: Unlock the widget
Name: Unlock widget: Featured activities: Belgium onboarding
Event type: Check periodically
Condition (and):
Is group: Belgium
User-specific time condition: Contact start date of user, start from 0s after to 3 months after
Action: Unlock widget: Featured activities: Belgium onboarding
Purpose: makes the container visible in the stream for the right group.
Unlocking content:
The content automation controls when learners see the activities or journeys inside the widget. For onboarding, you can apply time conditions based on the contract start date.
Automation 1: Unlock learning bite 1 (Week 1)
Name: Boarding Belgium – Unlock Module 1
Event type: Check periodically
Condition (and):
Is group: Belgium
User-specific time condition: contract start date of user, start from 0s after to 7d after
Action: Unlock activity Learning bite 1
Automation 2: Unlock learning bite 2 (Week 2)
Name: Boarding Belgium – Unlock Module 2
Event type: Check periodically
Condition (and):
Is group: Belgium
User-specific time condition: contract start date of user, start from 7d after to 14d after
Action: Unlock activity Learning bite 2
Automation 3: Unlock learning bite 3 (Week 3)
Name: Boarding Belgium – Unlock Module 3
Event type: Check periodically
Condition (and):
Is group: Belgium
User-specific time condition: contract start date of user, start from 14d after to 21d after
Action: Unlock activity Learning bite 3
Automation 4: Unlock learning bite 4 (Week 4)
Name: Boarding Belgium – Unlock Module 4
Event type: Check periodically
Condition (and):
Is group: Belgium
User-specific time condition: contract start date of user, start from 21d after to 28d after
Action: Unlock activity Learning bite 4
Automation 5: Unlock learning bite 5 (Month 2)
Name: Boarding Belgium – Unlock Module 5
Event type: Check periodically
Condition (and):
Is group: Belgium
User-specific time condition: contract start date of user, start from 28d after to 55d after
Action: Unlock activity Learning bite 5
⚠️ Important:
Always separate widget and content unlocks into different automations.
💡 Note: An unlock with an end date is withdrawn after the window. In this example the activity leaves the stream and My progress at the learner's next visit after day 7, usually within a day. Progress is kept and comes back if the activity is unlocked again. If learners should keep access to earlier modules, leave the end of the timespan empty and only use an end date on the widget or the notification.
💡 Note: A few details decide who matches a condition.
The status All in Is activity matches every user who has the activity assigned, whatever their status. In an OR next to groups it widens the audience to everyone who ever got the activity, from any source.
Is activity with status Completed has a hidden field completion period, which sets a minimum time after completion before the condition becomes true. Use it for "X days after completing Y". Is journey/section ignores this field.
A user-specific time condition on a date that is empty for the user, for example a missing contract start date, is never true, so the content stays locked for that user.
What other automations can you create?
Beyond unlocking widgets and activities, you can also set up automations that notify learners at the right time. Notifications help guide learners and make sure they stay on track during onboarding.
Examples of notification automations:
Welcome message
Event type: Check periodically
Condition (and):
Is group: Belgium;
User-specific time condition: contract start date of user, start from 0s after to 1d after
Action: Notify user: “Welcome to the team! Start with Module 1 in your dashboard.”
Reminder message
Event type: Check periodically
Condition (and):
Is group: Belgium;
User-specific time condition: contract start date of user, start from 6d after to 7d after
Is activity: Learning bite 1, status: Uncompleted
Action: Notify user: “Don’t forget to complete Module 1 before moving to Module 2 next week.”
Encouragement message
Event type: Check periodically
Condition (and):
Is group: Belgium;
User-specific time condition: contract start date of user, start from 20d after to 21d after
Action: Notify user: “Great work so far! Your Week 4 module is now ready.”
💡 Note: Each notification is sent once per user. When you enable these automations, every learner who is inside the window at that moment gets the message right away.
