Quick Overview
This workflow checks Airtable client projects on a schedule, uses OpenAI to draft check-in emails for projects that have gone quiet, sends them via Gmail, logs the outreach back to Airtable, and posts status updates to Discord, plus a weekly health digest every Friday.
How it works
- Runs every Monday at 09:00 (workflow timezone) and reads the “Client Projects” table from Airtable.
- Calculates days since each active project’s last_touch date, flags projects that have been quiet for 10+ days, and emails an internal address if some rows have missing or malformed last_touch values.
- If no projects are quiet, posts an “all clear” message to Discord.
- For each quiet project, uses OpenAI to generate a short check-in email (subject and body) that references the project name and stage.
- Sends the check-in email to the client via Gmail, appends a record to the Airtable “Touch Log” table, and updates the project’s last_touch date in Airtable.
- Posts a one-line summary to Discord for each check-in email that is sent.
- Runs every Friday at 16:00, compiles project health metrics from Airtable (including recent check-ins), uses OpenAI to write a brief digest, and sends it via Gmail and Discord.
Setup
- Create (or update) an Airtable base with a “Client Projects” table and a “Touch Log” table, including fields used by the workflow such as project_id, status, last_touch, client_email, and log_id.
- Add Airtable personal access token credentials and set the correct base ID and table names for both the project read/update steps and the touch log append step.
- Add a Gmail OAuth2 credential, then set the sender mailbox and confirm the internal notification recipient addresses for data-problem alerts and the Friday digest.
- Add a Discord webhook credential and configure the target Discord channel(s) for the “all clear”, per-check-in summary, and weekly digest messages.
- Add an OpenAI API credential and optionally adjust the model, prompts, schedules, and the quiet threshold (currently 10 days) to match your process.