Configure incremental sync
This guide explains how to configure incremental sync for ETL integrations. Incremental syncs move only new or changed records after the initial load, reducing volume and runtime. Options depend on the source connector.
For concepts, see Sync modes.
Where to Configure
- Access a specific integration from the main Integrations page table.
- Go to the Schema tab.
- For each table (stream) you can enable or disable it and set sync mode.
Sync Modes per Table
- Full refresh: Every sync reads all records from the source and writes them to the destination. Use when incremental is not supported or when you need a full replace.
- Incremental: Only records added or updated after the last sync are extracted. Some incremental tables require a cursor field to be configured (e.g. updated_at, id).
- Append only: Only new records are added; existing rows are not updated or deleted. Use for append-only event or log data.
Which modes appear depends on the source. If a table does not support incremental or append-only, only full refresh is available.
Set the Cursor Field (Incremental)
For incremental syncs that support a cursor:
- In the Schema tab, select the table and choose Incremental (or equivalent) as the sync mode.
- Select the cursor field — a column that increases over time (e.g.
updated_at,created_at, or an incrementing id). Matia uses this to fetch only rows that are new or changed since the last run.
Note
If the source does not expose a suitable cursor, Matia falls back to full refresh for that table. Check connector documentation for supported cursor columns.
Save and Run
Save your schema changes. The next sync (and subsequent scheduled syncs) use the selected mode and cursor. You can confirm behavior on the Status tab by comparing emitted and committed counts and run duration to a full refresh.
For sync history and run details, see Sync logs and run history.