@archastro/sdk
    Preparing search index...

    Interface SlackDeliveryOutcome

    What happened to one agent message this platform sent to a Slack channel. Lets you confirm delivery, or find out why a reply never arrived, without reading the channel's mirrored conversation.

    interface SlackDeliveryOutcome {
        agent?: string;
        binding?: string;
        channel: string;
        failure_reason?: string;
        guard_kind?: string;
        guard_labels?: string[];
        id: string;
        message?: string;
        operation: "post" | "post_ephemeral" | "update";
        outcome: "failed" | "delivered" | "floored" | "judge_refused";
        recorded_at: string;
        thread_ts?: string;
    }
    Index

    Properties

    agent?: string

    ID of the agent whose message this was.

    binding?: string

    ID of the Slack channel binding in force for this send. null when no binding could be resolved, in which case the send was treated as cross-org and floored on that basis.

    channel: string

    Slack channel ID the send was addressed to.

    failure_reason?: string

    For a failed send, a short machine-readable cause — slack:<slack_error_code> when Slack rejected the call, or floor_config when the content floor could not be evaluated and the send failed closed.

    guard_kind?: string

    For a withheld send, the kind of guard that stopped it — RegexMatch, ContainsAny, ContainsString, or LLMJudge. null when the send was not withheld by a guard.

    guard_labels?: string[]

    For a withheld send, the labels of the guards that stopped it (for example Contains AWS access key ID). These are the content policy's own descriptions, recorded as they read at the time of the send; they never contain the withheld message.

    id: string

    Unique identifier for this delivery outcome.

    message?: string

    ID of the platform message this attempt was carrying. Reading that message still requires access to its thread — this field correlates, it does not grant.

    operation: "post" | "post_ephemeral" | "update"

    Which Slack call the attempt made. post — a new message in the channel, visible to everyone in it. post_ephemeral — a message only one named channel member could see; Slack returns no durable timestamp for one, so it has no thread_ts to correlate and cannot be found in the channel's history afterwards. update — replacing an existing message (typically a thinking placeholder).

    outcome: "failed" | "delivered" | "floored" | "judge_refused"

    What happened to the send. delivered — Slack accepted the message. floored — a deterministic content guard withheld it, so it never left. judge_refused — the cross-org judge decided it was not appropriate for this channel's audience. failed — Slack rejected the call, or the content floor could not be evaluated and the send failed closed.

    recorded_at: string

    When the send was attempted.

    thread_ts?: string

    Slack thread timestamp the send targeted, letting attempts be grouped into the conversation they belong to. null for a top-level channel post.