Copy pipes are the scheduled counterpart to materialized views. Where a materialized view updates incrementally as new data arrives, a copy pipe runs a full query on a fixed cadence and appends or replaces rows in a target data source.
They are the right tool when the transformation cannot be expressed incrementally, when you need to backfill a derived table from arbitrary windows, or when downstream queries should see a stable snapshot updated every N minutes.
Copy pipes live entirely inside Tinybird, which is what distinguishes them from sink pipes (external destination) and endpoints (HTTPS responses).
