Daily Teachable sales digest in Slack

Every weekday at 9am, post yesterday's Teachable revenue, top course, and new students to a Slack channel so the team starts the day informed.

Agentic Task
TeachableSlackSalesOperationsDaily DigestsAI ReportsNotifications & Alerts
PromptCreate

Every weekday at 9am, post a daily Teachable sales digest to a Slack channel.

Trigger: cron, every weekday at 9am in my local time zone.

On each run:

1. Call Teachable's List Transactions for the previous 24 hours (yesterday 00:00 to 23:59 in the same time zone the cron uses). Page through until there are no more results. Teachable's transactions endpoint can lag up to two minutes, so running at 9am for the prior full day is safe.

2. Aggregate the results: total number of transactions, gross revenue, split of one-time vs subscription payments, total refunds, and a per-course breakdown grouped by course and pricing plan. Identify the top-selling course of the day (most sales, break ties by revenue).

3. Also collect the list of individual new students who bought yesterday: student email and the course they enrolled in. Keep the list in the order the sales came in.

4. Post one polished summary message to Slack using Send a Message, to a channel I will specify at setup. The message should start with a short human-readable narrative headline at the top, for example: "12 new enrollments and $2,340 yesterday. Best-seller was Intro to Ceramics with 5 sales." Follow that with a clean bullet breakdown that includes: gross revenue, one-time vs subscription split, refunds, per-course counts and revenue, and a bulleted list of new students (email plus course). Use Slack mrkdwn formatting (*bold*, not **bold**).

5. If there were zero transactions yesterday, post a lightweight message instead, something like "No Teachable sales yesterday. Check ran clean." Never skip the post.

Integrations: Teachable (API key) and Slack (user OAuth, chat:write). Ask me for the Slack channel to post in and the time zone the schedule should follow.

What does this prompt do?

  • Runs every weekday morning at 9am and pulls the previous 24 hours of Teachable sales.
  • Groups sales by course and pricing plan, and totals gross revenue, one-time versus subscription, and refunds.
  • Highlights the best-selling course of the day and lists every new student who bought, with email and course.
  • Posts one clean Slack summary with a plain-English headline on top and a tidy bullet breakdown underneath.
  • If no one bought yesterday, still posts a short 'no sales' note so the team knows the check ran.

What do I need to use this?

  • A Teachable school on a plan that includes API access, and a Teachable API key.
  • A Slack workspace and permission to post in the channel you want the digest to land in.
  • The name or ID of the Slack channel where the daily digest should be posted.

How can I customize it?

  • Change the schedule (for example run at 8am instead of 9am, or include weekends).
  • Point the digest at a different Slack channel or a private team channel.
  • Adjust the summary tone or the fields you want called out, like adding refund totals or filtering to specific courses.

FAQs

What time zone does the 9am schedule use?
You pick the time zone when you set up the workflow. Most teams use the time zone of the person who runs the digest, but you can pick any zone your team works in.
Will it still post on days with no sales?
Yes. On days with zero transactions the workflow posts a lightweight 'no sales yesterday' note instead of skipping, so you always know the check ran.
Can I send the digest to more than one Slack channel?
Yes. Tell the workflow which channels you want, and it will post the same summary to each one.
Does this show individual buyers or only totals?
Both. The top of the message is a short headline with totals and the best seller, and below that is a bullet list of every new student who bought, with their email and the course they enrolled in.
Which Teachable plan do I need?
You need a plan that includes API access, which is Teachable's Pro plan and higher. The setup guide walks you through generating the API key inside your school admin.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Chat quality review board for LiveChat support leads

Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.

LiveChat
Slack
General Input Database
App
Win back no-show and cancelled appointments every morning

Every weekday morning, every appointment that fell through yesterday gets a personal text or email inviting them to rebook, plus a task for the right rep.

LeadConnector
Google Sheets
Slack
Agentic Task
Live Loop returns analytics with product-level drill-down

Pick any date range up to 120 days and see return volume, refund versus exchange mix, and the products behind every number, recalculated each time you open it.

Loop Returns
Google Sheets
Slack
App
Newsletter pre-flight and approval board for Mailjet sends

Every newsletter gets read, checked and signed off in one place, so nothing goes out with a broken link or a half-filled greeting.

Mailjet
Slack
General Input Database
App

Start every morning knowing what sold yesterday.

Connect Teachable and Slack once, and Geni delivers a clean sales recap to your team channel every weekday at 9am.