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.

Pro feature: Conditional email routing is available on Pro and Business plans.

Operators

Each rule compares a form field value against a target value. All comparisons are case-insensitive.

OperatorMatches whenExample
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:

If at least one non-fallback rule matches, fallback rules are skipped entirely. If no rules match, all fallback rules fire.

Setup

  1. Open your form in the dashboard.
  2. Go to the Automations tab.
  3. Scroll to Conditional routing in the Email card.
  4. Click + Add rule.
  5. Set the field name, operator, value, destination email, and optionally a custom subject.
  6. Check Fallback if the rule should only fire when nothing else matched.
  7. Click Save changes.

Common examples

Route by department dropdown

Your form has a department dropdown with values "Sales", "Support", and "Billing":

ConditionSend toSubject
department equals "Sales"sales@co.comSales inquiry from {name}
department equals "Support"support@co.comSupport request: {message}
department equals "Billing"billing@co.com
Fallbackinfo@co.com

Route internal vs external

Send submissions from company employees to an internal inbox:

ConditionSend to
email ends with "@yourcompany.com"internal@yourcompany.com
Fallbackcontact@yourcompany.com

Urgent flagging

Send an extra notification when the message contains "urgent":

ConditionSend toSubject
message contains "urgent"oncall@co.comURGENT: {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

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
    }
  ]
}