Log HappyFox ticket activity to Google Sheets hourly

Every hour, we pull new and updated HappyFox tickets and add them to a Google Sheet, giving you a running activity log ready for reporting and dashboards.

Deterministic Code
HappyFoxGoogle SheetsCustomer SupportOperationsData Sync
PromptCreate

Every hour, on a cron schedule, sync recently changed HappyFox tickets into a Google Sheet so support activity is always available for reporting and BI. This is a deterministic list, map, and append sync, not an agent.

Use the HappyFox List Tickets operation to fetch tickets, sorted by last update (most recently updated first) and filtered to the window since the previous run, meaning tickets created or updated in the past hour. HappyFox returns a page_info object and accepts size (max 50) and page parameters, so request the maximum page size and advance page from 1 up to page_info.page_count to collect every ticket in the window. All HappyFox timestamps are UTC, so compare against a UTC one-hour cutoff.

For each ticket, map its key fields into a single row: ticket number (the ticket id and display id), subject, status, priority, category, assigned agent, requester name, requester email, created timestamp, and last-updated timestamp. Status, priority, category, and assignee come back as numeric IDs in HappyFox, so include the human-readable names alongside them wherever the list payload provides them, and fall back to the ID if a name is missing.

Append the mapped rows to the tracking spreadsheet using the Google Sheets Append Values operation, writing after the last row of the existing data so the sheet becomes a running activity log. Keep one row per ticket update rather than upserting existing rows, which preserves a full history that downstream dashboards and pivot tables can build on. If the sheet is empty on the first run, write a header row first.

Append rows in ascending last-updated order so the log reads chronologically, and if no tickets changed in the past hour, leave the sheet unchanged.

Additional information

What does this prompt do?
  • Checks HappyFox every hour for tickets created or updated in the last hour.
  • Records each ticket's key details (number, subject, status, priority, category, assigned agent, and requester) as a new row.
  • Appends every update to a Google Sheet so you build a complete, time-stamped history of ticket activity.
  • Keeps your dashboards, pivot tables, and BI tools fed with current support data, no manual exports required.
What do I need to use this?
  • A HappyFox help desk account with API access enabled.
  • A Google account and a Google Sheet to log tickets into.
How can I customize it?
  • Change how often it runs, from every hour to every few hours or once a day.
  • Choose which ticket fields land in the sheet and in what order.
  • Point it at a different spreadsheet or tab, or narrow it to specific statuses or categories.

Frequently asked questions

Do I need to export tickets from HappyFox by hand?
No. The workflow checks HappyFox on a schedule and adds new activity to your sheet automatically, so you never have to run a manual export.
Will this create duplicate rows?
It adds a new row each time a ticket shows up in an hourly check, so an active ticket can appear more than once over its lifetime. That is by design: it builds a running activity log instead of a single snapshot. Use a pivot table to roll up to the latest status per ticket.
How far back does it look?
By default it grabs tickets created or updated in the past hour, matching how often it runs, so nothing is missed and nothing is double-counted.
Can I use a spreadsheet I already have?
Yes. Point it at any Google Sheet and tab, and new rows are added after your existing data.
Do I need a paid HappyFox plan?
You need a HappyFox plan with API access enabled, which is where the ticket data comes from. Any account that can generate an API key will work.

Stop exporting support tickets by hand.

Set up an automatic, always-current log of your HappyFox tickets in Google Sheets.