All articles

Inside an automation agency: from signed deal to paid invoice without losing track

Agency operations Nadya Neykova Updated 5 minute read

Short answer: Keep every client as one record and put their deals, tasks, invoices, subscriptions and contacts under it. Track time on the same records, so each client shows the hours they paid for next to the hours you've worked. Keep team availability in the same system, so you can see who is free before you assign work. Below is how we do this at Opsters, our automation agency, in Teamo.

Disclosure: I co-founded Teamo and Opsters, the agency Teamo was built out of.

Who is Opsters?

Opsters builds automations on monday.com and Make.com, and AI routines and agents with Claude for work that requires decisions, such as lead qualification. Depending on how busy we are, 10 to 15 people work on client projects at the same time, a mix of employees and contractors. We run our own operations in Teamo.

How should an automation agency structure its client data?

Make the client the center. Everything you do for a client sits under their record, in separate groups:

Group What's in it
Deals Every new deal we sign with the client
Tasks The work we're doing for the client
Invoices Every invoice we've issued, with its payment status
Subscriptions What the client pays us to host and maintain
Contacts The people we work with at the client

Our Gmail is connected, so each client's emails show up in Teamo on the client's record or the contacts under it (see How to log client emails and WhatsApp messages in your CRM automatically). When someone asks "what's going on with this client?", the answer is on one page: the open deal, the project in progress, the last invoice, and the latest emails.

A client record in Teamo with its invoices Clients Table Active 3 Roll-up of paid invoices Formula: paid minus tracked Client Owner Time tracked Total hours paid Difference Harbor Lane Dental MK 34.25 30 -4.25 Northfield Realty JS 32.5 40 7.5 Tasks 6 Invoices 3 Subscriptions 2 Contacts 4 Deals 1 Invoice Status Hours August retainer Paid 20 September retainer Paid 20 October retainer Sent 20 Sent, not paid: not counted Kestrel Logistics AR 41 60 19

What's the difference between a retainer and a subscription?

A subscription is a monthly fee for hosting and maintaining something we built, such as a client's dashboards or automations. A retainer is a number of hours the client buys every month for whatever work they need.

We track them differently. Subscriptions have their own group on the client, because each one covers specific things we maintain. A retainer is measured in hours, so instead of a group it's a set of columns on the client record: how many hours were paid for and how many were used.

How do you track retainer hours used vs hours paid?

We do it with three columns on each client record:

  1. Total hours paid. A roll-up from the client's invoices, filtered to invoices with the status "Paid". When an invoice is marked paid, its hours are added automatically.
  2. Time tracked. Our team tracks time inside Teamo on the client's work. A sum column adds it up for the client, and we set it to count only billable time.
  3. Difference. A formula column subtracts time tracked from hours paid.

This tells us, for every client, whether they have hours left or we've worked more than they paid for. Nobody has to export timesheets or add things up at the end of the month. For the invoices themselves, see How to track billable hours per client and turn them into invoices.

What should a sales-to-delivery handover document include?

Ours has six sections:

  1. Who the client is
  2. What we've discussed so far
  3. What we've sold so far
  4. Main priorities and the initial action plan
  5. Whether we have access to their systems
  6. The agenda for the first delivery meeting

We don't write it by hand. A Claude routine generates it after a deal is closed, using what's already on the client record. The same document later keeps a summary of the client and the workflows we've built for them, so anyone joining the project can catch up from one place.

A handover document in Teamo Clients / Northfield Realty / Handover Share Export Templates Handover: Northfield Realty JS Created 4 Aug 2026 · Edited 2 days ago Who the client is Northfield Realty is a real estate agency with three offices and 24 agents. Our contact is L.M., their operations manager. What we've discussed so far Leads from four listing portals are copied into a spreadsheet by hand, and follow-ups slip when an agent is away. What we've sold so far Lead intake automation, a weekly pipeline dashboard, and a retainer of 20 hours a month. Main priorities and the initial action plan 1. Route portal leads to the right office within minutes 2. Remind the agent when a lead has no reply after a day 3. Build the pipeline dashboard once intake is live Whether we have access to their systems CRM admin access Shared leads inbox Listing portal logins (asked for on 5 Aug) The agenda for the first delivery meeting Confirm the lead routing rules for each office Walk through the intake flow on a real lead Agree on the day the weekly report goes out Lives on the client's record Generated when the deal closes

Where do call notes go?

We use Fathom to record calls. The summaries go into the client's documents. If something in a call needs action, it goes into a comment on the record, tagging the person who has to do it, so it lands with them instead of staying in a summary nobody rereads.

How do you avoid assigning work to someone who is on vacation?

We keep our team in Teamo too: start dates, salaries, time off requests and time off balances. Because this sits in the same system as projects, it shows up in our dashboards and calendars, so we can see who is away before a project needs to start. We also have an automation that flags it if work gets assigned to someone who is currently on vacation.

Which metrics does an automation agency owner watch?

These are the numbers we look at in our Teamo dashboards:

  • Hours spent vs hours paid, per client
  • How much money is coming in over the next few months, and our runway
  • Number of active clients
  • Clients per person, and portfolio value per person
  • Invoice payments still pending
  • Invoices that still need to be issued
  • How busy each person is every week (the workload widget)

We also track our internal projects the same way as client projects, so time spent on Opsters itself shows up in the same reports.


FAQ

How do you track retainer hours used vs hours paid? Roll up paid invoices into a "total hours paid" column on the client, sum the billable time tracked for that client, and use a formula column for the difference. It updates whenever an invoice is marked paid or time is logged.

What's the difference between a retainer and a subscription for an automation agency? A subscription is a monthly fee for hosting and maintaining dashboards or automations the agency built. A retainer is a set number of hours the client buys each month for any work they need.

What should a sales-to-delivery handover document include? Who the client is, what was discussed, what was sold, main priorities and the initial action plan, whether you have access to their systems, and the agenda for the first meeting.

How do you avoid assigning work to someone on vacation? Keep time off in the same system as projects, show it on dashboards and calendars, and set an automation that flags work assigned to someone who is away.

See your own setup in Teamo

Sign up, answer a few questions about your business, and Amo builds your setup.