Love Spreadsheets
PricingContactAPI
Log inSign up free
Tutorials

Client Request Tracker for Agencies — Free from Sheets

Love SpreadsheetsPublished Jul 22, 20265 min read

Here is how work enters most marketing agencies: an email to the account manager, a Slack DM to whichever designer the client likes, a comment on last month's report, and — for the special clients — a 9:40pm text that begins "super quick one." Each channel feels harmless. Together they mean the agency has no queue, only vibes, and the person deciding what gets done next is whoever happened to see their phone.

The damage shows up on the last day of the month. That "tiny tweak" to the landing-page hero took a designer half a Tuesday. The client on the 20-hour retainer consumed 34, and nobody can prove it because the requests lived in four apps and zero rows. Meanwhile the contract promises a 48-hour response time that no one is measuring, which is a fun thing to discover during a renewal negotiation.

Agencies don't need another project-management suite for this — the intake is the broken part. What fixes intake is a request tracker every client feeds and one sheet the team runs from.

Step 1: One Sheet, One Row per Request

Structure the main tab around the questions that decide an agency's week — what is it, how big is it, and when did we promise it:

ColumnExample
Ticket IDREQ-0311
ClientHalcyon Dental
RequestSwap hero image on spring landing page
TypeTweak
Hours est.0.5
StatusQueued
AssignedMarco
SLA dueJul 24, 5:00 PM

Then two quiet workhorses: a directory tab pairing each client and request type with its owner (Marco owns Halcyon's creative, Dana owns paid media across accounts), and an FAQ tab answering the questions clients repeat — how to send assets, what a retainer includes, when reports go out.

Step 2: Grab a Free Account

Register at lovespreadsheets.com. The free tier builds and operates everything below; upgrading buys the login-gated team console and running the whole thing on youragency.com, which clients notice and juniors don't.

lovespreadsheets.com
Describe what you want to build from your spreadsheet…
client_requests.xlsxSend →
Your free account, your sheet attached — client_requests.xlsx stays the source of truth.

Step 3: Write the Brief in Agency Language

Select the Website template and brief the AI the way you'd brief production. Client side:

"Each client gets a simple request page: name, what they need, how urgent, attachments. Submitting creates a row tagged with their client name and an auto-generated ticket ID, and they instantly receive an email confirming we've logged it. If their question resembles something in my FAQ tab — like how to share assets — include that answer in the confirmation as a pointer, with a note that their account manager will follow up either way."

Team side:

"Internally, show one master queue across all clients behind a login — filter by client, type, and status, edit estimates and assignments inline, and alert the owner listed in my directory tab whenever their client submits."

Three requests that make this an agency tool rather than a generic queue:

  • Per-client request portals feeding one sheet — every client gets their own submission link; the team sees a single consolidated queue
  • An hours-logged column beside the estimate — so retainer burn is visible mid-month, not autopsied after it
  • SLA timers keyed to contract tier — platinum clients on 24-hour clocks, standard on 72, with overdue rows surfacing first

Run AI Optimize, answer whatever it asks back, and the build completes in about 15–20 minutes.

lovespreadsheets.com
"Each client gets a request page with urgency and attachments; tag rows by client with ticket IDs, confirm instantly, and alert the owner from my directory tab on every submission."
client_requests.xlsx✦ AI OptimizeSend →
Plain English is the whole interface — AI Optimize tightens the wording if it needs it.
lovespreadsheets.com
Building your request queue
Reading your columns
Designing the app
·Wiring two-way sync
The AI builds while you watch (or play) — typically 15–20 minutes.

Step 4: Every "Quick One" Becomes a Row

Send each client their link with a one-line policy: requests submitted here get SLA treatment. Texts and DMs still happen — the account manager forwards them into the form in ten seconds and replies "logged, ticket REQ-0312." From that moment the request has an ID, an estimate, an owner who was already alerted, and a deadline the sheet is watching. To be clear about scope: this queue handles inbound requests; for the status-reporting side, client portals are their own build.

lovespreadsheets.com
requests.brightforkagency.comCopy link
Private — team logins only+ Add team memberCustom domain: Connect
One link for the whole team — private logins and your own domain are the paid extras.
What you end up with
requests.brightforkagency.com
Client Request QueueLive appSynced to your sheet
REQ-0311Swap hero image — Halcyon DentalTweakSLA 5:00 PM
REQ-0308Spring landing page copy edit0.5 hrDelivered
REQ-0314June blog banner refreshDesignQueued — Marco
Client requests land with an hours estimate and an SLA clock — no more scope creep hiding in email threads.

Why Agencies Keep the Sheet

Scope creep becomes arithmetic. Sum hours-logged per client, set it beside the retainer, and the "can we talk about expanding the engagement?" email writes itself — with receipts.

One queue outranks four channels. When intake converges on rows, prioritization stops being a memory contest between account managers and starts being a sort by SLA due.

Timestamps win renewals. "Median response: 6 hours against a 48-hour SLA" is a renewal slide you can generate from two columns, the same way agencies already report from a spreadsheet project tracker.

Common Questions from Agency Owners

Will clients actually submit forms instead of texting? Most will once the form is the fastest route to a guaranteed response — and for holdouts, forwarding a text into the queue takes less time than triaging it in Slack.

Can one client see another client's requests? No. Each portal is client-specific; only your logged-in team sees the consolidated master sheet.

How do we bill overages this catches? Filter the month, subtract the retainer from hours logged, and attach the ticket list to the invoice — disputes get short when every request has an ID the client created.

Build Yours

The foundational pattern lives in our Google Sheets customer support system guide; the agency edition swaps customers for clients and adds the burn math. Draft the eight columns, brief the AI at lovespreadsheets.com, and by Friday the 9:40pm "super quick one" arrives with a ticket ID and an SLA clock already running.

Skip the manual steps — build this in 60 seconds
Upload the sheet you already have and let AI turn it into a working app.
Try it free
More versions of this guide
Written by
Love Spreadsheets

The team turning other people's spreadsheets into software they actually trust — one sheet at a time.

Keep reading

Tutorials

Tax Calculator Lead Generation for Accountants

Jul 22, 20265 min read
Tutorials

Contractor Estimate Calculator That Wins You Leads

Jul 22, 20264 min read
Tutorials

Macro Calculator for Coaches: Grow Your List, Not Ads

Jul 22, 20264 min read

Your spreadsheet is already an app. Let's turn it on.

Upload your sheet and watch it become a working app — with a real engineer to finish the last mile with you.