Google Sheets logo

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.

When this happens

New submission on your support or bug-report form

Do this

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. 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. 2

    In Google Sheets, create a Tickets worksheet with the headers Received, Reporter, Email, Issue Type, Priority, Subject, Description, Sort Order, Status, Owner.

  3. 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. 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. 5

    Add the Google Sheets Create Spreadsheet Row action, connect the Google account that owns the file, then pick the Tickets worksheet.

  6. 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. 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. 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 fieldGoogle Sheets
Full NameReporter column on the Tickets tab
Work EmailEmail column, used to reply from your mail client
Issue TypeIssue Type column, grouped in a pivot for weekly volumes
PriorityPriority column that drives the queue order
Ticket SubjectSubject column
Issue DescriptionDescription column, set to clip so rows stay one line tall

Variations worth knowing

Feed two forms into the same queue

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.

Split the day's work onto a board tab

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

Sorting by Priority puts High above Low above Medium.

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.

New rows show a red validation flag in the Status column.

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