Generate bulk certificates from Google Sheets and Google Slides
Go to WorkflowDescription
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.