Coaching portal configuration
Generates the document imported by Portal customisation → Coaching portal → Import configuration. This is the largest of the three documents: it covers the portal’s vertical, its feature toggles, its coaching plan, and the page content for every language. Every field is optional — omitted fields keep their current value. Languages are only ever added, never removed, so an import cannot delete existing translated content.Document
Top-level fields
use_case and labels
use_case picks a vocabulary preset; labels overrides individual words on top of it. Prefer the preset and override only where the organisation genuinely uses different terminology. Overrides are portal-wide, not per language, so if the portal runs several languages, either leave labels out and let the preset translate, or accept that the override text appears in every language.
coaching_plan_tags — must be live directories
A directory only reaches learners when it is visibility: public and status: active. A plan step pointing at a draft or archived directory is silently dropped from the plan — the learner sees a shorter plan with no explanation.
Only reference directories you have confirmed exist and are active. If you cannot confirm, leave coaching_plan_tags out entirely: with no plan configured the block is hidden rather than shown half-empty.
Page blocks
public_home_blocks renders the signed-out marketing homepage. signed_in_home_blocks renders at the top of /home after sign-in — keep that one short, it sits above the learner’s coaching.
Each block needs an id (unique within its list) and a type. A block with an unknown type is skipped and reported; the rest of the import still applies.
Markdown fields are rendered with a restricted renderer: headings, bold, italic, lists, links. In a
hero title, wrapping a word in _underscores_ renders it as the italic accent word.
Images must be URLs that are already hosted. The importer uploads nothing.
Rules
- Put the primary language first in
pages[]— the editor opens on it after import. - Blocks render in array order; that order is the page.
- A hero
ctaHrefof/homesends a signed-out visitor into sign-up. Use that unless there is a reason not to. - Do not set
homepage_pricing_enabled: trueunless the portal actually sells credits; the pricing block renders empty otherwise.