Handling batch failures
When some Records in a batch fail, diagnose them from the batch results, fix the underlying flow or Records, and run the batch again.
Identifying failures
A batch runs your Flow once per Record of the chosen type (see Running flows in batch). The batch results show one row per Record:
- Open the batch results for your run
- Each Record row shows a status badge; failed rows show an inline error preview
- Click View Details on a failed row to drill into that Record’s execution
The detail view shows the Record metadata, the step output, and the error for that single execution, so you can see exactly which input failed and why.
Common failure types
Input validation errors
Error: Missing required field: customerId
Cause: A Record is missing a field the Flow expects.
Fix:
- Check the Record’s metadata for the missing field
- Ensure every Record of this type has the fields the Flow references
- Add a validation or default-handling step at the start of the Flow
API rate limits
Error: Rate limit exceeded
Cause: Too many concurrent requests to an external API or AI model provider.
Fix:
- Split the work into smaller batches
- Add a model fallback chain on prompt steps so a rate-limited model fails over to another
- Ask the provider to increase your rate limits
Timeout
Error: Execution timed out
Cause: Individual executions take too long to process.
Fix:
- Use faster models or simpler prompts on slow steps
- Set a model-call duration cap with a fallback on prompt steps
- Exclude Records that consistently time out
Invalid data
Error: Invalid JSON or Type error
Cause: A Record’s data doesn’t match the format a step expects.
Fix:
- Add a transform step to normalize the data before the step that fails
- Correct the underlying Records
- Guard the risky step with error handling
Re-running after a fix
There is no separate “retry failed items” control. To reprocess failures:
- Fix the cause — update the Flow logic, or correct the affected Records on the Records page
- Publish the updated Flow if you changed it
- Run the batch again against the same Record type
Because a batch runs over a Record type, fixing the Records and re-running is the path back to a clean result. To stop a run that is going wrong, cancel the batch while it is still processing.
Handling failures inside the Flow
Design Flows so a single bad input does not break the step. In a Run Code step, wrap risky work in try/catch and return a structured result:
Downstream steps can then branch on success with a Conditional Logic step instead of failing the whole execution. Prompt steps have their own error-handling control (continue, stop, or fall back to another model) for model-level failures.
Debugging an individual failure
To investigate one failed Record:
- Open View Details for that row in the batch results
- Review the Record metadata, step output, and error
- For the full execution trace, open Logs and find the execution
See Working with logs for detailed troubleshooting.
Preventing future failures
- Validate inputs: Add validation or defaults at the start of the Flow
- Handle errors gracefully: Use
try/catchin Run Code steps and conditionals to branch on failure - Use model fallbacks: Configure fallback models on prompt steps for rate limits and timeouts
- Test with edge cases: Run a small batch against problematic Records before scaling up
- Watch your quota: Make sure you have enough provider rate limit and execution budget for the batch size
Next steps
- Running flows in batch for batch execution basics
- Debugging flows for flow-level troubleshooting
- Automating batch processing to schedule batches
- Working with logs for production error investigation