Conditional Email Routing
Send notifications to different email addresses based on what the submitter filled in.
How it works
Routing rules evaluate each submission against a set of conditions. When a condition matches, FormBlade sends the notification email to the address specified in that rule — instead of (or in addition to) the default notification email.
All matching rules fire. If a submission matches three rules, three emails are sent. Rules do not stop after the first match.
Routing rules run after spam checks. Spam submissions are never routed.
Operators
Each rule compares a form field value against a target value. All comparisons are case-insensitive.
| Operator | Matches when | Example |
|---|---|---|
equals |
Field value is exactly the target | department equals "Sales" |
not equals |
Field value is anything except the target | country not equals "US" |
contains |
Field value includes the target anywhere | message contains "urgent" |
not contains |
Field value does not include the target | email not contains "spam" |
starts with |
Field value begins with the target | phone starts with "+1" |
ends with |
Field value ends with the target | email ends with "@company.com" |
is empty |
Field is blank or not submitted | company is empty (individual, not business) |
is not empty |
Field has any value | phone is not empty (has phone number) |
Custom subject lines
Each rule can optionally set a custom email subject. Use curly braces to insert submission field values:
Sales inquiry from {name} ({company})
If no custom subject is set, the default subject is used: New submission: [form name].
Template variables use the exact field names from your form. If a field is not present in the submission, the placeholder is left as-is (e.g., {company} stays literal if the form has no "company" field).
Fallback rules
A rule marked as fallback only fires when no other non-fallback rule matched. This is useful for catch-all routing:
- Route "Sales" inquiries to
sales@company.com - Route "Support" inquiries to
support@company.com - Fallback: send everything else to
info@company.com
If at least one non-fallback rule matches, fallback rules are skipped entirely. If no rules match, all fallback rules fire.
Setup
- Open your form in the dashboard.
- Go to the Automations tab.
- Scroll to Conditional routing in the Email card.
- Click + Add rule.
- Set the field name, operator, value, destination email, and optionally a custom subject.
- Check Fallback if the rule should only fire when nothing else matched.
- Click Save changes.
Common examples
Route by department dropdown
Your form has a department dropdown with values "Sales", "Support", and "Billing":
| Condition | Send to | Subject |
|---|---|---|
| department equals "Sales" | sales@co.com | Sales inquiry from {name} |
| department equals "Support" | support@co.com | Support request: {message} |
| department equals "Billing" | billing@co.com | |
| Fallback | info@co.com |
Route internal vs external
Send submissions from company employees to an internal inbox:
| Condition | Send to |
|---|---|
| email ends with "@yourcompany.com" | internal@yourcompany.com |
| Fallback | contact@yourcompany.com |
Urgent flagging
Send an extra notification when the message contains "urgent":
| Condition | Send to | Subject |
|---|---|---|
| message contains "urgent" | oncall@co.com | URGENT: {name} needs help |
The default notification still goes to the primary email. The routing rule sends an additional notification to the on-call inbox.
How routing interacts with other email settings
- Primary notification email — always receives the notification, regardless of routing rules. Routing is in addition to the primary email, not a replacement.
- CC emails — also always receive the notification. CC is independent of routing.
- Auto-responder — sends to the submitter, not affected by routing rules.
- Email connection — routing emails are sent through the same email provider configured on the form.
- Spam — spam submissions are never routed. Rules only evaluate on clean submissions.
Limits
There is no hard limit on the number of routing rules per form. However, each matched rule generates a separate email, which counts toward your plan's notification limit.
API
Routing rules are stored in the email_routing_rules field on the form object. You can read and update them via the Forms API:
PATCH /api/forms/{form_id}
Content-Type: application/json
{
"email_routing_rules": [
{
"field": "department",
"operator": "equals",
"value": "Sales",
"email": "sales@company.com",
"subject": "Sales inquiry from {name}",
"is_fallback": false
},
{
"field": "",
"operator": "equals",
"value": "",
"email": "info@company.com",
"is_fallback": true
}
]
}