A failed form action is not always safe to run again. The model request may have timed out after producing a result. An email may have left WordPress before the status changed. A webhook may have reached its destination even though the response never made it back. Pressing retry without checking the boundary can turn one failure into two customer messages, two CRM records, or two staff tasks.
The fix is a short retry decision. Find the last confirmed checkpoint, verify any external side effect, decide whether the original action can run again, and record who made that call. This keeps recovery quick without treating every red error as permission to repeat the whole workflow.
Find the first missing checkpoint
Start with the original submission and action record. The failed form action recovery guide covers the basic diagnosis. For the retry decision, reduce the run to four checkpoints:
- The form submission exists.
- The model or review step started.
- A usable result was saved.
- The downstream effect was confirmed by the system that owns it.
The first missing checkpoint tells you what can be repeated. If no review started, rerunning the review is different from repeating a customer email. If the result exists but the CRM outcome is unknown, check the CRM before you do anything in WordPress.
Classify the retry before you run it
| State | What it means | Next move |
|---|---|---|
| Retryable | The failed step has no confirmed external effect, and the cause is understood or removed. | Retry only the failed step and link the attempt to the original record. |
| Ambiguous | An email, webhook, CRM write, or staff task may already exist. | Check the destination system. Do not rerun the whole chain while the outcome is unknown. |
| Terminal | The request is invalid, authorization is missing, the limit operator rejected the step, or another attempt would repeat a confirmed effect. | Stop automation and hand the request to the named owner. |
Do not turn a timeout into a retry rule by itself. A timeout describes what WordPress observed, not what the destination completed. The WordPress HTTP API documentation helps developers inspect requests and responses, but the business system remains the authority for whether its action happened.
Record the original and the retry together
A later reviewer should not have to compare two disconnected records. Keep the retry note with the original action and capture:
- the original submission and action reference;
- the failed checkpoint and the evidence used to locate it;
- the destination systems checked before retry;
- the operator who authorized another attempt;
- the retry time and attempt number;
- the new result, including any manual handoff.
This is narrower than a general audit trail. The guide to auditing AI form review covers the wider history. A retry note answers one urgent question: why was another attempt permitted after this specific failure?
Protect every external side effect
Emails, webhooks, CRM writes, support tickets, and notifications deserve separate confirmation. If the destination accepts an idempotency key or unique external reference, reuse a stable value derived from the original action. If it does not, search for the original submission reference before creating anything new.
Do not use a new form submission as a casual retry. That creates another source record and can trigger every earlier step again. If duplicate source records are already part of the problem, use the checklist for fixing repeat form records before adding retry logic.
Set a stop rule before the next failure
There is no safe universal attempt count. A read-only classification can tolerate a different retry policy from a customer reply or account change. Write the limit for each action while the system is healthy. Name the person who takes over when that limit is reached.
The automation stop-button guide helps define when the whole workflow should pause. The retry rule is smaller: it stops one failed action from looping or repeating an effect while its outcome is uncertain.
Test the policy with five failure records
Take five recent failed or interrupted actions with identifying details removed. For each one, ask a staff member to name the first missing checkpoint, classify the retry, find any external effect, and identify the owner. If two people reach different answers, the policy is not ready. Tighten the evidence requirement before automating another attempt.
Then run one harmless test where the downstream effect cannot reach a customer. Confirm that the retry links back to the original record and that the owner can see both outcomes. Use the Sentient Forms Action Library to review the action’s intended result, but keep retry authority in the operating process around that action.
Retry only when the failed checkpoint is known, no conflicting external effect exists, the cause is understood or removed, and an authorized owner permits another attempt.
A timeout records what WordPress observed. The destination may still have accepted an email, webhook, CRM write, or task. Check the system that owns the effect before retrying.
There is no universal count. Set the limit from the action’s risk and side effects, then name the person who takes over when the limit is reached.



