Member Junction
    Preparing search index...

    One source object (table, API entity) discovered during introspection.

    interface SourceObjectInfo {
        Description?: string;
        ExternalLabel: string;
        ExternalName: string;
        Fields: SourceFieldInfo[];
        FieldsAreAuthoritative?: boolean;
        IncrementalWatermarkField?: string;
        PrimaryKeyFields: string[];
        Relationships: SourceRelationshipInfo[];
    }
    Index

    Properties

    Description?: string

    Human-readable description of the object's purpose (used for sp_addextendedproperty on the table).

    ExternalLabel: string

    Human-readable label (e.g., "Deals", "Members").

    ExternalName: string

    Name in the source system (e.g., "deals", "MemberList").

    Fields: SourceFieldInfo[]

    Fields/columns in the source object.

    FieldsAreAuthoritative?: boolean

    Whether Fields is the object's COMPLETE column list for this account.

    Sources fall into three shapes and only the source knows which it is:

    • it describes no columns at all (declared metadata is the whole truth),
    • it returns only the account's CUSTOM columns (additive — the standard columns still exist, the source simply did not restate them),
    • it returns the full mapping (a column absent here is genuinely gone).

    Only the third shape may deactivate columns. This was previously INFERRED from "the field list came back non-empty", which cannot tell the second shape from the third — so a custom-only source looked authoritative and its standard columns were candidates for deactivation.

    Undefined means the object has not said, and the CONNECTOR's claim (DiscoveryIsAuthoritative, surfaced as SourceSchemaInfo.IsAuthoritative) is inherited: a connector affirming it returns the complete gamut is affirming it for the fields the same describe call returned. Since that claim defaults to false and a scoped introspection forces it false, an undeclared object under a non-affirming connector is still never deactivated.

    So set this false explicitly on an object whose describe is custom-only while the rest of the connector's discovery is complete — that is the one case the inherited claim gets wrong.

    IncrementalWatermarkField?: string

    Source field name that marks "last changed" for incremental sync. When introspecting a source whose docs (or describe response) name a watermark field, surface it here so SchemaBuilder/IntegrationSchemaSync can populate IntegrationObject.IncrementalWatermarkField. Leave undefined when the source does not expose a documented watermark.

    PrimaryKeyFields: string[]

    Primary key field name(s).

    Relationships: SourceRelationshipInfo[]

    Foreign key relationships to other source objects.