Make Tutorial

Automate Certificate Generation with Make

Generate personalized certificates for entire cohorts at once. Connect Teachable, Thinkific, or any data source through Make's visual scenario builder.

Vincent Ventalon
Vincent Ventalon

The problem

You designed a beautiful certificate in Canva. Now you need to generate 500 personalized versions for your course graduates, training participants, or event attendees.

Canva can't do this automatically. You'd have to manually edit each certificate, change the name, download, and repeat. That's hours of tedious work.

The solution: Export your Canva design once, import it into TemplateFox, add dynamic fields, and connect it to Make. Make's Iterator module makes batch processing entire cohorts trivial — feed in a spreadsheet of graduates and get back a personalized certificate for each one.

1

Design your certificate in Canva

We're not going to design a certificate from scratch for this tutorial. Already have one? Jump to step 1.3.

1.1 — Find a template

Let's grab a template and customize it:

  1. Go to canva.com and sign up (or log in)
  2. In the search bar, type "certificate"
  3. Browse the templates and select one you like
Searching for certificate templates in Canva

1.2 — Customize the template

Click "Customize this template" to open it in the Canva editor. Add your branding — logo, colors, fonts.

Click Customize this template in Canva

1.3 — Remove dynamic text

Delete any text that will change per certificate (recipient name, date, etc.). We'll add these as dynamic fields in TemplateFox.

In my case, for simplicity, I'll just remove the student's first and last name.

  1. Select the recipient name text
  2. Delete it completely
Certificate with recipient name removed in Canva

Tip: Keep your design elements (borders, decorations) — just clear the text that will change per certificate.

1.4 — Export as PNG

Export your certificate as an image:

  1. Click ShareDownload
  2. Choose PNG format
  3. Click Download

Why PNG? Simpler to work with — no font embedding issues. Your design becomes a background image.

2

Import and configure on TemplateFox

2.1 — Import the design

Create a new template and import your Canva design:

  1. Go to Templates in your dashboard
  2. Click Create Template
  3. Choose Fixed (single-page documents)
  4. Change dimension to A4 Landscape
  5. Set zoom to 75% to see the full page
  6. Extend the initial section to fill the entire page
  7. Click New ElementImage
  8. Upload your PNG and extend it to cover the whole background — it should fit perfectly

2.2 — Add dynamic fields

Add text fields that will be populated from Make. For this demo, we'll add several fields that cover a typical certificate:

  1. Add a Text element
  2. Type {{name}}
  3. Position it where the recipient name should appear
  4. Set the font to Great Vibes at size 90 for an elegant signature look
  5. Center the text horizontally and align it to the bottom of the text box
  6. Adjust line spacing so the text sits properly at the bottom (for Great Vibes, 0.8 works well)
  7. Enable Autoscale Down so long names automatically shrink to fit

Common dynamic fields you can use:

  • {{name}}— Student/recipient name
  • {{course_title}}— Course or program name
  • {{completion_date}}— Date of completion
  • {{certificate_id}}— Unique certificate number

Tip: Click the Preview tab and add test data in the JSON panel. Test with both short and long names to verify Autoscale Down works correctly — try {"name": "Jo"} and {"name": "Christopher Montgomery-Williams"} to make sure the text scales properly in both cases.

3

Connect with Make

3.1 — Create the scenario

Create a Make scenario to connect your data source to TemplateFox:

  1. Go to make.com and create a new scenario
  2. Add a trigger module:
    • Course platform (Teachable, Thinkific, Kajabi) → "Watch Enrollments" or "Course Completed"
    • Google Sheets → "Watch Rows"
    • Typeform → "Watch Responses"
  3. Add an HTTP module (Make > HTTP > Make a request)
  4. Configure the HTTP module:
    • URL: https://api.pdftemplateapi.com/v1/pdf
    • Method: POST
    • Headers: x-api-key: your_api_key and Content-Type: application/json
    • Body: JSON with your template ID and dynamic data

Example HTTP body

{
  "template_id": "your-template-id",
  "data": {
    "name": "{{1.student_name}}",
    "course_title": "{{1.course_name}}",
    "completion_date": "{{1.completed_at}}",
    "certificate_id": "CERT-{{1.enrollment_id}}"
  }
}

Screenshot: Make scenario with trigger and HTTP module configured

New to Make? Learn more about our Make PDF integration — visual scenario builder, 1,800+ app connections, no code required.

3.2 — Add email module

Add a module to email the certificate to the recipient:

  1. Add a Gmail, Microsoft 365 Email, or SMTP module after the HTTP module
  2. Set the To field to the student's email from the trigger
  3. Write a congratulatory subject and message
  4. Attach the PDF — use the pdf_url from the HTTP module's response

Scenario flow

Trigger: Course completedHTTP: Generate PDFEmail: Send certificate

Screenshot: Complete Make scenario with trigger, HTTP, and email modules

4

Generate certificates in bulk

The real power of Make for certificate generation is batch processing. Instead of generating one certificate at a time, you can process an entire cohort in a single scenario run.

4.1 — Iterator for cohort processing

Make's Iterator module takes an array of items and processes each one individually. This is perfect for generating certificates from a list of graduates.

  1. Start with a Google Sheets or Airtable module that fetches all rows (your cohort list)
  2. Add an Iterator module — it splits the array so each row is processed individually
  3. Connect the HTTP module (from step 3.1) after the Iterator
  4. Map each row's fields to the API body — {{iterator.name}}, {{iterator.email}}, etc.
  5. Add the email module after the HTTP module to send each certificate

Bulk scenario flow

Sheets: Get all rowsIteratorHTTP: Generate PDFEmail: Send

Screenshot: Make scenario with Iterator module for bulk certificate processing

Tip: Make processes Iterator items sequentially by default. For a cohort of 200 graduates, expect the scenario to take a few minutes. Each certificate generates in under 2 seconds, but Make adds a small delay between iterations on free plans.

4.2 — Error handling

When processing hundreds of certificates, a single failure shouldn't stop the entire batch. Make has built-in error handling for this.

  1. Right-click the HTTP module and select "Add error handler"
  2. Choose the Resume directive — this tells Make to skip the failed item and continue with the next one
  3. Optionally, add a Google Sheets "Add a Row" module in the error handler to log failures
  4. After the scenario completes, check the error log and re-run only the failed certificates

Common failure reasons

  • Missing data — Empty name or email in the spreadsheet
  • Invalid characters — Special characters that need encoding
  • Rate limits — Sending too many requests at once (add a delay if needed)

Screenshot: Error handler module attached to HTTP module in Make

Who uses this

  • Online course creators — Teachable, Thinkific, Kajabi, Udemy instructors
  • Corporate training teams — Compliance certifications, skill assessments
  • Event organizers — Conference attendance, webinar participation
  • HR departments — Employee recognition, years of service awards

Frequently asked questions

Can I keep my exact Canva certificate design?

Yes. Export your Canva design as PNG, import it into TemplateFox, and your design is preserved exactly. Fonts, colors, images, layout — everything stays the same. You just add dynamic text fields on top.

How do I connect this to my online course platform?

Connect Teachable, Thinkific, Kajabi, or any course platform via Make. When a student completes a course, the scenario triggers certificate generation with their name and course details. You can also use Zapier if you prefer.

What data can I personalize on each certificate?

Any text field: recipient name, course title, completion date, certificate number, instructor name, grade, hours completed. You can also add dynamic QR codes linking to verification pages.

Can I generate certificates in bulk for an entire cohort?

Yes. Use Make's Iterator module to process entire cohorts from Google Sheets or Airtable. Each row triggers a separate API call to generate a certificate, so you can produce hundreds in a single scenario run.

Can I add a QR code for certificate verification?

Yes. Add a QR code component to your template that links to a verification URL with the certificate ID. When scanned, it confirms the certificate is authentic.

What's the cost for certificate automation?

TemplateFox offers 60 free PDFs per month. Paid plans start at $19/month for higher volume. View pricing.

Automate your PDF generation

Complete documentation, no-code integrations, and a powerful API to help you generate PDFs at scale. Let us handle the boring stuff.