Guide · Assignment
How to send Google Form responses to different people based on their answers
Short answer: Base the routing on one required multiple-choice or dropdown question, such as Department or Request type, and keep a routing table that gives each answer one owner, plus a fallback owner for anything that doesn't match. Google Forms™ can't route responses on its own, so a linked spreadsheet, a script, an add-on or a follow-up tool applies the table. Make sure the owner is told, recorded on the response, and easy to change.
Prefer it automatic? See how Form Watchdog assigns by answer.
On this page
- Sending a response is not the same as assigning it
- Choose how responses get an owner
- Design the question that routes responses
- Write the routing table
- Free method: route in the linked spreadsheet
- Script method: email the owner with Apps Script
- Add-ons and follow-up tools
- Plan for reassignment
- Compare the methods
- How Form Watchdog assigns by answer
- Frequently asked questions
Sending a response is not the same as assigning it
Routing answers two questions: who should hear about this response, and who owns it. Conditional email notifications only answer the first. Assignment answers the second: one person, recorded on the response, who is reminded while it's open and can be replaced if needed.
Both can come from the same routing rules, so this guide starts there. For the basics of turning notifications on, see how to get email notifications for Google Forms.
Choose how responses get an owner
| Approach | How it works | Works best when |
|---|---|---|
| One owner for the form | Every response goes to the same person | One person, or a coordinator, handles the form |
| By answer | An answer in the form picks the owner | Requests fall into clear categories |
| Dispatcher | Someone reads each response and assigns it | Categories are unclear or need judgment |
| Rotation | Owners take turns | Several people handle the same kind of request |
The first two combine well: route clear categories by answer, and send everything else to a coordinator as the fallback. Rotation needs a script or a tool that offers it.
Design the question that routes responses
- Use multiple choice or a dropdown. Checkboxes allow several answers, which makes the owner ambiguous, and typed text can't be matched reliably.
- Make it required, so every response can be routed.
- Write the options in the respondent's words: “A billing or payment question”, not the name of your internal team.
- Add a catch-all option such as “Something else”, and give it a fallback owner. The built-in Other option collects free text, which can't match a rule, so those responses also go to the fallback.
- Keep option labels stable. Rules match the exact text, so when you rename an option in the form, update the routing table too.
Section branching (Go to section based on answer) is useful for asking follow-up questions, but it only changes what the respondent sees. It doesn't send the response to anyone.
Write the routing table
Write the rules down before you set anything up. The same table then drives the spreadsheet, the script or the tool:
| Answer | Owner | Backup | Also informed |
|---|---|---|---|
| A billing or payment question | Maria, billing lead | Tom | Finance mailbox |
| A technical problem | Alex, support | Priya | Nobody |
| A repair or maintenance request | Facilities coordinator | Site manager | Building manager |
| Something else | Office manager (fallback) | Nobody | Nobody |
Each answer has exactly one owner. The people in the last column are kept informed, but the owner is the one who replies. For absences, name a backup rather than a second owner.
Free method: route in the linked spreadsheet
If you already track responses in Google Sheets (see the tracking setup in our first guide), a lookup formula can fill in the owner of each new row.
- Add a tab named Routing with the answers in column A and the owners in column B, one row per answer, written exactly as in the form.
- Add two columns to the right of the form's columns in the response tab: Reassigned to (G in this example) and Owner (H). If your sheet already has an Owner column, for example from our first guide, put the formula in that column instead, add Reassigned to in the next free column, and change the letters to match.
- Fill the owner automatically. In H1, enter this formula. It assumes the routing question is in column C:
Each new response takes its owner from the Routing tab, an answer missing from the table goes to the fallback (“Office manager” here), and a name typed in Reassigned to takes over. Never type in the Owner column itself. Depending on your regional settings, you may need semicolons instead of commas.=ARRAYFORMULA(IF(ROW(A:A)=1,"Owner",IF(A:A="","",IF(G:G<>"",G:G,IFERROR(VLOOKUP(C:C,Routing!A:B,2,FALSE),"Office manager"))))) - Base views on the Owner column. Filter views and highlights that use it follow reassignments automatically.
- Tell the owner. Spreadsheet notification rules only notify the person who sets them up, so either a coordinator checks new rows every day, or, with a work or school account, adds a comment on the row, mentions the owner with @ and ticks Assign to: Google then emails them.
This method is free and transparent: anyone can read the rules. It doesn't notify owners by itself, and it doesn't keep a record of who reassigned what.
To turn the sheet into a request queue with ticket IDs, statuses and priorities, see how to build a simple ticketing system with Google Forms and Google Sheets.
Script method: email the owner with Apps Script
Apps Script, Google's scripting tool, can read the routing answer and email the owner as soon as a response arrives. Open the response spreadsheet, choose Extensions › Apps Script, and paste a function like this one:
// Owners by answer, copied from your routing table.
const OWNERS = {
'A billing or payment question': 'maria@yourorg.com',
'A technical problem': 'alex@yourorg.com',
'A repair or maintenance request': 'facilities@yourorg.com',
};
const FALLBACK = 'office@yourorg.com';
function emailOwner(e) {
const answer = (e.namedValues['Request type'] || [''])[0];
const owner = OWNERS[answer] || FALLBACK;
MailApp.sendEmail(owner, 'New request: ' + (answer || 'no type'),
'A new form response was routed to you. Open the response sheet to see it.');
}
- Replace Request type with the exact title of your routing question, and the addresses with your own.
- In the Apps Script editor, open Triggers, add a trigger for
emailOwner, and choose From spreadsheet and On form submit. - Approve the permissions Google asks for, then send a test response.
The email stays short on purpose: the answers remain in the sheet rather than in inboxes. Plan for three things. Each recipient counts toward Apps Script's daily email quota. The trigger runs under the account that created it, and stops if that account is removed. Errors are easy to miss, so set the trigger's failure notifications to reach you. The script doesn't record an owner in the sheet, so use it alongside the Owner column above.
Add-ons and follow-up tools
If you'd rather not maintain formulas or code, two kinds of tools apply routing rules for you. Notification add-ons send different emails depending on the answers, which settles who hears about a response. Follow-up tools also record an owner on each response and track it until it's closed. When you compare tools, check whether they:
- record who owns each response, not only who was emailed;
- let you change the owner, and tell the new owner;
- fall back to a default owner when no rule matches;
- remind the owner until the response is closed;
- show each person their own open responses.
Plan for reassignment
Routing rules are right most of the time, not all of the time. A request lands in the wrong category, an owner goes on vacation, one person gets too much. Whatever method you use, decide in advance:
- Who may reassign: usually the coordinator, or any owner passing a response on.
- How the new owner finds out: an email, a comment or an assignment notice, never a silent edit.
- Where the change is recorded, so you can see later who had the response, and when.
- How unassigned responses get noticed: a filter view on an empty Owner, or a tool's “Unassigned” view.
And keep the routing table current: when someone leaves, update the table, not just their inbox.
Compare the methods
| Method | Records an owner | Emails the owner | Reassignment | Upkeep |
|---|---|---|---|---|
| Routing table in Sheets | Yes, in a column | Only through comments or a script | Type a name in a column | Formulas and a daily check |
| Apps Script | Only if you code it | Yes | Only if you code it | Code, quotas and failures to watch |
| Notification add-on | Depends on the add-on | Yes, by answer | Depends on the add-on | The vendor maintains it, you maintain the rules |
| Follow-up tool such as Form Watchdog | Yes | Yes, with the deadline | Built in, with history | A subscription |
How Form Watchdog assigns by answer
In Form Watchdog, routing and assignment are one step: the person a response is routed to becomes its owner.
- Turn on Assign by answer for a form, and select a multiple-choice or dropdown question.
- For each answer, choose who it's assigned to: a responder, the form's automatic assignment, or no assignment. You can also pick notification contacts who are informed for that answer only.
- Set the fallback with Automatic assignment. If no routing option matches, the form's automatic assignment is used.
Two roles keep it simple. Owners connect forms, set the rules and invite the team; they see every response and can change the assignee from the inbox. Responders see only the responses assigned to them. Notification contacts receive emails but get no access to your workspace.
When a response is assigned, the responder gets an email with the response deadline, then reminders and overdue alerts until it's marked handled. Each response keeps a history, with entries such as “Assignment changed from Maria to Tom”.
Limits worth knowing: routing uses one question per form, checkbox and text questions can't be used for routing, and assignments don't rotate between people.
Backups from your routing table stay a team rule: when someone is away, an Owner changes the assignee from the inbox.
Set up your routing table once, and let each response find its owner.
Frequently asked questions
Can a response have two owners?
It can be sent to several people, but it should have one owner: when two people own the same response, neither knows who should reply first. Keep the others informed, as in the Also informed column above.
Should respondents pick a person's name?
It works, but options based on the type of request last longer. When someone leaves or changes role, you update the routing table instead of editing the form.
Can I route by location or language?
Yes, the same way: ask a required dropdown question such as “Which site?” or “Preferred language”, and give each option an owner.
Form Watchdog is an independent product and is not affiliated with, sponsored or endorsed by Google LLC. Google Forms™ is a trademark of Google LLC.