A process is idempotent when running it several times with the same inputs gives the same result as running it once, with no duplicates or side effects. It is essential to be able to rerun a pipeline safely after an outage, for example with an upsert rather than a plain insert.