07.07
Send your numbers to one weekly sheet
Know where each number comes from and feed leads and appointments into one Google Sheet automatically.
Video walkthrough
- Every number has a home: CRM, calendar, ad platform, agreement
- HighLevel: a workflow that writes a row for each lead and each appointment
- Follow Up Boss: report exports with the same date range
- Copy spend from Meta Ads Manager once a week
- The sheet feeds the Part 08 scorecard
What you're building
A simple data flow into one Google Sheet: a Leads tab that gets one row per new lead, an Appointments tab that gets one row per booking and status change, and a Weekly tab where you paste spend and signed clients. Part 08 turns that sheet into your scorecard.
Why it matters
Numbers pulled from five screens on a Monday morning rarely use the same dates or definitions. A sheet fed by the CRM as things happen keeps a record you can recount, filter by source, and compare week to week.
What you need
- A Google account and a new Google Sheet with tabs named Leads, Appointments and Weekly
- HighLevel workflows from earlier chapters, or Follow Up Boss reporting access
- Access to Meta Ads Manager reporting
Time and cost
- Time
- 40 minutes
- Cost
- $0 to low
HighLevel describes its Google Sheets action as a premium workflow action; premium executions may be billed depending on your agency plan. Check before switching it on.
Step by step
Write down where each number comes from
Number Home How it reaches the sheet New leads by source CRM Row per lead (HighLevel action) or weekly export (Follow Up Boss Lead Sources report) Appointments booked and held Booking calendar + status in CRM Row per status change (HighLevel) or Appointment report export (Follow Up Boss) Spend Meta Ads Manager Copied weekly, same dates Signed clients Agreement software, reflected in CRM stage Copied weekly from the CRM stage or pipeline Revenue Your closing statements Copied when commission is received Check: Your Weekly tab has one column per number, each with its home written in the header note.
HighLevel: add a Google Sheets row to the lead workflow
Connect your Google account, choose the Drive, spreadsheet and the Leads worksheet, refresh the headers, and map columns: date created, first name, source, assigned user, SMS consent. One row is written each time the workflow runs.
Do the same in a workflow with the Appointment Status trigger, writing to Appointments: date, contact, calendar, status.
Check: A test submission adds one row to Leads within a minute; booking and marking the test appointment adds rows to Appointments.
Follow Up Boss: export the same reports every week
Set the time frame to last week (Monday to Sunday), lead type to the type you report on, and export to CSV. Repeat for Reporting > Appointments with the same dates. Paste the totals into the Weekly tab.
Check: The lead count in your Weekly tab equals the Lead Sources report total for the same dates.
Copy spend from Meta Ads Manager with the same dates
In Ads Manager, set the date range to the same Monday to Sunday and read Amount spent per campaign. Paste it into the Weekly tab. Recent days can still change for up to 48 hours, so do this on Tuesday for the previous week or note that Monday's figure is an estimate.
Check: Spend in the sheet matches Ads Manager for the same date range.
What success looks like
- New leads and appointment changes appear in the sheet without anyone typing them (HighLevel) or from one weekly export (Follow Up Boss).
- Every number in the Weekly tab uses the same Monday to Sunday dates.
- Test leads are excluded by their
test-leadtag or source.
Copyable templates
Leads tab:
Date created,First name,Source,Assigned user,SMS consent,Tags
Appointments tab:
Date,Contact,Calendar,Status,Assigned user
Weekly tab:
Week starting,Spend,New leads,Qualified conversations,Appointments booked,Appointments held,Signed clients,RevenueTry it
- CRM→toGoogle Sheetrow per lead
- Calendar status→toGoogle Sheetrow per status
- Meta Ads Manager→toGoogle Sheetweekly copy
- Agreements→toGoogle Sheetweekly copy
- Google Sheet→toScorecard
How to test it
Submit, book, and mark one test lead as Showed. Confirm one row appears in Leads and two in Appointments (booked, then showed). Then filter the sheet to exclude test-lead and confirm your totals ignore it.
Troubleshooting
HighLevel: the row is written but columns are shifted or empty.
The sheet headers changed after mapping. Refresh headers in the action and remap the columns.
Duplicate rows for one lead.
Two workflows write to the same tab. Keep one writer per tab, or add a filter so only the first form submission writes a row.
Weekly totals in the sheet and the CRM disagree.
Check the date range (Monday to Sunday in both), the time zone of the CRM account, and whether test leads were excluded.
Advanced technical details
Optional. You can follow every step above without these.
Technical detailsAutomating the feed with webhooks
HighLevel's outbound Webhook action posts the contact and trigger data to a URL; the Custom Webhook action (premium) lets you set method, headers, authentication and a raw JSON body. Execution Logs confirm the action ran but do not show the payload, so inspect payloads with a request-capture tool during setup.
Follow Up Boss: register peopleCreated and appointmentsCreated webhooks (account owner only, up to two per event per system). Respond 2XX within 10 seconds; failed deliveries are retried. Each payload has a uri to GET for the record, so your receiver needs an API key. A small script (Google Apps Script web app, or a Zapier Catch Hook) can receive the event, fetch the record and append a row.
Zapier's Catch Hook trigger parses JSON, XML or form-encoded POST bodies; send a sample request before clicking Test trigger, because an empty request is ignored.
Sources
Written from the best available information. One or more steps could not be confirmed; see the notes in the chapter. Last checked 2026-10-20.
- Workflow Action - Google SheetsHighLevel Help Center · read 2026-10-20
- How to use the Google Sheets Premium Workflow ActionHighLevel Help Center · read 2026-10-20
- Workflow Trigger - Appointment StatusHighLevel Help Center · read 2026-10-20
- Workflow Action - Webhook (Outbound)HighLevel Help Center · read 2026-10-20
- Workflow Action - Custom WebhookHighLevel Help Center · read 2026-10-20
- How to enable and rebill Premium Features for WorkflowsHighLevel Help Center · read 2026-10-20
- Speed to lead & lead source reportFollow Up Boss Help Center · read 2026-10-20
- Appointment ReportFollow Up Boss Help Center · read 2026-10-20
- Exporting reports to a spreadsheetFollow Up Boss Help Center · read 2026-10-20
- WebhooksFollow Up Boss API Docs · read 2026-10-20
- Amount SpentMeta Business Help Center · read 2026-10-20
- Trigger Zap workflows from webhooksZapier Help Center · read 2026-10-20
- Zap is not receiving webhooksZapier Help Center · read 2026-10-20