Limits & Reliability

Overview

This document sets expectations for Defense Catalyst’s operational limits, performance characteristics, and reliability guarantees. Understanding these limits helps you design efficient, reliable workflows.


Flow Limits

Steps per Flow:

Flow Size:

Branches per Flow:

Execution Limits

Run Duration:

Concurrent Executions:

Data Size per Step:

Total Run Data:


Rate Limits

Defense Catalyst Platform

API Requests:

Flow Executions:

Webhook Triggers:

Per-Integration Rate Limits

These are limits imposed by external services:

Service Rate Limit Period Notes
Google Sheets 100 requests 100 seconds Per user
Slack 1 request 1 second Per app
GitHub 5,000 requests 1 hour Authenticated
OpenAI Varies 1 minute By plan
Gmail 500 emails 1 day Free account
SendGrid 100 emails 1 day Free tier
Webhook (outbound) 100 requests 1 minute Per flow

Important: These limits are set by external providers and may change. Always check provider documentation for current limits.

What Happens When You Hit Limits

Platform Limits:

External Service Limits:

Avoiding Rate Limits

Best Practices:

Example: Adding Delays:

Step 1: Get data
Step 2: Wait 1 second
Step 3: Process data
Step 4: Wait 1 second
Step 5: Send result

Polling Intervals

Trigger Polling

Minimum Interval: 5 minutes

Available Intervals:

How Polling Works:

  1. Trigger checks for new data
  2. If found, flow executes
  3. If not, waits until next interval
  4. Repeats continuously

Polling vs Webhooks:

Schedule Resolution

Cron Precision:

Example:

Scheduled for: 14:00:00
Actual execution: 14:00:03 - 14:00:15
Variation: ±15 seconds typical

Why Variation Occurs:


Timeouts

Default Timeouts

Per Step:

Total Run:

Connection Test:

Timeout Behavior

What Happens:

  1. Step exceeds timeout
  2. Step marked as failed
  3. Error: ACTION_TIMEOUT
  4. Subsequent steps don’t run
  5. Run marked as failed

Handling Timeouts:

Services with Known Slow Response

Recommendation: Use async patterns or external processing for these operations.


Data Retention

Run History

Retention Period:

What’s Retained:

After Retention Period:

Logs

Retention Period:

What’s Logged:

Connection Data

Retention:

Credentials:

Archived Flows

Retention:


Retry Behavior

Automatic Retries

When Retries Occur:

Retry Schedule:

Attempt 1: Immediate
Attempt 2: 1 minute later
Attempt 3: 5 minutes later
Attempt 4: 15 minutes later
Attempt 5: 1 hour later
Maximum: 5 attempts

Exponential Backoff:

No Automatic Retry

These errors don’t retry:

Why: These require manual intervention to fix.

Manual Retry

How to Retry:

  1. Open failed run
  2. Click “Retry” button
  3. Run executes with same data
  4. Check results

When to Retry:


Reliability Guarantees

Uptime SLA

Target Uptime: 99.9%

Monitoring:

Data Durability

Guarantees:

What’s Protected:

Disaster Recovery

Recovery Time Objective (RTO): 4 hours

Recovery Point Objective (RPO): 1 hour

Backup Schedule:

Maintenance Windows

Scheduled Maintenance:

Emergency Maintenance:

During Maintenance:


Performance Expectations

Execution Speed

Typical Run Duration:

Factors Affecting Speed:

Trigger Latency

Webhook Triggers:

Polling Triggers:

Schedule Triggers:

API Response Times

Defense Catalyst API:

Flow Execution API:


Scaling Considerations

Horizontal Scaling

What Scales:

What Doesn’t Scale:

Vertical Scaling

Enterprise Features:

Best Practices for Scale

Design for Scale:

Avoid:


Monitoring & Alerts

Built-in Monitoring

What’s Monitored:

Dashboards:

Setting Up Alerts

Alert Types:

Notification Channels:

Metrics to Track

Key Metrics:


Quotas & Billing

Usage Quotas

What Counts:

Quota Resets:

Overage Handling

When Quota Exceeded:

Options:



Quick Reference

Key Limits

Limit Value
Max steps per flow 50
Max run duration 5 minutes
Max data per step 10 MB
Min polling interval 5 minutes
Default step timeout 30 seconds
Run history retention 7-90 days

Rate Limits

Resource Limit
API requests 100/min per user
Flow executions 1,000-10,000/month
Webhook requests 1,000/min

Contact

For limit increases or custom requirements: