Member Junction
    Preparing search index...

    Generic action that writes one or more fields onto a single entity record — either an existing record (identified by its primary key) or a brand-new one (when CreateIfMissing is true and no primary key is supplied).

    Designed to be reused both by Flow Agents (as a discoverable tool) and as the terminal "write the result back" step of a Feature Pipeline. It mirrors the existing Create/Update Record actions but collapses the create-or-update decision into a single declarative call: give it the target, an optional key, and a field map, and it does the right thing.

    Strong typing note: where a generated entity subclass exposes typed setters we would prefer them, but the field set here is supplied dynamically at runtime (the entity itself is a parameter), so there is no compile-time type to bind to. BaseEntity.Set() is the correct — and intended — write path for this one legitimately-dynamic case. We still validate each field exists on the entity before writing, so typos surface as explicit errors rather than silent no-ops.

    // Update two fields on an existing record
    await runAction({
    ActionName: 'Write Entity Field(s)',
    Params: [
    { Name: 'EntityName', Value: 'MJ: AI Agents' },
    { Name: 'PrimaryKey', Value: { ID: '123e4567-e89b-12d3-a456-426614174000' } },
    { Name: 'Fields', Value: { Status: 'Active', Description: 'Updated by pipeline' } }
    ]
    });

    // Create a new record when none exists
    await runAction({
    ActionName: 'Write Entity Field(s)',
    Params: [
    { Name: 'EntityName', Value: 'MJ: AI Agents' },
    { Name: 'CreateIfMissing', Value: true },
    { Name: 'Fields', Value: { Name: 'My Agent', Status: 'Active' } }
    ]
    });

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    AuthorizesCaller: boolean

    True when the action authorizes its caller itself, so a public entry point such as the RunAction mutation may run it for an authenticated user without an MJ: Action Authorizations link. Set it only on an action that either checks an authorization the caller must hold, or reads and writes only with the caller's own permissions. Leave it false for an action that acts with more authority than its caller, or that reaches data or sends messages the caller chooses but could not otherwise reach.

    The engine reads the marker only from the class that runs, never from its parent classes. A subclass that overrides a marked action must declare the marker again.

    Methods