Track support requests in a Tickets tab
Each support request lands on the Tickets tab with issue type, priority and reporter email, ready to sort and mark resolved.
New submission on your support or bug-report form
Create a row in the Tickets worksheet with issue type, priority and reporter email
One-directional. A submission triggers the action — nothing is written back into your form.
Plenty of teams support their colleagues or customers without owning a help desk. A spreadsheet is a perfectly good queue as long as somebody is not pasting requests into it by hand, which is the part this flow removes: every submission becomes a row in the Tickets worksheet as it arrives.
IT and ops teams of two or three reach for this. The value is in the columns the Zap does not touch — status, owner, resolved date — which stay entirely under human control.
Setting it up
- 1
Publish the support form with Priority and Issue Type as select questions with short, fixed answer lists. The tab is only sortable while the wording never drifts.
- 2
In Google Sheets, create a Tickets worksheet with the headers Received, Reporter, Email, Issue Type, Priority, Subject, Description, Sort Order, Status, Owner.
- 3
Give Status a data validation dropdown — New, In progress, Waiting, Resolved — set to show a warning rather than reject input, and leave Status and Owner out of the Zap entirely.
- 4
In Zapier, choose formformform as the trigger app with New Submission, connect your account and select the support form as the one to watch.
- 5
Add the Google Sheets Create Spreadsheet Row action, connect the Google account that owns the file, then pick the Tickets worksheet.
- 6
Map Full Name and Work Email into Reporter and Email, then send Issue Type, Priority, Ticket Subject and Issue Description into their matching columns.
- 7
Put a formula in Sort Order that turns the Priority text into a number, and sort your filter view on that column so urgent work is not buried alphabetically.
- 8
Submit one test ticket at each priority, check the queue orders them the way you expect, then turn the Zap on.
What maps where
Using the IT Help Desk Ticket as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | Google Sheets |
|---|---|
| Full Name | Reporter column on the Tickets tab |
| Work Email | Email column, used to reply from your mail client |
| Issue Type | Issue Type column, grouped in a pivot for weekly volumes |
| Priority | Priority column that drives the queue order |
| Ticket Subject | Subject column |
| Issue Description | Description column, set to clip so rows stay one line tall |
Variations worth knowing
A bug report form and an IT request form can both write to the Tickets worksheet. Build a second Zap with the same action, add a Channel column, and set it to a fixed value in each Zap. One queue, two front doors, and a column that tells you which request came from where.
Leave Tickets as the raw log and add a Today tab holding =QUERY(Tickets!A:J,"select * where I = 'New' order by H"). The Zap keeps appending to the log, the board rebuilds itself, and nobody sorts the source data by hand while a row is being written.
If something isn't arriving
Google Sheets is sorting text alphabetically, which is not your escalation order. Keep the Sort Order column, fill it with a formula that maps each priority word to 1, 2 or 3, and sort on that. Renaming the form's answers to "1 - Urgent" style works too.
Data validation set to reject input will block a value the Zap writes; set to warn, it only flags one. Either leave Status unmapped, as this recipe does, or copy the dropdown options character for character from the answers the form actually sends.
Frequently asked questions
Can I reply to the person who reported the issue from the spreadsheet?
Not from the sheet itself. The Email column is there so you can reply from your normal mail client in one click. If you want an automatic acknowledgement, add a second action to the same Zap that sends the email, rather than expecting the sheet to send it.
Does marking a ticket resolved in the sheet change anything on the form?
No. The connection runs one way: a submission creates a row. Nothing is read back out of Google Sheets and nothing is written into the form or shown to the reporter, so status is purely your team's record of where the work stands.
How do I stop the tab growing forever?
Move closed tickets off it. Once a month, filter Status to Resolved, cut those rows into an Archive tab in the same file, and delete them from Tickets. New rows keep appending below whatever is left, and your filter views stay quick to load.
Related automations
- Build an RSVP list with a live headcount
Every registration adds a row to the RSVPs worksheet, and a SUM keeps the headcount current for catering.
- Capture feedback for pivot table analysis
Every survey response lands on the Responses tab with score, category and comment, ready for a pivot table.
- Collect job applications in a hiring tracker
Each application becomes a row on the Candidates tab, with the scoring columns left empty for reviewers to fill in.
- Log every lead in a master spreadsheet
Every lead form submission becomes a row on the Leads tab, with name, work email, company and source already filled in.
- Record orders in a packing list spreadsheet
Each order lands on the Orders tab with product, quantity, variant and customer, ready to pick and pack from.
- Add every inbound enquiry to your Notion leads database
Every business enquiry lands in your Notion Leads database as a page tagged New, with the company and inquiry type already filled in.
Build the form first
The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.
Start free