# What are Pipelines?
import WhatIsAPipeline from "../../partials/pipeline/what-is-a-pipeline.mdx";
import PipelineStructure from "../../partials/pipeline/structure.mdx";
import PipelineRules from "../../partials/pipeline/rules.mdx";
import PipelineStatuses from "../../partials/pipeline/statuses.mdx";
This guide is a conceptual tour of what a pipeline is made of and how data moves through it. Each component has its own reference documentation, linked inline.
## The components of a pipeline
Every node in a pipeline is one of a few component types, each with a distinct job:
- **Inputs** are the entry point — each connects to a specific upstream source and pulls its data into the pipeline, handling authentication and initial formatting. See [Inputs](/docs/inputs).
- **Transforms** reshape each record as it passes through, one record at a time — cleaning, normalizing, and restructuring it. See [Transforms](/docs/transforms).
- **Enrichments** add context to a record mid-flight: they look up a value (a *join key*) and write the result back onto the record. See [Enrichments](/docs/enrichments).
- **Conditionals and routing** decide which records travel down which edge, based on their content. See [Data Routing](/docs/routing) and [Conditionals](/docs/conditionals).
- **Outputs** are the exit point — each delivers processed records to a downstream destination such as a SIEM, data lake, or object store. See [Outputs](/docs/outputs).
For enrichment, normalization, and routing in more depth, see [Enrichment, Normalization, and Routing](/docs/guides/enrichment-normalization-routing).
## How data flows through a pipeline
Data always flows forward through the graph. A node has a single incoming edge but can **fan out** to multiple downstream nodes, which gives a pipeline its tree shape and makes data lineage easy to trace.
Every outgoing edge is evaluated for every record, independently of the others — so a single record can match multiple edges and be delivered to several destinations at once, for example routing high-severity findings to a SIEM while archiving everything to cloud storage.
## Node and pipeline states
The full reference, including sync types, is on the [Pipeline Status Indicators](/docs/pipeline_status_indicators) page.
## Related
- [Pipelines](/docs/pipelines)
- [Inputs](/docs/inputs) · [Transforms](/docs/transforms) · [Enrichments](/docs/enrichments) · [Outputs](/docs/outputs)
- [Data Routing](/docs/routing) · [Conditionals](/docs/conditionals)
- [Enrichment, Normalization, and Routing](/docs/guides/enrichment-normalization-routing)
- [Monitoring and Alerting](/docs/guides/monitoring-and-alerting)
- [Pipeline Status Indicators](/docs/pipeline_status_indicators)