Back to Templates

Automated Digital Certificate Creator & Validator with PDF Generation

Created by

Created by: Paolo Ronco || paoloronco

Paolo Ronco

Last update

Last update a day ago

Share


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)

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:

  1. n8n Data Table with ID fields:
  • Name (string)

  • Surname (string)

  • CertificationID (string)

  1. PDF Generator API accountCredentials set in n8n as pdfGeneratorApi.

  2. Gmail OAuth2 credentialsConfigured in n8n as gmailOAuth2.

  3. 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