Whether this action can bound what it returns to an audience (RunActionParams.Audience): everyone
besides the caller who will see its output, such as the other participants of a shared conversation.
false by default, and the engine enforces it: when a run's audience adds a reader beyond the caller,
ActionEngineServer.RunAction refuses the action with result code AUDIENCE_UNSUPPORTED, without running
it. Override to return true only when the action honours the audience in full — every record, snippet
and count it returns is something every reader may see (pass the audience to the search engine, check each
reader's entitlement to anything it scopes by, and leave out aggregates computed before that filtering).
ProtectedInternalRequired input:
EntityName (string) — fully-qualified entity name, e.g. "MJ: Applications".Output:
Spec parameter — the scaffolded ComponentSpec object (componentRole='form', location='embedded').Message — the same object, stringified.Executes the action with the provided parameters.
The action execution parameters including context
Promise resolving to the action result
Read-only action that produces a working form-role
ComponentSpecscaffolded from the entity's CodeGen metadata (Category / GeneratedFormSectionType / Sequence / FK relationships / value lists).Why this exists. Today the Form Builder agent writes JSX from scratch every time, producing inconsistent quality. Calling this action first gives the agent a known-good baseline (mirrors the default Angular form) that it can modify per user requirements instead of inventing a layout. Far fewer lint failures, dramatically better starting point.
Pure read. No persistence. The returned spec is intended to be modified and then passed to CreateInteractiveFormAction or ModifyInteractiveFormAction.