Getting Started with IntroVox¶
IntroVox is a Nextcloud app that gives new users a guided, step-by-step tour through Nextcloud's main features on first login. Tour content is fully customizable per language, and steps can be restricted to specific user groups for role-based onboarding.
This guide helps you get started quickly based on your role.
What is IntroVox?¶
IntroVox shows new users an interactive onboarding tour the first time they log in. The tour:
- Highlights key Nextcloud UI elements (Files, Calendar, Search, Settings, etc.)
- Supports 6 languages out of the box (EN, NL, DE, DA, FR, SV) with Transifex-ready translation infrastructure
- Lets each user skip, restart, or permanently disable it
- Lets administrators configure steps per language and per user group
Behind the scenes the tour engine is Shepherd.js, wrapped in a Vue 3 frontend with a PHP backend that stores configuration in Nextcloud's appconfig table.
Quick Start by Role¶
Users¶
- Log in to Nextcloud — the tour starts automatically after a short delay (if your administrator has enabled it for your language)
- Click Next / Back or use
Enter/Backspaceto navigate - Press
Escapeor click ✕ to close the tour (it will reappear next login) - Click Done on the final step or Skip and don't show again to permanently disable auto-start
- Restart anytime via Personal Settings → IntroVox → Restart tour now
See User Overview and Taking the Tour for the full walkthrough.
Administrators¶
- Install IntroVox from the Nextcloud App Store (or via
occ app:install introvox) - Go to Settings → Administration → IntroVox
- Toggle Wizard enabled for all users
- Check the languages you want to support under Available languages
- Per language, customize or import wizard steps via the language dropdown
- Optionally restrict steps to specific groups for role-based onboarding
See the Admin Guide and Managing Wizard Steps for detailed configuration.
Architects¶
Before evaluating IntroVox at scale, read:
- Architecture Overview — Vue 3 frontend, Shepherd.js tour engine, PHP backend, appconfig storage
- API Reference — public + admin endpoints
- Multi-Language Support — Transifex integration and auto-discovery of language files
Key Concepts¶
| Concept | Description |
|---|---|
| Wizard step | A single tour step with a title, HTML content, optional CSS selector to highlight an element, and a position (left/right/top/bottom). |
| Centered step | A step with no CSS selector — appears as a centered modal. Used for welcome and conclusion screens. |
| Attached step | A step with a CSS selector — appears next to the highlighted element with a glowing border. |
| Language configuration | Each language has its own independent set of wizard steps, stored in appconfig under wizard_steps_<lang>. |
| Group visibility | Steps can be restricted to specific Nextcloud groups via the visibleToGroups field. Empty = visible to all users. |
| Default steps | Built-in step definitions auto-translated via Transifex; loaded when no custom configuration exists for a language. |
| Wizard version | A counter (wizard_version) bumped by admin actions like "Show wizard to all users" — frontend uses it to decide whether to re-show. |
Architectural Highlights¶
- Native Nextcloud integration — uses NC's
IConfigfor storage,IL10Nfor language detection,IGroupManagerfor group filtering, andIUserSessionfor per-user state. - Server-side group filtering —
visibleToGroupsenforcement happens in the PHP backend (ApiController), so users cannot see hidden steps via browser tools. - Transifex-ready translations — new language files (
l10n/<lang>.json) are automatically picked up; no code changes required.
Next Steps¶
- User Overview — Taking the tour
- Admin Guide — Setup and configuration
- Managing Wizard Steps — Step CRUD
- Architecture Overview — System design
See Also¶
- Multi-Language Support — Adding new languages via Transifex
- Group-Based Visibility — Role-based onboarding
- Installation — App Store and manual install