Patterns & Best Practices
Proven patterns for building reliable, maintainable workflows.
Error handling patterns
Retry with backoff
Repeat (3) →
HTTP Request (call API) →
If-Else (status === 200) →
True: Stop Loop (success)
False: Delay (2s, 4s, 8s — exponential) → continue
→ If-Else (final check) →
Success: Continue workflow
Failure: Send Error Alert → End
Fallback action
HTTP Request (primary API) →
If-Else (status === 200) →
True: Process response
False: HTTP Request (fallback API) →
If-Else (fallback status === 200) →
True: Process fallback response
False: Log Error → Send Alert → End
Error notification
[Any node with Continue on Error enabled] →
If-Else (previous node succeeded) →
True: Continue normally
False: Send Email to Yourself (ERROR priority) → End or Continue
Data flow patterns
Enrich then store
Trigger → Person Enrichment → Company Enrichment → Create Record (save enriched data)
Transform then send
Trigger → Transformer (format message) → Send Slack → Send Email → Log
Aggregate then report
Schedule (daily) → Find All Records → For Each →
Transformer (extract metrics) →
Loop End → TinyGPT (summarize) → Send Email (daily report)
Conditional routing
Priority-based routing
Trigger → TinyGPT (classify priority) → If-Else →
urgent: Send SMS + Send Slack (#on-call) + Create JIRA (P0)
high: Send Slack (#engineering) + Create JIRA (P1)
normal: Create JIRA (P2)
low: Add to spreadsheet
Role-based routing
Form Submission → If-Else (role field) →
"Developer": → Technical onboarding workflow
"Manager": → Enterprise onboarding workflow
"Other": → General welcome email
Batch processing
Process with rate limiting
Find All Records → For Each →
HTTP Request (call API) →
Delay (1 second — respect rate limits) →
Loop End
Chunk large datasets
Schedule → Find All Records (LIMIT 100) →
For Each → Process → Update Record (mark processed) →
Loop End
[Runs every hour, processes 100 at a time]
Best practices
Naming
- Name your workflow descriptively: "Slack → JIRA ticket on @mention" > "Untitled Workflow"
- Name nodes by what they do: "Classify priority" > "TinyGPT"
Testing
- Test with real data before publishing
- Use "Send Email to Yourself" for quick debugging
- Check execution history after the first few live runs
Reliability
- Always handle errors; don't assume APIs never fail
- Set timeouts on HTTP requests (default 30s may be too long for some APIs)
- Use Delay in loops to avoid rate limiting
- Keep workflows focused: one workflow per automation, not one mega-workflow
Monitoring
- Check Execution History regularly for failed runs
- Set up error notification workflows that alert you on failures
- Monitor credit usage for AI-heavy workflows
Tip
Start simple: trigger + one action + publish. Get it working, then add complexity. The best workflows are built incrementally, not designed upfront.
Warning
Avoid long chains without error handling. If node 8 out of 10 fails, nodes 1-7 already executed; their effects (emails sent, records created) can't be undone. Add error checks after critical actions.