Dashboard
Live view of everything submitted. Filter by date range, client, and role.
Daily dials - recent activity in this view
Speed to lead - time from a new lead coming in to the first call
Closer leaderboard - by cash collected
Setter leaderboard - by cash set
Setters - activity + output, ranked
Closers - activity + output, ranked
By client (invoicing view)
Closed deals
Daily Report
One compiled report per offer: yesterday's results (from the team's EODs) and today's forecast (from this morning's Start-of-Day projections), setters and closers together. This is the same report that auto-posts to each client's Slack every morning - set the channel under Integrations → Daily report.
Invoicing
Generate each client's founder invoice (they pay TSA weekly), auto-built from closed deals + collected payments. Billing week is Monday to Sunday; invoices go out Wednesday for the last completed week (review Wed, questions Thu, paid Fri). Super Admin only. Set each client's billing rate, invoice stats, and TSA's wire/ACH details under Billing settings.
Accounts receivable / projected incoming payments - every pending wire & installment across all offers, so you can walk into the month knowing what's projected to come in and what TSA is projected to bill. Payments count toward the window by their expected date.
Commissions owed to setters and closers for a pay cycle. Reps are paid twice a month, in arrears: earnings 1st–15th are paid the 30th (same month), and earnings 16th–end of month are paid the 15th of the next month. Commission = each rep's cash collected in the cycle (deals closed in-cycle + wires/payments that cleared in-cycle) × their rate: the offer's rep-comp rate if set, otherwise the default closer/setter rate from Settings. Pick a rep's name for a printable statement.
Send a client a $1.00 verification wire request so they can confirm the transfer path before their first weekly payout. Uses TSA's wire details from Billing settings. Print/save the PDF or draft the email.
Client billing rate
What each client pays TSA. Flat = one % of their cash collected. Rep comp + override = closer % + setter % + TSA override %, summed. Visible to Super Admin only.
TSA payment details (wire / ACH)
Shown on every founder invoice so clients know where to send the wire/ACH. Stored once for your workspace.
Invoice stats to show
Which performance stats appear on the founder invoice (the "Performance stats" card). Toggle any off you don't want the client to see.
My Deals & Payments
Your closed deals. When a wire or a later payment lands, open a deal and add the payment - log a wire as Pending until it clears, then hit Confirm. It only counts toward your cash and commission once confirmed.
Log a Closed Deal
Submit this the moment a deal closes. It feeds the invoicing view and credits the setter who set it.
Post-Call Checkout
Fill this in after every call - the outcome of each one, win or lose. Closers: pick Won (closed) and the deal fields appear so it also logs as a closed deal. Setters: log what happened on every connected call. Drop your Fathom link so your manager can review the call.
End of Day Checkout
Fill this in once at the end of each day for the account you worked. Pick your role first - the form only shows the fields that apply to you. Leave anything that's zero blank or as 0.
Start of Day Projections
Fill this in at the start of each day for the account you're working. Pick your role first - the form only shows the fields that apply to you.
Meeting Agenda
Fill your section for each client before the meeting so everyone reads it first, then we discuss. Log what you commit to in Promises so we track who does what by when. Your name is signed to everything you add.
Wins & account updates
For each account you manage, write your update and any win. Leave an account blank if there is nothing to report. The single Save all updates button below saves these and the whole-team note together.
Whole team updates - not tied to a specific account
Agenda
Promises & commitments - who owes what by when
Promises & Commitments
Everything anyone committed to, in one place. Log a commitment, check it off when done (completed ones stay visible for the record), and review a whole month at a glance for accountability.
Time Off
Request a day off and track its status. Your assigned manager approves it; an approved day off shows as a neutral marker and does not count as a missed report.
Request a day off
Day-off requests - approve or deny for the reps you manage
Manager End of Day
Fill the end-of-day numbers for every offer you manage in one place, then submit once. Each offer is its own section below. Leave a section blank if there is nothing to report for it. Managers get held accountable the same way reps do; the raw numbers also auto-roll onto the Meeting agenda.
Recent manager EODs - latest per manager, account + day
End of Webinar Report
Fill this in after each webinar. Enter the raw counts and the rates (show rate, close rate, earnings per registrant) are calculated for you. A few numbers - emails delivered and live attendees - come from Zoom / WebinarJam / your ESP, so plug those in manually. Only count sales from calls booked off this webinar.
Webinars - calculated rates
Call Log
Every post-call checkout, newest first, from closers and setters. Review any call's outcome and open the recording. Reps see their own account; managers and admins see everything.
Admin Report
Leadership-only. See who submitted their reports (Setter / Closer / Manager EOD) AND their performance over any date range. Pick a From and To date (or a quick range). Tables cover the whole range; a day-by-day grid shows for ranges of 16 days or fewer.
Calendar
Every booked meeting across all your connected GHL clients, in one place - no logging into each account. Shows who the meeting is with and which rep's calendar it's on. Pulled live from GHL.
Speed to Lead
How fast a new lead gets its first outbound call, pulled live from GHL. Pick a client and the window the leads came in, then Load. Speed to lead is measured from when the lead was created in GHL to the first outbound call on that contact.
By rep - avg time to first call
Leads
Recruiting
Search the candidate pool, let AI rank best fit, then tag a group for a GHL SMS/email blast. Tags write to the recruiting Airtable ("Campaign Tags"); the GHL send is wired off those tags.
Drag a candidate between stages to update their recruitment status. The board respects the filters above, so narrow it (role, stars, keyword) before dragging.
After a group interview, decide each candidate: Send offer, Shortlist (bench, for a future spot), or Not qualified. Anyone you leave undecided can be swept to Not qualified with the button below.
Messages
Rep Onboarding
Data + Export
Everything submitted lives here. Export for invoicing or backup.
Daily edit - fix a rep's numbers by day if they entered them wrong
Pick the rep, their account, and the month. Edit any cell and hit Save changes - it re-submits that day so the corrected numbers replace the wrong ones everywhere.
All records
Users
Create a login for each rep, pick their role, and assign the team(s) / account(s) they work. Setters see only the setter end-of-day form; closers see the closed-deal + closer forms; both see a Rep Breakdown scoped to their assigned teams. Admins see everything.
Rep onboarding - new setters/closers being set up. Work down each step so no one stalls.
▾Add a user
Create a new login here. Fill everything - manager, hire date and account are captured up front so nothing is missed. To change someone who already exists, hit Edit on their row below (one window for roles, offers, manager, dates and responsibilities).
▾Team members
Assign teams
Tick every account this person works. Saving updates only their team assignment (no password needed).
Responsibilities
Toggle the function(s) this person runs for each account. One person can run several, and across several accounts - e.g. someone who runs Webinar on some accounts and also manages Setters or Closers on others. What you turn on here unlocks the matching tabs for them (Webinar unlocks the Webinar tab; Setters/Closers unlock the manager tabs). One person per function per account: turning one on that another manager holds reassigns it (their name shows in grey).
Hire and termination dates are set separately, with the Hire / dates button on the person's row above.
Rep details
Hire and termination dates keep pre-employment and post-termination days from counting as missed reports (and feed churn per offer on the Admin Report). The assigned manager is who approves this rep's days off.
Client Overview
Every client at a glance: status, manager, existing monthly, cash collected this month, and the next step. Add or update a client below.
Clients
Add or update a client
Onboarding Checklist
Track each new client through the launch steps. Advance a step and everyone sees where each client stands and where it is stuck.
All clients - progress
Due & overdue - every open step, most urgent first (the daily accountability list)
Client checklist
Manage checklist steps (admin)
Reorder with the arrows, rename, reassign the owner, add or remove steps. This applies to every client. Save when done.
Rep Breakdown
Every setter and closer, split out. Click a rep's name to see their day-by-day submissions. Numbers reconcile with the Dashboard leaderboard.
Start-of-day projections - today's plan + who submitted
EOD submissions - who checked out that day
Setters
Closers
Rep detail
Integrations
Connect payment processors and daily reports to a client's Slack or Discord channels. Each webhook posts to its own channel with its own message format, and every hit is logged so we can map the fields.
▾All webhooks - every source across ALL clients (admin overview, not just the one selected above)
▾Payment webhooks - one inbound URL per payment source (Whop, Elective, Fanbasis)
One per source (Whop, Elective, Fanbasis, a specific offer...). Name it, paste the Slack channel it should post to, copy the inbound URL into the processor, and edit the message format. Fields you can use: {{amount}} {{customer}} {{product}} {{currency}} {{event}} {{raw.any.path}}.
▾Event feeds - new closed deal, post-call, start-of-day
▾EOD reports - setter, closer, manager end-of-day
▾CRM push (GHL) - send closed deals + post-call dispositions back to the client's GHL (paid/organic attribution)
Settings
Manage clients, reps, products, goals, commission rates, the shared-data endpoint, and the master admin password.
Clients
Clients are managed on the Client Overview tab now (status, manager, offers, cash). Add or edit them there - this list is retired to avoid two places to keep in sync.
Closers & setters
Reps come from the Users tab. Create a login there with their role and team, and they'll appear automatically in the Log Closed Deal and End of Day dropdowns - no separate list to maintain here.
Default offers
The master offer list. New clients start with these (you trim per client on Client Overview), and it's the fallback when a client has none set.
Targets + payout rates
Shared data + accounts (recommended)
Deploy the Google Apps Script backend (see README) so all submissions and all user logins live in one shared Google Sheet, working across every device. Paste its Web App URL here.
Master admin password
Break-glass owner login. Sign in with username tsaboss and this password to manage everything, even before the backend is set up. Change it from the default.
Slack bot - workspace linking
Link each client's Slack workspace to the account the /tsa bot may share there. A workspace only ever returns data for the client you link it to - this is the wall that keeps clients from seeing each other.