Common n8n workflow examples
Need ready-to-use n8n workflows that actually work? You’re in the right place. These examples show common integration patterns with Tallyfy - complete with workflow structures and configuration details you can copy directly.
Automatically launch a customer onboarding process when a deal is marked as “Won” in your CRM.
Workflow components:
-
Webhook node (or CRM-specific trigger)
- Receives notification when deal status changes
- Filters for “Won” status only
-
HTTP Request node - Get customer details
- Method: GET
- URL: Your CRM API endpoint for customer data
-
HTTP Request node - Launch Tallyfy process
- Method: POST
- URL:
https://go.tallyfy.com/api/runs - Body:
{"blueprint_id": "customer_onboarding_template_id","name": "Onboarding - {{$json.customer_name}}","kickoff": {"customer_name": "{{$json.customer_name}}","email": "{{$json.email}}","package": "{{$json.deal_type}}","account_manager": "{{$json.assigned_to}}"}} -
Slack node (optional)
- Send notification to sales team about process launch
Here’s how to update multiple systems whenever someone submits a Tallyfy form. No manual copying required.
Workflow components:
-
Webhook node
- Configure in Tallyfy to trigger on task completion
- Filter for specific form-containing tasks
-
IF node - Check task type
- Condition:
{{$json.task.blueprint_step_id}} == "form_step_id"
- Condition:
-
Set node - Extract form data
- Map Tallyfy form fields to standardized variables
-
HTTP Request node - Update CRM
- Method: PUT
- URL: CRM contact endpoint
- Map form fields to CRM fields
-
Google Sheets node - Log submission
- Append row with form data and timestamp
-
Email node - Send confirmation
- To: Form submitter
- Include summary of submitted data
This diagram shows how n8n workflows handle multi-system updates with conditional branching and retry logic.
What to notice:
- Parallel processing branches - The workflow updates CRM, Google Sheets, and sends emails simultaneously, reducing total execution time
- Exponential backoff retry pattern - Failed operations retry with increasing wait times (2s, 4s, 8s) to avoid overwhelming systems
- Conditional path handling - The IF node prevents processing tasks without forms, saving resources and preventing errors
Want to launch weekly review processes that automatically gather data from your tools? This workflow does exactly that.
Workflow components:
-
Schedule Trigger node
- Cron expression:
0 9 * * 1(Every Monday at 9 AM)
- Cron expression:
-
HTTP Request node - Get sales data
- Connect to your analytics API
- Fetch last week’s metrics
-
HTTP Request node - Get support tickets
- Query helpdesk API for open tickets
-
Code node - Process data
const salesTotal = items[0].json.total;const openTickets = items[1].json.count;const reviewData = {week_ending: new Date().toISOString().split('T')[0],sales_total: salesTotal,support_tickets: openTickets,review_priority: openTickets > 50 ? "High" : "Normal"};return [{json: reviewData}]; -
HTTP Request node - Launch Tallyfy process
- Method: POST
- URL:
https://go.tallyfy.com/api/runs - Include collected data in kickoff fields
Need PDF reports when your Tallyfy processes finish? Here’s a workflow that creates them automatically.
Workflow components:
-
Webhook node
- Tallyfy webhook for process completion
-
HTTP Request node - Get process details
- Method: GET
- URL:
https://go.tallyfy.com/api/runs/{{$json.run_id}}
-
HTTP Request node - Get all task data
- Method: GET
- URL:
https://go.tallyfy.com/api/tasks?run_id={{$json.run_id}}
-
Code node - Format report data
const tasks = $input.all();const reportData = {process_name: tasks[0].json.run.name,completed_date: new Date().toISOString(),task_summary: tasks[1].json.map(task => ({name: task.name,completed_by: task.completed_by_name,form_data: task.form_fields}))};return [{json: reportData}]; -
HTML node - Generate HTML template
- Create formatted report layout
-
Convert to PDF node (or external service)
- Convert HTML to PDF
-
Upload to cloud storage
- Store in Google Drive, Dropbox, or S3
Let AI analyze your Tallyfy form responses and route tasks to the right people. Your team gets the work they’re best at - automatically.
Workflow components:
-
Webhook node
- Trigger on Tallyfy form submission
-
OpenAI node (or similar AI service)
- Analyze form content for urgency and category
- Prompt: “Categorize this request and assign priority”
-
Switch node - Route based on AI analysis
- Branch for each category/priority combination
-
HTTP Request node (multiple) - Update task assignment
- Method: PUT
- URL:
https://go.tallyfy.com/api/tasks/{{$json.task_id}} - Assign to appropriate Tallyfy member based on routing
-
Notification nodes
- Alert assigned team member via preferred channel

Sometimes you need a human to review AI outputs or approve actions before they continue. n8n’s “Send and wait for response” nodes let you pause workflows for human input - turning hours of manual review into quick approval checks.
Real-world pattern from production:
- AI generates content (proposal, report, blog post)
- Workflow pauses with notification to Slack/Email asking for review
- Human reviews and responds (approve/reject/modify)
- Workflow continues based on the response
Workflow components:
-
Trigger node - Start from webhook, schedule, or manual
-
AI Agent node - Generate the content that needs review
- Configure with appropriate LLM (Claude, GPT-4, etc.)
- Include clear system prompts for consistent output format
-
Slack node (Human in the Loop category)
- Action: Send message and wait for reply
- Send AI output with clear “Approve” / “Reject” / “Revise” instructions
- Workflow pauses here until response received
-
Switch node - Route based on response
- “Approved” → Continue to next action
- “Rejected” → Log and notify, end workflow
- “Revise” → Loop back to AI with feedback
-
Action nodes - Execute based on approval
- Send proposal to client
- Publish content
- Update CRM records
Example use cases:
- Review proposals before client delivery - AI drafts, human verifies pricing and scope
- Approve AI-generated content before publishing - Catch hallucinations or tone issues
- Validate data enrichment before CRM updates - Confirm AI matched the right company
Pro tip: You can stack multiple human-in-the-loop steps for multi-level approval workflows - just chain several “Send and wait” nodes with different reviewers.
The Switch node lets AI make decisions that branch your workflow into different paths. Instead of complex IF/ELSE chains, use AI classification combined with Switch routing.
Pattern:
Webhook → AI Agent (classify request) → Switch Node → Multiple specialized pathsHow to configure:
-
AI Agent node - Classify the input
- System prompt: “Classify this request as exactly one of: URGENT, NORMAL, or LOW_PRIORITY”
- Output should be a single keyword
-
Switch node - Create rules for each classification
- Mode: Rules
- Add rule: Value equals “URGENT” → Output 0 (urgent path)
- Add rule: Value equals “NORMAL” → Output 1 (normal path)
- Fallback: Output 2 (low priority path)
-
Different paths - Each output connects to specialized handling
- URGENT: Immediate Slack alert + assign to senior staff
- NORMAL: Standard queue + email notification
- LOW_PRIORITY: Batch processing + weekly digest
This pattern works for:
- Customer support ticket triage
- Lead scoring and routing
- Content categorization
- Compliance checking
-
Error handling: Your workflows will fail eventually - plan for it:
On Error: Continue (Error Output)→ Log error details→ Send alert notification→ Store failed data for retry -
Rate limiting: Don’t hammer the APIs. Add Wait nodes between bulk operations:
- Wait 1 second between API calls when processing many items
-
Data validation: Check your data before sending it. Use IF nodes to validate:
- Required fields actually exist
- Data formats match what Tallyfy expects
-
Workflow organization: Future you will thank present you. Use Sticky Note nodes to document:
- Workflow purpose and triggers
- Required credentials and configuration
- Expected data formats
-
Testing approach:
- Start with Manual Trigger for testing
- Add Set nodes with test data
- Use Stop and Error nodes for debugging
-
Retry settings for reliability: Configure retry behavior in workflow settings:
- Set retry count to 2+ for AI and HTTP nodes
- Use 5000ms (5 seconds) between retry attempts
- This handles temporary rate limits and network blips automatically
-
Version history awareness: n8n keeps workflow versions for 5 days:
- Use Export as JSON for permanent backups of important workflows
- You can restore previous versions from the workflow menu
- Before major changes, export a backup JSON file
| Issue | Solution |
|---|---|
| Workflow not triggering | Check webhook is active in both n8n and Tallyfy |
| Data not mapping correctly | Use expression editor’s “Current Node” tab to see available data |
| API errors | Add HTTP Request “Full Response” option to see detailed errors |
| Performance issues | Split large workflows into sub-workflows |
Parallel processing: Process multiple items at once (without breaking things). Use Split In Batches node to handle batches while respecting rate limits.
Retry logic: Sometimes things fail. Here’s smart retry with Wait and IF nodes:
- Set retry counter
- On error, increment counter
- Wait exponentially longer between retries (2s, 4s, 8s…)
- Stop after max retries reached
Data enrichment: Need more context? Chain multiple API calls to gather complete data before launching Tallyfy processes. Perfect for pulling customer history, support tickets, or sales data into one complete picture.
Ready to build? These examples give you working patterns to start from. Tweak them for your specific needs and systems.
Webhooks > Details about webhooks
Was this helpful?
- 2025 Tallyfy, Inc.
- Privacy Policy
- Terms of Use
- Report Issue
- Trademarks