Weekly re-engagement drafts for stalled Teachable students

By General Input

Every Monday morning, spot students who have stalled in your Teachable courses and get personalized nudge emails waiting as Gmail drafts for you to review.

Integrations

  • Teachable
  • Gmail

Type

Agentic Task

Categories

  • Marketing
  • Customer Support

Build me an agent workflow that runs every Monday at 8am (school timezone) and drafts personalized re-engagement emails in Gmail for students who have stalled out in my Teachable courses. The agent should identify stalled students, write a genuinely personal nudge for each one, and leave the messages as unsent Gmail drafts so I can review before hitting send.

Trigger: cron, weekly on Mondays at 08:00.

What the agent should do on each run:

1. Call Teachable List Courses to get every active course in the school. For each course, call Teachable List Course Enrollments to pull the current student roster along with their progress percentage and the timestamps the enrollment exposes.

2. For each enrolled student, call Teachable Get Course Progress to see the per-lecture breakdown (which lectures they have completed, which are in progress, and the timestamps). Use this to identify stalled students. A student is stalled if BOTH of the following are true: they enrolled more than 14 days ago, AND they have made no lecture progress in the last 14 days OR they are stuck on the same in-progress lecture two weeks running. Skip students at 100% completion and students who enrolled less than 14 days ago.

3. Dedupe against recent nudges. Before drafting, call Gmail List Drafts (or search sent + drafts) with a query that surfaces messages sent to that student in the last 30 days. If a re-engagement email already exists, skip them. Prefer including a stable subject-line marker like "Checking in on {Course Name}" so future runs can detect prior nudges reliably.

4. Cap the batch at 20 stalled students per run. If more than 20 qualify, prioritize students who enrolled most recently (they are still warm) and defer the rest to next week.

5. For each selected student, call Gmail Create a Draft to compose a warm, first-person email from me (the course creator). Every draft must reference: the specific course name, the last lecture the student completed (by title, not lecture ID), and a concrete next step (the exact next lecture waiting for them, by title, with a one-sentence reason it is worth their time). Keep the tone empathetic and human, not marketing-y. No "we miss you" boilerplate. Assume the student is busy, not uninterested. Sign off using the school's or creator's name.

6. Leave every message as an unsent draft in Gmail. Do NOT send anything. The whole point is that I review and send manually.

Output a short run summary I can glance at: how many courses were scanned, how many students qualified, how many were skipped as recently-nudged, and how many drafts were created.

Respect Teachable's 100-requests-per-minute rate limit. Paginate list responses fully. If a course has no enrollments or a student has no progress record yet, skip gracefully. If the batch cap is hit mid-run, stop cleanly with a note in the summary.

Integrations: Teachable (List Courses, List Course Enrollments, Get Course Progress) and Gmail (List Drafts, Create a Draft).

Related prompts

Explore more prompts
Win back LiveChat visitors whose chats went unansweredChase the paperwork every new client and vendor still owesFile Gmail attachments into storage with names you can findCandidate rediscovery desk for your archived Lever applicantsLaytime and demurrage claim workspace for chartering opsKajabi customer support console for member access fixesRun your application review round on Jotform submissionsRun your nutrition clients' weekly meal plans from one consoleReplace the dispatch whiteboard with a live production boardJob search command center with a self-filling pipeline board