Learn

Retries, Duplicate Actions and Failed Runs in AI Automation

A failed run is only safe to retry if you know whether the write already happened. Trace one failed invoice through five cases, compare what Zapier, Make and n8n actually re-run, and check the settings and duplicate guards to set before turning on automatic retries.

Isolate the failure point before you change tools. Use this page when something is blocked and you need likely causes, checks, and recovery paths.

UpdatedOctober 2, 2026
Browse tool profiles

Editorial guide

Guide

Start with the failure symptoms, checks, and root-cause framing before you escalate.

Short answer: a failed run is only safe to retry if you know whether the external write already happened. Most duplicate invoices, double emails and repeated charges come from one of three situations:

  • a retry after a write that actually succeeded;
  • a full re-run that repeats steps that had already worked;
  • a trigger that fired twice.

Before turning on automatic retries, give every write step a way to recognize work it has already done. Examples are an upsert by a stable key, a search before create, or a reference number the destination rejects when it sees it twice. Then learn exactly what each platform re-runs:

  • Zapier replays only the errored steps by default. Its "replay entire Zap run" option repeats everything, including the trigger.
  • Make keeps failed runs for retry only if you turn on incomplete executions, which are off by default.
  • n8n retries individual nodes with Retry On Fail and lets you re-run failed executions from the executions list.

Trace one failed write

Everything in this example is invented. A workflow receives a paid order, creates an invoice in the accounting app, and then emails the invoice to the customer. Here is what can go wrong at the invoice step, and what a retry does in each case.

Case

What actually happened

What the run shows

What a blind retry does

Safe recovery

  1. Clean failure

The accounting app rejected the request; no invoice exists

Error on the invoice step

Creates the invoice once

Retry is safe

  1. Lost response

The invoice was created, but the reply timed out

Error on the invoice step ("did not respond in time" or a timeout)

Creates a second invoice

Search for the order reference first, or use an upsert; retry only if nothing is found

  1. Later step failed

The invoice exists; the email step failed

Error on the email step

Replaying only the errored step is safe; replaying the whole run creates a second invoice

Replay the failed step only

  1. Trigger fired twice

Two runs started for the same order

Two successful runs

(Nothing to retry; the duplicate already happened)

Check for an existing invoice before creating one; find the second trigger source

  1. Failure not stored

The run failed and the platform kept no copy of the data

A failed run, or nothing

Nothing to retry

Turn on failed-run storage; on Make, add a Retry handler to the first module, because errors there are otherwise not stored; reconcile against the source system

Case 2 is the dangerous one. A timeout tells you the platform did not get an answer, not that the write failed. Zapier's guidance for "The app did not respond in time" is to replay or rely on autoreplay. That is safe only when the write step can detect an invoice it already created.

What each platform re-runs

Control

Zapier

Make

n8n

Retry a failed run by hand

Replay errored steps on every plan; Zapier does not repeat the trigger or the steps that succeeded

Retry an incomplete execution manually, if incomplete executions are on

Retry execution from the executions list, with the currently saved or the original workflow

Automatic retries

Autoreplay on paid plans, for the whole account (set by an owner or super admin) or per Zap. Up to 5 attempts: 5 min, 30 min, 1 h, 3 h and 6 h, ending about 10 h 35 min after the first error

Automatic retry of incomplete executions for rate-limit, connection and module-timeout errors, and for the Retry error handler. Backoff from 1 minute out to about 7 h 51 min after the original run

Retry On Fail on a node, with Max Tries and Wait Between Tries

Re-run everything

"Replay entire Zap run" on paid plans repeats every step, including the trigger, as a new run; successful steps use tasks again

Not the default; incomplete executions continue from where the run stopped

Re-running a past execution with its data is possible; test which nodes run again

Undo partial work

No built-in undo; earlier successful steps stay done

Rollback (the default when no handler is set and incomplete executions are off) reverts only transaction-capable modules such as data stores; an accounting app write stays

No built-in undo; route failures with On Error to a clean-up path

Keep failed data

Zap history keeps runs for 29 to 69 days, and replays must happen within 60 days of the original trigger

Only if Store incomplete executions is on. If the folder is full, Make either disables the scenario or, if Discard data if storage is full is enabled, discards the failed data, which cannot be recovered

n8n Cloud prunes execution data by plan: Starter keeps up to 2,500 executions for up to 7 days, Pro up to 25,000 for up to 30 days, whichever limit is reached first

Duplicate triggers

Polling triggers deduplicate by item ID within the same Zap. Instant triggers do not, and two Zaps on the same trigger both run

Design for it: check before writing

Design for it: check before writing

Alerts

Zap history; with autoreplay on, Zapier sends no error notification email until the final autoreplay attempt fails

Scenario status; for scenarios with an instant trigger, a run that ends in an error deactivates the scenario immediately, while stored incomplete executions or error handlers turn many errors into warnings that do not

An error workflow (Error Trigger) per workflow

What happens when an action meets a duplicate depends on the destination app, not the platform. Zapier documents four outcomes: the app creates a duplicate record, returns an error, updates the existing record, or ignores the duplicate. Test your destination before relying on any of them.

Settings to check before you trust retries

Zapier

  • Decide whether autoreplay should be on account-wide, or only for Zaps whose write steps can detect earlier work. Per-Zap Never replay is available.
  • Avoid "replay entire Zap run" for Zaps that create records, send messages or charge cards, unless the first steps can tell they already ran.
  • If several Zaps use the same form or webhook, assume each one will run.

Make

  • Turn on Store incomplete executions for any scenario that writes to another system, so a failure keeps its data.
  • Size the incomplete-executions allowance and check Discard data if storage is full: with it on, a full folder silently discards failed data; with it off, the scenario is disabled until you make room.
  • Use Process data in order (formerly Sequential processing) when order matters. New runs then wait until incomplete executions are resolved.
  • Know that Rollback does not undo writes to apps like accounting or email.
  • For instant-trigger scenarios, have someone watch for deactivation after the first error.

n8n

  • Put Retry On Fail only on nodes that are safe to repeat, such as reads and upserts, not on create or send nodes without a check.
  • Use On Error: Continue (using error output) to send failures to a clean-up or review path instead of stopping silently.
  • Set an error workflow for every production workflow.
  • Retry failed executions before execution data is pruned, and keep your own record of anything you may need later.

Make every write recognize work it has already done

Platform settings decide when a step runs again. Only the write step can decide whether running it again is harmful. In order of preference:

  1. Upsert by a stable key. Update the record if it exists, create it if not. For document and record pipelines, see AI document extraction to sheets or CRM, which uses a compound key.
  2. Search, then create. Look up the order reference in the destination. Create only if nothing is found, and store the new record's ID.
  3. A reference the destination rejects twice. Some APIs accept a unique reference or idempotency key and refuse a second request with the same key. Check your destination's API documentation.
  4. A sent-log for messages. Before sending an email or message, check a log keyed by order and template. Write to the log only after the send succeeds.

What retries cost

Retries are not free. On Zapier, replaying an entire run counts its successful steps as tasks again. On Make, retried modules run again, so check how they count against your credits. On n8n Cloud, check how re-run executions count against your monthly executions. Budget an allowance for failures. For example, if 3% of 2,000 monthly orders fail and each is retried twice, plan for about 120 extra runs. That figure is illustrative. See AI workflow automation pricing explained for how each meter works.

Recovery checklist for a failed write

  1. Stop automatic retries for the affected workflow if duplicates are possible.
  2. Check the destination for the record or message, using the business reference, not the platform's run ID.
  3. If it exists, mark the run resolved and replay only the steps after the write.
  4. If it does not exist, replay the failed step.
  5. If several runs fired for one event, keep the first record, cancel or reverse the others in the destination, and find the duplicate trigger.
  6. Record what happened and change the write step so the same failure cannot create a duplicate next time.

Who should not turn on automatic retries yet

  • Workflows that charge cards, issue refunds or send customer messages without a duplicate check on the write step.
  • Teams that cannot see the destination. If nobody can search the accounting app or CRM to confirm what happened, every retry is a guess.
  • Scenarios where the failed data is not stored. Turn on failed-run storage first, then retries.

For broader platform tradeoffs, see AI workflow automation platforms compared.

Evidence boundary

Official sources

Editorial guidance grounded in official product sources.

FAQ

Common questions

Should I turn on Zapier autoreplay for every Zap?

Only for Zaps whose write steps can recognize work they already did, such as an upsert or a search before create. Autoreplay retries errored steps up to five times over about ten and a half hours. It is set account-wide by an owner or super admin, and each Zap owner can override it with Always replay or Never replay, so check per-Zap overrides as well as the account setting.

Why did my Zap create a record twice when nothing errored?

Usually because two runs started. Zapier deduplicates polling triggers by item ID only within the same Zap. Instant triggers are not deduplicated, and two Zaps listening to the same form or webhook both run. Also check whether the source system sent the event twice.

What does Make do with a failed run if incomplete executions are off?

By default, with no error handler and incomplete executions disabled, Make uses Rollback. That stops the run and reverts only modules that support transactions, such as data stores. The failed data is not kept for a later retry, and writes to apps like accounting or email are not undone.

Does n8n's Retry On Fail repeat the whole workflow?

No. Retry On Fail is a node setting that re-runs that node, with a set number of tries and a wait between them. To re-run a whole failed execution, use Retry execution in the executions list, choosing the currently saved or the original workflow.

How long do I have to retry a failed run?

On Zapier, you must replay within 60 days of the original trigger, and sooner if Zap history has already been deleted (history is kept 29 to 69 days, or 7 to 30 days if an Enterprise admin shortens it). n8n Cloud prunes execution data by plan: Starter keeps up to 2,500 executions for up to 7 days and Pro up to 25,000 for up to 30 days, whichever limit is reached first. Make keeps incomplete executions until they are resolved, within your plan's storage allowance.

Next steps

Open the likely fix paths

Use these next pages to inspect the most relevant product surfaces, docs, or follow-up guides once the likely failure point is clear.

View all tools