Creating Custom Workflows
Build sophisticated automation without writing a single line of code. Create workflows that trigger actions based on caller behavior, input, or attributes -- from sending follow-up emails to escalating urgent requests in real time.
🎯 What You Will Learn
- How the visual workflow builder works with triggers, conditions, and actions
- Building multi-step workflows with branching logic and delays
- Common workflow patterns: lead nurture, emergency escalation, and info delivery
- Testing, debugging, and monitoring workflows in production
⚠️ Prerequisites
- Familiarity with FORAI's call routing and basic settings
- A clear use case for your first workflow (e.g., 'Send pricing PDF after product inquiry')
- SMS and email templates ready if your workflow sends messages
- Team member contact info for any transfer or notification actions
🚀 Step-by-Step Guide
Open the Workflow Builder
Navigate to Workflows > Create New. The visual builder uses a drag-and-drop canvas. Your workflow starts with a Trigger node on the left and flows right through Conditions and Actions.

Choose your trigger event
Select what starts the workflow. Options include: 'Call Received', 'Keyword Detected', 'Call Ended', 'Voicemail Left', 'Appointment Booked', or 'Custom Webhook'. Each trigger provides different data to downstream nodes.
Add conditional logic (if/then branches)
Drag a 'Condition' node and define your rules. Example: IF caller says 'emergency' OR caller sentiment is 'urgent', THEN follow the priority path. ELSE follow the standard path. You can nest conditions up to 5 levels deep.

Configure actions for each branch
Add action nodes: Send SMS, Send Email, Transfer Call, Create CRM Task, Add Tag, Trigger Webhook, or Notify Team Member. Each action has its own configuration panel with templates and dynamic variables.
Add delays and timing controls
Insert delay nodes between actions: 'Wait 5 minutes then send follow-up SMS', 'Wait until next business day then create task'. Timing controls prevent overwhelming callers with rapid-fire messages.
Test your workflow end-to-end
Click 'Test Mode' to run through the workflow with simulated data. The builder highlights each node as it executes, showing you exactly which path is taken and what data is passed. Fix any issues before activating.
Activate and monitor in production
Toggle the workflow to 'Active'. Monitor execution from the Workflows > Activity Log, which shows every workflow run with timestamps, paths taken, and action results. Set up alerts for failed actions.

🔗 Code Example
{
"workflow_id": "wf_pricing_followup",
"trigger": "keyword_detected",
"keyword": "pricing",
"caller": {
"phone": "+1-555-0456",
"name": "John Doe"
},
"action": "send_sms",
"message": "Hi John, thanks for calling! Here's our pricing guide: https://example.com/pricing.pdf",
"timestamp": "2026-02-06T14:30:00Z"
}💡 Pro Tips
Start with a single-action workflow (e.g., 'Send SMS when caller mentions pricing') and expand from there. Complex workflows are easier to build incrementally.
Use the 'Tag' action generously. Tags like 'hot-lead', 'needs-callback', and 'pricing-requested' make it easy to filter and report on call outcomes later.
Set a maximum execution limit per caller (e.g., once per 24 hours) to prevent the same workflow from firing repeatedly for the same person.
Clone successful workflows as templates. If your 'pricing follow-up' workflow works well, clone it and adapt it for 'service follow-up' with minimal changes.
⚠️ Important Warning
Always test your configuration with the built-in simulator before deploying to live callers. Changes to voice settings, routing rules, and workflows take effect within 60 seconds. Monitor the first 5-10 live calls after any change and revert immediately if you notice issues.
⚙️ Troubleshooting
🚀 Ready to implement this?
Start your free trial today and put this tutorial into practice. No credit card required.
Was this tutorial helpful?