Issue cohort completion certificates with pdfmill, Gmail and Google Drive

Quick overview Issue personalized completion certificates to an entire cohort from one validated webhook. pdfmill renders each PDF, Gmail delivers it, and Google Drive archives the same binary before n8n returns the issued count.

How it works Receives a POST webhook containing the program, organization, issuer, completion date, and complete attendees array. Validates every cohort identity field plus each attendee name, single mailbox address, positive hours, and optional completion-date override before fan-out. Returns one clear 400 response when the roster is empty or any field is malformed, so no invalid cohort can be partially delivered. Creates one item per valid attendee and assigns an execution-scoped certificate number that cannot overlap with adjacent workflow executions. Uses pdfmill to render one branded certificate PDF per attendee and exposes the result in the data binary property. Fans that same binary directly to Gmail and Google Drive, waits for both branches, then returns the program, organization, and issued count.

Setup Install the verified pdfmill node, then add pdfmill, Gmail, and Google Drive credentials in n8n. Choose the Google Drive folder where completed certificates should be archived. Configure the cohort system to send the documented program, organization, issuer, completion date, and attendee fields to the webhook. Copy the production cohort-completed webhook URL and test both a valid roster and a malformed-roster 400 response before activating the integration.

Requirements A pdfmill account plus Gmail and Google Drive access. Each request needs cohort program, organization, issuer name and title, a YYYY-MM-DD completion date, and a non-empty attendees array with name, one mailbox, and positive hours.

Customization Map source aliases in the validation Code node, replace the built-in Certificate template with your own pdfmill branding, or swap the delivery and archive nodes. Preserve whole-roster validation and the post-delivery Merge.

Additional info The gallery JSON contains no credentials or private resource IDs. Configure credentials and the Drive folder after import. Whole-roster rejection is deliberate because it prevents partial certificate delivery.

0
Downloads
0
Views
8.03
Quality Score
beginner
Complexity
Author:Zenaptic Labs(View Original →)
Created:8/28/2026
Updated:8/28/2026

šŸ”’ Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments