Zapier Trigger for a New Deliverable Summary
For Statisticians ·
What This Builds
A Zap that notices when a new deliverable or QC log lands in a shared Drive folder, and posts a short summary to your team's channel automatically, without anyone needing to check the folder by hand. The summary is built from the file's name, its folder, when it arrived, and at most the warning and note lines from a QC log. Nothing from inside the deliverable itself, no tables, no listings, no data, ever reaches the AI step.
Prerequisites
- Professional plan ($29.99/month). A Zap with this many steps needs a paid tier. Zapier's free plan caps both the number of steps and how often it checks for new files.
- Edit access to the shared Drive folder, or equivalent, where deliverables and QC logs land
- A Slack channel, or other team channel Zapier can post to, where the summary should show up
- Sign-off from whoever owns your data policy that this Zap's scope, filename, folder, timestamp, and warning and note lines only, is an acceptable use of an automation platform for your team's deliverables
The Concept
A Zap is a chain of small automated steps. Something happens first (the trigger), and a series of things happen in response (the actions). Here the trigger is a new file landing in a folder. The actions filter that event down to just the file worth reacting to, pull out a narrow slice of text from its QC log, ask an AI step to summarize that slice, and post the summary to your channel. Everything downstream of the trigger works on metadata and a few flagged log lines, never the deliverable's actual content. That is the whole point: a summary in a channel is a convenience, not a place where trial data, claims data, or survey microdata should ever travel.
Build It Step by Step
Part 1: Set the trigger
Start a new Zap and choose Google Drive, or your equivalent shared drive, as the trigger app. Select the New File in Folder trigger event and point it at the specific folder where deliverables and QC logs land, not a broader parent folder. Test the trigger against a file already in that folder so you can see exactly what data the trigger step makes available downstream: filename, folder path, timestamp, and a file link.
Part 2: Filter to the files worth reacting to
Add a Filter by Zapier step using its Only continue if... action. Set a condition on the filename, for example "Filename contains QC_log," so the Zap only continues for files matching your team's QC log naming convention rather than firing for every file that lands in the folder.
Part 3: Pull out only the warning and note lines
Add a Formatter by Zapier step, choose the Text action, and select the Extract Pattern transform. Point it at the file's text content and use a regex pattern that matches lines starting with "WARNING" or "NOTE," with the Match All option turned on so it captures every matching line, not just the first. This step is what keeps the AI step from ever seeing the file's full contents. Zapier itself still reads the whole log to run the pattern, so the log has to be safe to pass through an automation platform: no PUT statements or debugging output that print subject-level values, and a sign-off that covers the full log and not only the extracted lines. Confirm the file connector you're using can expose plain text content here. Some file types need an extra conversion step before Formatter can read them, and if a deliverable format can't be read as plain text without exposing its tables, skip the AI step for that file type entirely and route it to a manual check instead.
Part 4: Send the extracted lines to the AI step
Add a ChatGPT step and choose the Conversation (Recommended) action. In the prompt, pass through only the trigger's filename, folder, and timestamp fields plus the warning and note lines pulled out in Part 3. Write the prompt to be explicit about scope:
Summarize the QC status of the deliverable below in three sentences or less,
for a team Slack channel. Do not speculate about content you were not given.
File: [insert the trigger's file name field]
Folder: [insert the trigger's folder field]
Landed: [insert the trigger's created-time field]
Warnings and notes from the QC log:
[insert the Formatter step's output field]
Part 5: Post the summary
Add a Slack step using the Send Channel Message action, pointed at your team's channel, and map in the ChatGPT step's summary output along with the filename and timestamp so the message is self-contained without anyone needing to open the file.
Real Example: A New TLF Package Lands in the Deliverables Folder
Setup: A statistician's team keeps a shared Drive folder where a validated production job drops the finished TLF package and its QC log every time a run completes.
Input: A QC log named Study104_QC_log_2026-09-17.txt lands in the folder at 6:42am, flagged with two WARNING lines about a footnote that didn't populate for one table and zero NOTE lines otherwise.
Output: By 6:45am the team's Slack channel shows a three-sentence summary naming the file, the folder, the timestamp, and the two footnote warnings, with a prompt for whoever's on QC duty to check that table before the review meeting.
Time saved: Nobody has to remember to check the folder. The gap between a deliverable landing and someone knowing its QC status drops from however long until the next manual check, sometimes a full day, to about three minutes.
What to Do When It Breaks
- The Zap stops firing and nobody notices for a week → This is the failure you can't see happening. A Zap that silently turns off, a disconnected account, a hit usage cap, an app permission that expired, produces no error message anyone sees unless they go looking. Turn on Zapier's built-in Zap health notifications, and have one person spot-check the Slack channel against the folder's actual contents once a week until you trust the Zap's uptime.
- The Filter step lets through files it shouldn't → Naming conventions drift. If someone starts naming QC logs slightly differently, the filter's condition stops matching what you expect. Review the filter's condition whenever your team's naming convention changes, not just when you first build the Zap.
- The Extract Pattern step returns nothing, or returns unrelated text → Test the regex directly against a sample log file's raw text before trusting it in the live Zap. A log format change, extra whitespace or a renamed prefix, can silently break a pattern that worked fine last month.
- The AI summary references something that wasn't in the extracted lines → Treat this as the model filling a gap rather than reporting a fact. Check the prompt is actually excluding everything except the filename, folder, timestamp, and extracted lines. A leftover raw-content field mapped in by mistake is the more likely cause than the model inventing content from nothing.
Variations
- Simpler version: Skip the Formatter and Extract Pattern step and summarize only the filename, folder, and timestamp, a pure "something landed" notification with no log content at all.
- Extended version: Add a second Filter step after the AI summary that only posts to Slack when the summary contains a warning, keeping clean runs out of the channel entirely and surfacing only the ones that need attention.
What to Do Next
- This week: Build the Zap against one folder and one naming pattern, and watch it run for a few real deliverables before trusting it unattended.
- This month: Extend the naming pattern filter to cover every deliverable type your team produces, not just QC logs.
- Advanced: Pair this with the scheduled macro documentation workflow so both unattended systems report into the same channel, giving your team one place to check instead of two.
Advanced guide for statistician professionals. These techniques use more sophisticated AI features that may require paid subscriptions.