π¬ Automated digital certificate creator & validator with PDF generation
β‘ 201 views Β· π¬ Document Extraction & Analysis
π‘ Pro Tip β If you need GitHub data beyond what the REST API gives you, ScraperNode has a repository scraper that extracts metadata at scale without token rate limits.
Description
A complete workflow to create, send, and verify digital certificates fully automated with n8n.Perfect for courses, events, onboarding, internal training, or product education.
image.png
Visit my website for the: full deploy guide
See my Templates on Github: paoloronco/n8n-templates)
β 1. Certificate Generation
When a POST webhook request arrives, the workflow:
-
reads name, surname, course, and email
-
generates a unique Certification ID
-
saves everything in the Data Table
β 2. Data Storage
Every issued certificate is recorded in an n8n Data Table containing:
-
Name
-
Surname
-
CertificationID
This creates a permanent, searchable certificate registry.
β 3. PDF Creation
Uses PDF Generator API to create a professional PDF certificate from an HTML template:
-
fully customizable (layout, colors, branding)
-
includes candidate data, course, ID, and date
β 4. Email Delivery
The workflow automatically sends the certificate to the recipient using Gmail OAuth2 with:
-
a predefined subject
-
the PDF attached
-
a customizable message
β 5. Verification System
A public endpoint /certificationscheck allows:
-
validation of Certification IDs
-
returning the candidateβs name and surname if valid
-
responding with
ok: true/false
β 6. Included Mini Verification Website
A ready-to-use HTML file allows users to:
-
enter a Certification ID
-
verify its authenticity
-
view name and surname if the certificate exists
-
Fully customizable (CSS, texts, branding).
π Requirements
Before using this workflow, you must have:
- n8n Data Table with ID fields:
-
Name(string) -
Surname(string) -
CertificationID(string)
-
PDF Generator API accountCredentials set in n8n as
pdfGeneratorApi. -
Gmail OAuth2 credentialsConfigured in n8n as
gmailOAuth2. -
Ability to call HTTP POST endpoints from your website, backend, forms, etc.
π Installation
1. Import workflow
In n8n:
-
Go to Workflows β Import
-
Paste the JSON provided in this repository
2. Configure Data Table
Update the following nodes to point to your Data Table:
-
Insert_Certificaton -
Find_Certification_By_ID -
Find_Certification_By_ID1
Make sure the Data Table has the fields:
| Field | Type |
|---|---|
| Name | string |
| Surname | string |
| CertificationID | string |
3. Configure Credentials
In the workflow:
-
Node Generate_PDF β set PDF Generator API credentials
-
Node Email_Certification β set Gmail OAuth2 credentials
4. Activate Workflow
Click Activate in n8n.
π§ How the Workflow Works
π§© 1. Webhook /certifications
Receives candidate data and triggers the workflow.
POST https://YOUR-N8N-DOMAIN.com/webhook/certification Headers: name: John surname: Doe course: email: john.doe@example.com
π§© 2. Unique ID Generation
A Code node creates a random alphanumeric ID.If it already exists, a new one is generated.
π§© 3. Data Table Insert
Stores the certificate data for future lookup.
π§© 4. PDF Generation
Builds a PDF from the (fully editable) HTML template.
π§© 5. Email Sending
Delivers the certificate to the candidate.
π Certificate Verification (/certificationscheck)
API Behavior
Send a POST request https://YOUR-N8N-DOMAIN.com/webhook/certificationcheck with header id: CERTIFICATION-ID.
Valid ID:
{ "ok": "true", "name": "John", "surname": "Doe" }
Invalid ID:
{ "ok": "false" }
This request can be made manually (from tools like Postman, cURL, or your backend), or automatically through the HTML verification page included in the GitHub repository (the Cerification_Check.html template) found in your project files
π Nodes Used
Webhook, Gmail, Data table
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File