---
title: "Certificate earned email template"
description: "A centred certificate email for a finished course, with links to download and share it. Send it when a student completes a course."
url: "https://nextmail.sh/email-templates/certificate-earned"
---

[Templates](https://nextmail.sh/email-templates.md)[Education](https://nextmail.sh/email-templates.md#education)

# Certificate earned email template

A centred certificate email for a finished course, with links to download and share it.

[Use this template](https://nextmail.sh/mail/templates?starter=certificate-earned) [Use this template](https://nextmail.sh/signup.md?next=%2Fmail%2Ftemplates%3Fstarter%3Dcertificate-earned)[Customize with AI](https://nextmail.sh/email-templates/generate.md?starter=certificate-earned)

- **From**
  Northwind <hello@example.com>
- **Subject**
  Your certificate for Data storytelling
- **Preview text**
  Well done on finishing. Download it, or share it with one link.

![Preview of the Certificate earned template](https://nextmail.sh/email-templates/previews/certificate-earned-desktop.webp?v=d233982e8ca0)

certificate-earned.txt

```
Well done on finishing. Download it, or share it with one link.

{{schoolName}}

Awarded {{completionDate}}

You have completed {{courseName}}

Well done, {{studentName}}. Your certificate is ready to download and share.

Certificate number

{{certificateNumber}}

Download certificate [{{downloadUrl}}]

Share your certificate [{{shareUrl}}]

Keep the certificate number. You will need it if anyone asks us to confirm your certificate.

You are receiving this because you completed a course with {{schoolName}}.
```

Shown with sample values. The HTML and plain-text tabs keep the placeholders.

About

## When to send it

Send it when a student completes a course. The centred layout leads with the date awarded and the course name, then gives the certificate number with links to download and share it.

8 values to fill

## What each send fills in

Required values have to come with every send. The rest fall back to the default shown here.

| Placeholder | Kind | Required | Default |
| --- | --- | --- | --- |
| `{{schoolName}}` | Text | Required | None |
| `{{studentName}}` | Text | Required | None |
| `{{courseName}}` | Text | Required | None |
| `{{completionDate}}` | Text | Required | None |
| `{{certificateNumber}}` | Text | Required | None |
| `{{downloadUrl}}` | Link | Required | None |
| `{{shareUrl}}` | Link | Required | None |
| `{{unsubscribeUrl}}` | Link | Optional | None |

API

## Send it from your code

Create a template from this design once, then send it with the values for each message.

```
import { init, nextmail } from '@nextmail/sdk' init({ apiKey: process.env.NEXTMAIL_API_KEY }) await nextmail.templates.create({  name: 'Certificate earned',  slug: 'certificate-earned',  starter: 'certificate-earned',  publish: true,}) const sent = await nextmail.templates.send('certificate-earned', {  from: 'Northwind <hello@example.com>',  to: 'maya@example.com',  props: {    schoolName: 'Fieldnote Academy',    studentName: 'Amira Haddad',    courseName: 'Data storytelling',    completionDate: '30 October 2026',    certificateNumber: 'FA-2026-00841',    downloadUrl: 'https://example.com/certificates/FA-2026-00841/download',    shareUrl: 'https://example.com/certificates/FA-2026-00841',  },}) console.log(sent.id, sent.status)
```

Education

## More templates like this

![Preview of the Enrolment confirmed template](https://nextmail.sh/email-templates/previews/enrolment-confirmed-desktop.webp?v=c920e26def09)

### Enrolment confirmed

Confirms a place on a course, with the start date and the details of the first lesson.

6 styles

![Preview of the Class starting soon template](https://nextmail.sh/email-templates/previews/class-starting-soon-desktop.webp?v=cf2f16258212)

### Class starting soon

A reminder shortly before a live class, with the join link and what to prepare.

6 styles

![Preview of the Assignment due template](https://nextmail.sh/email-templates/previews/assignment-due-desktop.webp?v=a67d3f428549)

### Assignment due

A reminder that an assignment is due, with the deadline and a link to submit it.

6 styles

![Preview of the New listing match template](https://nextmail.sh/email-templates/previews/new-listing-match-desktop.webp?v=b7d0a4e9ace0)

### New listing match

A new property that matches a saved search, with a photo, the price and the rooms.

6 styles

Start from one

## Pick a design, change anything, and send it from your code.

Every template opens in the editor as blocks you can move, restyle or delete, and sends through the API with the values filled in.

[Open mail](https://nextmail.sh/mail/inbox) [Get Started](https://nextmail.sh/signup.md)[How templates work](https://nextmail.sh/features/templates.md)
