@cfxlabsinc/b2b-services
    Preparing search index...

    Type Alias SlackTemplate

    One Slack template variant as the posters and the editor read it: its b2b.slack_template row merged with its registry entry. JSON-safe.

    type SlackTemplate = {
        audience: SlackTemplateAudience;
        blocks: SlackTemplateContent;
        defaultBlocks: SlackTemplateContent;
        draftVersion: number | null;
        id: string;
        invalidReason: string | null;
        liveBlocks: SlackTemplateContent;
        liveVersion: number | null;
        status: SlackTemplateStatus;
        statusDescription: string;
        statusVariant: string;
        statusVariantDescription: string;
        templateKey: string;
        templateKeyDescription: string;
    }
    Index

    The working copy: the draft, else what posts.

    defaultBlocks: SlackTemplateContent
    draftVersion: number | null
    id: string

    slacktpl_…

    invalidReason: string | null

    Why the live version is not what posts; null when it is (or there is none).

    What posts: the live version's blocks if valid, else the registry default.

    liveVersion: number | null

    DISABLED skips the post; for CUSTOMER, for every customer.

    statusDescription: string
    statusVariant: string

    The status this row serves; '*' for a key with no status axis.

    statusVariantDescription: string
    templateKey: string
    templateKeyDescription: string