OptionalDescriptionHuman-readable description of the object's purpose (used for sp_addextendedproperty on the table).
Human-readable label (e.g., "Deals", "Members").
Name in the source system (e.g., "deals", "MemberList").
Fields/columns in the source object.
OptionalFieldsWhether Fields is the object's COMPLETE column list for this account.
Sources fall into three shapes and only the source knows which it is:
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.
OptionalIncrementalSource 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.
Primary key field name(s).
Foreign key relationships to other source objects.
One source object (table, API entity) discovered during introspection.