Member Junction
    Preparing search index...

    Context for upserting a record in an external system — a single idempotent create-or-update keyed by a unique business property (not the system PK).

    Upsert exists to define create-then-update race conditions out of existence: a search-then-create sequence has a window in which a concurrent writer can create the same record, producing a duplicate-key conflict (e.g. HubSpot 409 Contact already exists). A single keyed upsert call has no such window.

    interface UpsertRecordContext {
        Attributes: Record<string, unknown>;
        CompanyIntegration: unknown;
        ContextUser: unknown;
        IDProperty?: string;
        ObjectName: string;
        Relationships?: Record<string, unknown>;
    }

    Hierarchy (View Summary)

    Index

    Properties

    Attributes: Record<string, unknown>

    Field values for the record (must include the upsert-key property's value)

    CompanyIntegration: unknown

    The company integration entity providing connection details

    ContextUser: unknown

    User context for authorization

    IDProperty?: string

    The unique business property to match on (e.g. 'email' for HubSpot contacts). Optional override; when omitted, the connector resolves a per-object default from its own metadata. Connectors that cannot resolve a default MUST fail loudly.

    ObjectName: string

    External object name to operate on

    Relationships?: Record<string, unknown>

    Optional relationship data