Weekly Acuity practice performance report in Slack

Every Sunday at 8pm, turn the past week of Acuity Scheduling bookings into a plain-English performance report with insights and next-week actions, posted to Slack and logged to Google Sheets.

Agentic Task
Acuity SchedulingSlackGoogle SheetsOperationsPersonal ProductivityAI ReportsDaily Digests
PromptCreate

Every Sunday at 8pm on a cron trigger, generate a written weekly performance report for my Acuity Scheduling practice and post it to Slack, then log the numeric snapshot to Google Sheets so I have a running history.

Step 1: Pull the past seven days of appointments from Acuity Scheduling using List Appointments with minDate set to seven days ago and maxDate set to now, both in the Acuity account timezone. Paginate by sorting direction ascending and re-issuing the call with minDate equal to the datetime of the last row returned, per Acuity's pagination guidance, until no new rows come back. Also call List Appointments for the prior seven-day window (14 days ago through 7 days ago) so you can compute week-over-week change.

Step 2: Call List Appointment Types once and build a lookup keyed by appointment type id so every appointment row can be enriched with its price (a decimal string like "120.00") and duration in minutes. Do not assume price is a number — parse the decimal string.

Step 3: Compute the numbers for both windows. For the current week: total booked revenue, appointments broken down by type (count and revenue per type), no-show rate, cancellation rate, top five clients by spend (sum price across their appointments that week), and best-earning day-of-week / time-of-day slot. Use Acuity's paid field ("yes"/"no" string) and the noShow and canceled flags correctly. Then repeat for the prior seven days and compute deltas. Flag any appointment types trending up or down by more than a meaningful threshold (say 25% change in count or revenue).

Step 4: Draft a plain-English narrative report, not a numbers dump. Lead with the three most important insights based on the deltas and totals — things like "no-show rate doubled to 12% this week", "90-minute sessions grew 40% week over week", or "Wednesday afternoons are your best-earning slot". Then give two concrete recommended actions for next week (for example: send a reminder text to Tuesday bookings since that's where the no-shows cluster; open a second 90-minute slot on Wednesday). Keep the tone practical and owner-to-owner, not corporate.

Step 5: Post the narrative to Slack via Send a Message in the channel the user picks during setup. Format with a clear headline (date range), the three insights as bullets, the two recommended actions as bullets, and a compact metrics block at the bottom (revenue, appointments, no-show %, cancellation %, WoW revenue change).

Step 6: Append one row to a Google Sheets tab via Append Values with the numeric snapshot: week-ending date, total revenue, appointment count, completed count, no-show count, cancellation count, no-show rate, cancellation rate, top-earning appointment type, and week-over-week revenue delta. The practice owner will use this as a running history to look back on trends across months.

Ask the user during setup for: the Slack channel to post to, the Google Sheets spreadsheet id and tab name for the history log, and confirm the Acuity account timezone (fall back to the account default). If any Acuity type has no price, treat it as zero revenue but still count the appointment.

Additional information

What does this prompt do?
  • Pulls every appointment scheduled or completed in the past seven days from Acuity Scheduling and enriches each row with the appointment type's price and duration.
  • Calculates booked revenue by appointment type, no-show and cancellation rates, top five clients by spend, and week-over-week change against the prior seven days.
  • Drafts a short narrative report highlighting the three most important insights (like a jump in no-shows or a session type trending up) plus two concrete recommended actions for next week.
  • Posts the narrative to a Slack channel and appends the numeric snapshot as a new row to a Google Sheets tab so you build up a running weekly history.
What do I need to use this?
  • An Acuity Scheduling account with at least a week of appointment history.
  • A Slack workspace and the channel you want the weekly report posted to.
  • A Google Sheets file with a tab set up to collect one row per week (columns for date range, revenue, appointments, no-show rate, and any other metrics you care about).
How can I customize it?
  • Change the day and time (defaults to Sunday at 8pm) or the length of the reporting window if you prefer a fortnightly or monthly cadence.
  • Swap the Slack channel, or send the report as a direct message to just the practice owner instead.
  • Adjust which metrics get logged to Google Sheets, or point the log at a different spreadsheet tab for a specific location or practitioner.

Frequently asked questions

Do I need a paid Acuity Scheduling plan for this to work?
Any Acuity plan that lets you connect to the Acuity API will work. If you can log in and see your appointments, you're set — the workflow uses the same data your dashboard shows.
Will this correctly handle no-shows and cancellations?
Yes. The workflow reads Acuity's no-show and cancellation flags on each appointment so it can separate paid, completed sessions from ones that fell through, and it reports the no-show and cancellation rates as percentages.
Can I get the report somewhere other than Slack?
Slack is the default because most practice owners already have it open. You can point the workflow at a different channel, send it as a direct message, or ask a follow-up to route the narrative to email instead.
What if a client books multiple appointment types in one week?
Each appointment is counted separately and priced with its own appointment type, so the report reflects the real mix. The top-clients list totals every appointment that client had that week.
How is week-over-week change calculated?
The workflow pulls the prior seven days at the same time it pulls the current seven days and compares totals side by side — revenue, appointment count, no-show rate, and per-type volume.

Stop guessing whether last week was a good week.

Get a written recap of your Acuity practice every Sunday night, with the numbers that matter and two suggested moves for the week ahead.