Nightly Front conversation log to Google Sheets
Every weekday at 11pm, add a row to Google Sheets for each Front conversation closed that day so you can run SLA and volume reports off clean data.
Every weekday at 11pm in the org's timezone, export every Front conversation that was closed or archived during that day into a designated Google Sheets tab so we can run weekly SLA and volume reporting off structured data. Build this as a code workflow (deterministic pipeline), not an agent.
Trigger: cron, Monday through Friday at 23:00 in the org's local timezone.
Steps:
1. Compute the day's window as [today 00:00, today 23:59] in the configured timezone. This is the SLA reporting window.
2. Call Front's Search Conversations with a query that scopes to conversations archived during that window (status:archived plus the date range). Page through all results using the returned pagination cursor.
3. For each conversation, call Get Conversation to load the full object (subject, inbox, assignee, tags, recipient handle, created_at) and List Conversation Messages to enumerate messages in chronological order. Derive first_response_at as the timestamp of the first outbound teammate message that follows the first inbound message, and resolved_at as the archive timestamp of the conversation. Compute first_response_minutes and resolution_minutes as the deltas from opened_at.
4. Append one row per conversation to a designated Google Sheets tab using Append Values with valueInputOption=USER_ENTERED and insertDataOption=INSERT_ROWS. Columns, in this exact fixed order:
conversation_id, subject, inbox, sender_email, assignee_email, tags (comma-separated), opened_at, first_response_at, resolved_at, first_response_minutes, resolution_minutes.
Configuration inputs to expose to the user at setup: the target spreadsheet ID, the target sheet/tab name, and the timezone to interpret the daily window in. Column order is fixed; the pipeline should be deterministic and safe to re-run over the same window (appending duplicates is acceptable — the user can clear the day's rows before rerunning). Handle Front pagination and 429 rate-limit responses with backoff.
Additional information
What does this prompt do?
- Runs automatically every weekday at 11pm.
- Pulls every Front conversation that was closed or archived during the day.
- Appends one row per conversation to a Google Sheets tab with fixed columns like inbox, assignee, tags, first response time, and resolution time.
- Gives your team a durable, structured log you can build weekly SLA and volume reports on top of.
What do I need to use this?
- A Front account with admin access, so you can create an API token that can read conversations and messages.
- A Google account with edit access to the spreadsheet you want to log into.
- A Google Sheets file with a dedicated tab set aside for the daily log.
How can I customize it?
- Change when it runs. For example, every hour, only on weekdays, or every day of the week.
- Point it at a different spreadsheet or a different tab inside the same file.
- Add or remove columns, like the first tag only, the contact name, or the channel type.
Frequently asked questions
Will this overwrite rows I already have in the sheet?
Which conversations get logged?
Can I build reports on top of the sheet?
What happens if I need to rerun it for the same day?
Does this replace Front's built-in Analytics?
Related templates
Turn Front conversations into a reportable log.
Connect Front and Google Sheets once, and Geni logs every closed conversation into your spreadsheet each weekday at 11pm.