The single EXECUTABLE home of the meeting-link naming convention — NAME-ONLY (HubSpot slugs are immutable after creation, so slugs are opaque URL identities). `"Title | Description | Audience Label"`: the Audience segment is the LISTED opt-in marker, the displayed intended-audience entity AND (slugified) the grouping key. Server-safe, React-free, zero API knowledge. Team-process documentation lives in [`docs/EMBEDDING_HUBSPOT_MEETINGS.md`](../../docs/EMBEDDING_HUBSPOT_MEETINGS.md) — do not restate tables here. | Export | Purpose | |---|---| | `SCHEDULING_SLUG_SHAPE` / `isValidSchedulingSlug()` | Slug SHAPE guard for path-deep-link input — safety only, never semantics | | `parseSchedulingLinkName()` | → `{ title, description, audienceLabel }` (splits on the first two pipes) | | `isListedSchedulingName()` | Whether a name opts into the directory (has an Audience segment) | | `schedulingAudienceKey()` | Audience label → slugified grouping key (`"Prospect Investors"` → `"prospect-investors"`); null when empty | | `MAX_MONTH_OFFSET` | Availability month-paging bound (widget nav, route 400, DAL clamp) |