What's New?
Flexible Learning Path Objectives
We've made significant improvements to how Learning Path objectives work, giving admins more flexibility to build, manage, and update Learning Paths - without the workarounds.
We're rolling this out over the next few days, with all customers having access by Wednesday 15th.
Mixed Objective Structures (Serial + Grouped in One Path)
You can now create a single Learning Path that combines required objectives and optional group objectives - all within the same path, without needing to nest separate paths inside each other. This means you can design a path that says "complete these 3 objectives, then choose 1 from this group of 4" - all in one place.
Under the hood, every objective now belongs to a step. A step is a group of one or more objectives with a minimum number required to complete it, and that single concept covers every structure:
- A single required objective - a step containing one objective with a minimum of 1. The learner must complete it to progress.
- An optional group (choose N of M) - a step containing several objectives where the minimum required is lower than the group size, e.g. "choose 1 of 4".
- A fully-required group (serial behaviour) - a step containing several objectives where the minimum required equals the group size, so every objective in it must be completed.
Because of this, the "serial path and grouped path" terminology is being retired. Serial is no longer a separate path type - it's simply the case where a step's minimum required equals the number of objectives in the group. All structures are now expressed through grouping and a required count, rather than through distinct serial vs. grouped paths.
Edit Objectives on Active Learning Paths (with Learners Registered)
Previously, once learners were registered to a Learning Path, its objectives were locked. You can now add, update, or remove objectives at any time - even after learners have started their journey.
How changes are applied:
- Adding an objective - all existing learners will see the new objective on their progress page and can select an event or complete it as required.
- Updating an objective (e.g. swapping the course) - a warning will appear confirming that any existing learner progress for that objective will be cleared. The objective will appear as incomplete for affected learners.
- Removing an objective - the objective and any associated learner progress will be deleted. Overall completion percentages are recalculated automatically.
⚠️ Important callout: Editing objectives on a path with registered learners will affect their progress. Removing or changing a completed objective will reset that progress. Always review your learners before making structural changes.
⚠️ Editing paths in draft vs. active: Objectives can be freely edited on draft paths at any time with no impact on learners. On active paths (with registered learners), edits are now permitted but will propagate to all learners - including those who have already completed objectives.
Restrict Events on Course Objectives
When adding a Course Objective to a Learning Path, you can now pin specific events (dates/sessions) that learners must choose from to fulfil that objective. If no events are restricted, learners can book onto any available upcoming event for that course, as before.
This restriction is respected across:
- The Learner Registration modal in the admin UI
- The Bookings / Opportunity "Specify Events" workflow
- The WebLink catalogue event picker
- LMS Bookings
Drag-and-Drop Objective Ordering
Objectives within a Learning Path can now be reordered via drag and drop. You can also drag objectives into or out of option groups to restructure your path on the fly.
Richer Objective Information at a Glance
Objectives now display richer detail inline. Where an objective has multiple achievements, categories, or events, the first item is shown with a +N more indicator - hover over it to see the full list.
Refreshed Learner Registration Modal
When registering a learner to a Learning Path, the event selection step has been updated to reflect the new objective structure. If only one event is available for an objective, it is now pre-selected automatically.
Refreshed Learner Progress Page
The learner progress view has been updated to reflect the new objective grouping structure:
- Objectives are displayed grouped, matching how they appear in the path setup.
- Course objectives show a Select button to open an event picker with date/location filters.
- Once selected, the button changes to Unselect, making it easy to reassign.
- Optional groups collapse once enough objectives are fulfilled, with a +X options not selected tag for easy access to the rest.
- External objectives have a Complete / Incomplete toggle.
- A ⚠️ warning indicator appears on any required objective that hasn't yet been fulfilled, including a note on how many selections are still needed.
Learning Path List - Active Only by Default
The Learning Path list view now defaults to showing Active paths only, reducing noise for admins managing large catalogues. You can still adjust the filter to view all paths.
Duplicating a Learning Path
When you duplicate a Learning Path, its objectives and steps are now fully duplicated into the new path, as expected.
Developer Experience
The updateLearningPaths mutation will continue to work as before, so existing integrations won't break. However, to build a path that mixes required and grouped objectives, you'll need to use the new setSteps mutation.
setSteps lets you define the steps that control grouping and the number of objectives required to complete each step. This is what powers the new mixed-structure behaviour: required objectives, optional groups (choose N of M), and fully-required groups are all expressed through steps and their minimum-required count - including what used to be handled by serial paths.
General Updates
- You can now set Interests on Opportunities using the
opportunityUpsertByExternalIdmutation. - You can now upsert Sessions by external ID on Events using the
eventUpsertByExternalIdmutation.