View Categories

Use Conditional Logic to Route Tasks

Purpose:
Show how to use one form with multiple Asana feeds plus Conditional Logic to route each submission to the right project/section/assignees and/or apply different task values based on specific form data.


1. When to Use This Approach #

Use this when you have a single form that collects similar requests but needs to create different tasks depending on answers:

  • Request Type field routes to different projects (e.g., Bug → Engineering Intake; Feature → Product Backlog; Billing → Ops Queue).
  • Department field assigns to different reviewers or sections (e.g., Scholarships → Admissions Review; Finance → Budget Approvals).
  • Region/Location field assigns to different team members (e.g., EMEA → EMEA Manager; NA → NA Manager).
  • Priority/Category field escalates urgent items to a separate project/section while normal items go to the general queue.

2. How It Works #

  • Create one feed per route. Each feed defines its own project, section, assignee, due date, tags, etc.
  • In each feed, enable Conditional Logic and set rules like: Process this feed ifAll/Any of the following are true → Field is Value.
  • A submission will trigger any feeds whose conditions match (result: one submission can create multiple tasks if you design it that way).
  • All non-conditional feeds will be processed. To avoid duplicates, it’s best practice to make each feed conditional—even if it’s just serving as a fallback.

3. Setup Instructions #

  1. Add routing fields to the form (e.g., Request Type, Department, Region, Priority).
  2. Create a base feed under Forms → Settings → Asana Integration and configure project/assignee/section.
  3. Enable Conditional Logic for that feed and set its rule(s) (e.g., Request Type is Bug).
  4. Duplicate the feed for each additional route.
  5. In each duplicate, change the destination (project/section/assignee) and adjust the condition to match its route.
  6. Test with sample submissions that hit each path.

4. Example Configurations (Single Form) #

  • Request Type routing
    • If Request Type = Bug → Project: Engineering Intake; Section: Triage; Assignee: On-call.
    • If Request Type = Feature → Project: Product Backlog; Section: New Requests; Assignee: PM.
  • Department reviewers
    • If Department = Scholarships → Project: Admissions Review; Collaborator: Dept Lead.
    • If Department = Finance → Project: Budget Approvals; Assignee: Finance Analyst.
  • Regional assignment
    • If Region = EMEA → Assign to EMEA Manager; Tag: emea.
    • If Region = NA → Assign to NA Manager; Tag: north-america.
  • Priority escalation
    • If Priority = Urgent → Move to Escalations project/section; Due Date: +1 day.
    • Else → General queue project.

5. Tips & Best Practices #

  • Keep feed names descriptive (e.g., “Route: Bug → Eng Intake”).
  • Prefer mutually-exclusive conditions to avoid creating duplicate/parallel tasks unless that’s intentional.
  • When testing, verify the exact values used in rules match the form’s choice values.