For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dashboard
User GuideDeveloper GuidesAPI Reference
User GuideDeveloper GuidesAPI Reference
  • Getting Started
    • What is Runtype?
    • Creating your account
    • Platform Keys vs. BYOK
    • Understanding the Runtype UI
    • Quickstart: Social Media Post Generator
    • Quickstart: From Agent to Chat Widget
  • Dashboard
    • What is the Dashboard?
    • Daily Executions
  • Playground
    • What is the Playground?
  • Products & Surfaces
    • What are Products?
    • What are Surfaces?
    • Creating a Product
    • Setting up a Chat Surface
    • Setting up an API Surface
    • Setting up an MCP Surface
    • Setting up an A2A Surface
    • Setting up a Slack Surface
    • MCP authentication
    • Authenticating with product API keys
    • Embedding the chat widget (script tag)
    • Embedding the chat widget (React)
    • Surface orchestration modes
    • Product views
    • Adding Capabilities to a product
    • Connecting external agents
    • How A2A works
    • Connecting to Cursor / VS Code
    • Connecting to Claude Desktop
    • Scoping API keys to capabilities
    • Auto-generated OpenAPI spec
    • Calling your API endpoints
    • Client tokens and domain restrictions
    • AI-powered theme generation
    • Widget theming and customization
    • Product versioning and status
  • Flows
    • What are Flows?
    • Creating and Editing Flows
    • Flow step types overview
    • Agent and Flow Templates
    • Using prompt steps
    • Using transform-data steps
    • Using conditional steps
    • Using fetch-url and api-call steps
    • Using record steps (upsert/retrieve)
    • Flow variables and templates
    • Flow versioning and publishing
    • Running flows in batch
    • Handling batch failures
    • Debugging flows
  • Agents
    • What are Agents?
    • Creating and configuring Agents
    • Agent tools
  • Records
    • What are Records?
    • Creating and managing records
    • Using records in flows
    • Filtering and searching records
  • Tools
    • What are Tools?
    • Built-in Tools
    • Creating custom tools
    • Creating external tools
    • Runtime tools
  • Evals
    • What are Evals?
    • Running an Eval
    • Interpreting eval results
  • Schedules
    • What are Schedules?
    • Automating batch processing
  • Logs
    • What are Logs?
    • Working with Logs
  • Integrations
    • Connecting AI model providers
    • Slack integration
    • Google Workspace integration
    • GitHub integration
    • Linear integration
    • Weaviate (vector search)
    • Firecrawl (web scraping)
    • Exa (web search)
  • Settings
    • What's in Settings?
    • Available AI models
    • What are Organizations?
    • Managing AI models
    • Managing API keys
    • Billing and plans
    • Usage data
    • Team members and permissions
    • Appearance and preferences
    • Integrations (PostHog, Weaviate, Daytona)
  • Troubleshooting & FAQ
    • FAQ
    • Rate Limits and Usage
    • Managing Runtype with Claude
    • Flow execution failures
    • Common errors and solutions
    • Authentication issues
Dashboard
LogoLogo
On this page
  • Identifying failures
  • Common failure types
  • Input validation errors
  • API rate limits
  • Timeout
  • Invalid data
  • Downloading failed items
  • Fixing and retrying
  • Fix the flow
  • Fix the data
  • Retry with adjustments
  • Partial success handling
  • Monitoring during execution
  • Debugging individual failures
  • Preventing future failures
  • When to give up
  • Next steps
Flows

Handling batch failures

Was this page helpful?
Previous

Debugging flows

Next
Built with

When batch executions fail, diagnose and resolve issues using execution logs, error patterns, and retry strategies.

Identifying failures

After a batch completes:

  1. Go to Logs → Batch Jobs
  2. Open the batch execution
  3. Check the Failed count
  4. Click View Failures

You’ll see all failed items with error messages.

Common failure types

Input validation errors

Error: Missing required field: customerId

Cause: Input data missing expected fields.

Fix:

  • Review CSV headers or JSON keys
  • Ensure all required fields are present
  • Add validation at the start of the flow to handle missing data

API rate limits

Error: Rate limit exceeded

Cause: Too many concurrent requests to external API or AI model provider.

Fix:

  • Reduce batch concurrency in settings
  • Add delay steps between API calls
  • Split batch into smaller chunks
  • Contact provider to increase rate limits

Timeout

Error: Execution timed out

Cause: Individual items taking too long to process (default step timeout is 5 minutes).

Fix:

  • Optimize slow steps (faster models, simpler prompts)
  • Remove items that consistently time out
  • Adjust step timeout if needed

Invalid data

Error: Invalid JSON or Type error

Cause: Data doesn’t match expected format.

Fix:

  • Add data validation steps
  • Clean input data before batch processing
  • Use transform steps to normalize data

Downloading failed items

  1. On the batch job page, click Download Failed Items
  2. Save the CSV file
  3. Review error messages in the error column

This file includes original inputs plus error details.

Fixing and retrying

Fix the flow

If failures are due to flow logic:

  1. Update the flow to handle edge cases
  2. Add error handling (try/catch in transform steps)
  3. Publish the updated flow
  4. Re-run the batch with failed items

Fix the data

If failures are due to bad input:

  1. Open the failed items CSV
  2. Correct the problematic data
  3. Remove the error column
  4. Upload the corrected CSV as a new batch

Retry with adjustments

Re-run failed items with different settings:

  1. Go to batch job page
  2. Click Retry Failed Items
  3. Adjust:
    • Lower concurrency
  • Higher timeout
  • Different model (if prompt step failures)
  1. Click Start Retry

Look for patterns in failures. If 20% of items fail with the same error, fix the root cause rather than retrying individual items.

Partial success handling

Design flows to handle partial failures gracefully:

1// In a transform step
2try {
3 const result = riskyOperation(input);
4 return { success: true, result };
5} catch (error) {
6 return { success: false, error: error.message, input };
7}

This prevents entire batch from failing on individual errors.

Monitoring during execution

Watch batch progress in real-time:

  1. Go to batch job page
  2. Enable Live Updates
  3. Monitor success/failure counts
  4. Cancel the batch if failure rate is too high

Debugging individual failures

To investigate a specific failed item:

  1. Find the execution ID in the failed items list
  2. Go to Logs
  3. Search for the execution ID
  4. Review full execution trace

See Working with Logs for detailed troubleshooting.

Preventing future failures

  • Validate inputs: Add validation steps at flow start
  • Set realistic timeouts: Allow enough time for complex operations
  • Handle errors gracefully: Use try/catch and conditional error handling
  • Test with edge cases: Run small batches with problematic data before scaling
  • Monitor API quotas: Ensure you have sufficient rate limits

When to give up

Some items may be impossible to process:

  • Fundamentally corrupted data
  • External services permanently unavailable
  • Items that consistently timeout despite optimization

Document these items, exclude them from future batches, and investigate root causes separately.

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