Automated Digital Certificate Creator & Validator with PDF Generation

Go to Workflow
0 views
Built by Paolo Ronco Paolo Ronco
Created on June 07, 2026

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.



Visit my website for the: full deploy guide)

See my Templates on Github: paoloronco/n8n-templates)

Example-certificate

✔ 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: [email protected]

🧩 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 (2)

Code
n8n-nodes-base.code
Gmail
n8n-nodes-base.gmail