Generate bulk certificates from Google Sheets and Google Slides

Go to Workflow
1 views
Built by Diego Alejandro Parrás Diego Alejandro Parrás
Created on June 08, 2026

Description

Bulk certificate generator from Google Sheets and Slides

Categories: Productivity, Education, Google, Automation

Automate the creation of personalized certificates, diplomas, or event invitations at scale. This workflow takes a list of recipients from Google Sheets, generates customized PDFs from a Google Slides template, and tracks completion—perfect for course completions, event attendance, or team recognition programs.

Benefits

Save 95% of manual time** - Generate hundreds of certificates in minutes instead of hours of copy-paste work
Zero design skills needed** - Create your template once in Google Slides (or download from Canva and import), then let automation handle the rest
Built-in tracking** - Automatically marks processed recipients and stores Drive links in your spreadsheet
Rate-limit safe** - Includes intelligent delays to respect Google API quotas
Clean workspace** - Automatically deletes temporary files after PDF generation

How It Works

The workflow processes recipients one at a time in a loop:

Read recipients - Fetches unprocessed rows from your Google Sheet (filtered by "Processed = FALSE")
Copy template - Creates a temporary copy of your Google Slides template for each recipient
Personalize content - Replaces placeholders ({{name}}, {{date}}, {{certificateid}}) with actual recipient data
Export to PDF - Converts the personalized slide to a high-quality PDF
Save to Drive - Stores the final PDF in your designated Google Drive folder
Update tracker - Marks the row as processed and adds the Drive link to your sheet
Cleanup - Deletes the temporary slide copy to avoid clutter
Rate limiting - Waits 2 seconds before processing the next recipient (prevents API quota issues)

The loop continues until all unprocessed recipients are handled.

Required Setup

Google Sheet Structure

Your spreadsheet needs these columns (exact names):

| Column Name | Description | Example |
|------------|-------------|---------|
| CertificateID | Unique identifier (used for filename) | CERT-001 |
| Name | Recipient's full name | John Smith |
| Date | Date to display on certificate | January 15, 2026 |
| Processed | Track status (FALSE/TRUE) | FALSE |
| DriveLink | Auto-filled with PDF link | (empty initially) |

You can add other columns (email, course name, etc.) for your records—the workflow only uses the ones above.

Google Slides Template

Create a slide in Google Slides with these placeholders:

{{name}} - Will be replaced with recipient's name
{{date}} - Will be replaced with the date
{{certificateid}} - Will be replaced with the unique ID

Design tip: You can design your certificate in Canva, export as PPTX, then upload to Google Slides. This gives you access to Canva's beautiful templates while keeping Google's automation power.

Business Use Cases

Online course creators** - Issue completion certificates to students automatically after they finish a course
Event organizers** - Generate personalized attendance certificates for conference or workshop participants
HR departments** - Create employee recognition awards, training completion docs, or onboarding materials at scale
Educational institutions** - Batch-produce diplomas, achievement awards, or participation certificates
Nonprofits** - Generate donor recognition certificates or volunteer appreciation documents
Corporate training** - Issue compliance training certificates with unique tracking IDs

Set Up Steps

1. Prepare Your Google Sheet

Create a new Google Sheet with the required columns (see structure above)
Fill in recipient data (CertificateID, Name, Date)
Set all "Processed" values to FALSE
Leave "DriveLink" column empty

2. Create Your Slides Template

Design a certificate/diploma/invitation in Google Slides
Use text placeholders: {{name}}, {{date}}, {{certificateid}}
Note the template's file ID from the URL (the long string after /presentation/d/)

Optional Canva workflow:
Design in Canva using their certificate templates
Download as PPTX
Upload to Google Slides
Add the placeholder text

3. Configure the Workflow

Replace placeholder IDs in these nodes:

"Read Unprocessed Recipients" node:
Set your Google Sheet ID

"Copy Slides Template" node:
Replace YOUR_TEMPLATE_SLIDES_ID with your template's file ID

"Save PDF to Drive" node:
Set the destination folder ID where PDFs should be saved

"Mark as Processed" node:
Confirm it points to the same Google Sheet

4. Set Up Credentials

Add your Google account credentials for:
Google Sheets (OAuth2)
Google Drive (OAuth2)
Google Slides (OAuth2)

(All three can use the same Google account)

5. Test Run

Click "Test workflow" with 2-3 test recipients
Verify PDFs are generated correctly
Check that your Sheet updates with "Processed = TRUE" and Drive links

6. Scale to Production

Add all your recipients to the Sheet
Execute the workflow
Monitor progress in the Sheet's "Processed" column

Troubleshooting

"Rate limit exceeded" errors:
Increase the wait time in "Wait 2s (Rate Limit)" node to 3-5 seconds
Process in smaller batches (50-100 at a time)

Placeholders not replacing:
Ensure exact match: {{name}} not {{ name }} (no spaces)
Check placeholder text is plain text, not inside text boxes or grouped objects

PDFs not saving:
Verify the destination folder ID is correct
Ensure your Google account has write permissions to that folder

Sheet not updating:
Confirm "CertificateID" column exists and has unique values
Check that the "Processed" column is formatted as plain text (not checkbox)

Important Notes

API quotas:** Google Slides API has daily limits. For >500 certificates, consider splitting across multiple days or upgrading to Google Workspace
File cleanup:** The workflow deletes temporary slide copies—do NOT delete this node or you'll fill your Drive with copies
Unique IDs:** CertificateID must be unique for each recipient (used for matching and filename)
Template preservation:** Your original Slides template is never modified—only copies are created

Difficulty Level: Intermediate
Estimated Build Time: 30-45 minutes (including template design)
Monthly Operating Cost: $0 (uses Google's free tier APIs for reasonable volumes)

Customization Ideas

Add more placeholder fields (course name, instructor signature, expiration date)
Send certificates via email using the Gmail node after PDF generation
Generate QR codes with the certificate ID for verification
Create a public verification page using the certificate IDs
Use AI to auto-generate personalized messages for each recipient

Built with ❤️ for educators, event organizers, and anyone who needs to issue bulk certificates without the manual tedium.

Nodes Used (3)

Google Drive
n8n-nodes-base.googleDrive
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest