Sanity Library Reference Docs
    Preparing search index...

    A registered effect: name is its only identity (unique per definition, read downstream as $effects.<name>) — the host app registers a handler against it 1:1, and the stored definition never references code. bindings are GROQ reads over the rendered scope, resolved to concrete JSON at queue time; input is static config passed through verbatim. outputs (typed FieldShapes) is a STRICT allowlist: at completion an undeclared output key, or a value that doesn't fit its shape, fails the completion and nothing is stored. Omitting outputs is an EMPTY allowlist, so ANY returned output is rejected and fails the completion — the bound is universal, not opt-in.

    interface Effect {
        bindings?: { [key: string]: string };
        description?: string;
        input?: { [key: string]: unknown };
        name: string;
        outputs?: FieldShape[];
        title?: string;
    }
    Index

    Properties

    bindings?: { [key: string]: string } = ...
    description?: string = ...
    input?: { [key: string]: unknown } = ...
    name: string = NonEmpty
    outputs?: FieldShape[] = ...
    title?: string = ...