First Class Modules

Favorites

Gives each user a secured cross-module list of saved records with search, module filters, pinning, change tracking, related context, activity, and dynamic fields.

Runtime key
module.favorites
Experience
Personal workspace
Security
Server-enforced

Use Favorites as a personal shortcut layer so each user can return to important records across the app without changing the records themselves.

Note

The bundled renderer key is module.favorites. First-class means BuildWithHQ supplies a native, typed, secured runtime experience inside normal app provisioning and the signed-in user's existing permissions.

What it does

Gives each user a secured cross-module list of saved records with search, module filters, pinning, change tracking, related context, activity, and dynamic fields.

Key capabilities

  • Search personal favorites and filter by source module.
  • Pin, reorder, remove, and optionally track changes on saved records.
  • Show current secured status, location, relations, activity, and dynamic fields.
  • Collapse duplicate favorite targets into a coherent personal workspace.

Common uses

  • Pinned customers, projects, cases, files, or articles.
  • A personal watch list for records whose changes matter.
  • Cross-module navigation for frequently used work.

How it connects

Any supported canonical Record can participate. The favorite stores personal preference; the target remains owned by its native module and is reauthorized whenever it is listed or opened.

Where applicable, its records use the universal RecordId conventions so they can participate in secured relationships, activity history, favorites, dynamic fields, notifications, Inbox attention, and global search without copying the source record.

Security and data boundary

Only the current user's favorite rows are returned. Target records, related records, fields, activity, and location are independently secured, so a favorite never preserves access after permission is removed.

  • The authenticated service derives the SaaS app, tenant account, user, DataRole, and location scope; browser identifiers are never authorization proof.
  • The page editor composes React components with validated data bindings. Those bindings call typed runtime APIs, whose application services execute reviewed stored procedures.
  • List, search, detail, relation, activity, favorite, and write operations reapply their required server-side permissions.

Add it to an app

  1. Open the SaaS app in the Developer Console and identify the user journey and page where this module belongs.
  2. Add the validated module.favorites module block through the supported page/template authoring flow.
  3. Configure the module with the page editor's React components and validated data bindings; the bindings call authenticated platform APIs backed by reviewed stored procedures.
  4. Place the page in the correct user-type menus and assign existing DataRole, record, field, and location permissions.
  5. Test list, detail, search, empty, denied, stale-update, and cross-location behavior before publishing an exact version.
Tip

Favorites complement, but do not replace, queues or assignments. Use a workflow/Inbox item when work must be completed by a deadline or owner.

Important

A renderer being bundled in the tenant application does not make its data visible in every app. The server returns only components and records authorized for the current app and signed-in user; unavailable or unauthorized blocks fail closed.