A data source or integration
A data source is the system of record a pipeline reads from: a production database, a third-party API, an event stream, a file drop. It marks the boundary where data enters a system, and everything downstream inherits the source's reliability, freshness, and semantics.
Reis and Housley formalise this position in their data engineering lifecycle, where source systems occupy the first stage — generation — before ingestion, transformation, or serving. Their framework treats source characteristics (reliability, schema stability, data volume, latency) as upstream constraintsConstraintStrategyA limit, requirement, or ceiling the product must respect, whether a self-imposed principle or an externally imposed boundaryView reference → that propagate through every downstream stage; a pipeline cannot be more reliable than the source it reads from.
A subscriptionSubscriptionSales & RevenueA recurring subscriptionView reference → business has three data sources feeding its warehouse: a Postgres billing database, a Stripe API, and a clickstream event topic. Analysts treat the billing database as the source of truth for revenue, because it is the system that records the actual charge. The clickstream is a source for engagement but never for money. When a finance figure and a product figure disagree, the first question is which source each was derived from, and the origin of the data establishes the starting point for tracing everything that follows.
Reis and Housley draw this line explicitly: source systems are operational systems the data team does not own — transactional databases, SaaS platforms, IoT devices — and their data enters the pipeline but should never be confused with derived artefacts computed from it.
In the Unified Product Graph, a data source is a hub in the data and analytics region, which fits because so many other concepts attach to it. A classification applies to it (Data Classificationapplies toData Sourcecross-domain), a contract governs it (data_classification_applies_to_data_sourceData ContractgovernsData Sourcecross-domain), a product ingests from it (data_contract_governs_data_sourceProductingests fromData Sourcehierarchy), and a source defines the metricsMetricStrategyA unified metric that measures progress, health, or behaviour across the productView reference → drawn from it (product_ingests_from_data_sourceData SourcedefinesMetrichierarchy). That density is the point: pivot on a single source and you can see its sensitivity, its governing promises, and every metric that would move if it changed.data_source_defines_metric
Worked example: Trellis
Workspace activity and the stream of agent-proposed, approved, and reverted changes are the primary data sources Trellis reads to measure activation and trust. Every event schemaEvent SchemaData & AnalyticsAn event schema for trackingView reference → and metricMetricStrategyA unified metric that measures progress, health, or behaviour across the productView reference → Trellis tracks flows from these two sources, so keeping them complete and correctly scoped is the foundation of the entire measurement story.
Continuous Always running; no discrete recurrence interval.
Type-specific fields on BaseNode
source_typeenumKind of data source
connection_statusenumCurrent connection health
refresh_cadenceenumHow often the data is refreshed. Uses the shared `Cadence` scale.
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
4 phases, initial: alpha · template: MATURITY
16 edge types connected to this entity.
product_ingests_from_data_sourcedata_domain_contains_data_sourcedata_source_defines_metricdata_source_processed_via_data_pipelinedata_source_traced_via_data_lineagedata_source_emits_event_schemadata_classification_applies_to_data_sourceai_dataset_sourced_from_data_sourcedata_contract_governs_data_sourcemetric_fed_by_data_sourcedata_lineage_sourced_from_data_sourcedata_lineage_feeds_data_sourcedata_pipeline_reads_from_data_sourcedata_pipeline_writes_to_data_sourceprivacy_policy_governs_data_sourcedata_quality_rule_governs_data_source