Primary responsibility
First-launch carousel of intro screens shown to new app users. Configurable per-slide content, CTA, and a returning-user toggle.
Settings
| Setting | Type | Environment | Purpose |
|---|---|---|---|
slides |
repeater | per-button | List of slides — each slide has image, title, body |
cta_label |
text | per-button | CTA button label (typically “Sign up” or “Log in”) |
cta_target |
select | per-button | Button to navigate to on tap |
show_for_returning_users |
yes-no | global | Off by default — returning users skip the carousel |
style_* |
various | per-button | Colors, typography |
How it ties in
Anonymous app launch
│
▼
phone-data response includes onboarding payload
│
▼
App renders carousel (mobile client logic)
│
▼
User taps CTA → navigates to a Login or registration form
│
▼
Registration → mam_notification_send_message (welcome email)
│
▼
Next launch (logged in) → carousel hidden
The hide-for-returning-users logic checks the user’s auth state via MAM_Current_Request and the local-app-onboarding-status option.
Hooks involved
| Hook | Type | Role |
|---|---|---|
mam_get_phone_data_before_send |
Filter | The Onboarding class injects its slides into the JSON here |
For pending-invite flows, sibling plugins can override the first-launch screen entirely — see Hook: mam_get_phone_data_before_send and the has_initial_form_to_display JSON key.
Gotchas
- Slides are not shown one-at-a-time per request. All slides are included in the JSON; the mobile client paginates.
- Returning-user detection uses both auth state and
local-app-onboarding-status. A logged-out user who’s previously onboarded may still see the carousel. - For pending-invite users (caregiver invites, staff invites), sibling plugins typically inject a different first-launch screen via
inject_pending_invite_form(). The Onboarding class doesn’t fire for these users.
Related articles
- Content classes overview
- Recipe: Customize onboarding
- Recipe: Customer enrollment and account code
- Hook: mam_get_phone_data_before_send
Metadata
| Field | Value |
|---|---|
| Article type | Screen Reference |
| Plugin slug | mam-main |
| Applies to plugin version | 2.1.11+ |
| Category | App Settings Reference |
| Audience | WordPress admin / PHP developer |
| Class name | local_app_onboarding_button (frozen) |
| Source file | includes/content-classes/local-app-onboarding-content-class.php |
| Last verified | 2026-05-02 |
