CertFusion
Notion Logo

Bulk Certificate Generator for Notion

Issue certificates to everyone in a Notion database and get the certificate link written back into each row. Pick the database, map the properties, issue. Re-run it any time: rows that already have a certificate are skipped.

Notion Integration Guide

Track course graduates, workshop attendees, members or volunteers in a Notion database? Connect your workspace to CertFusion and turn that database into verified certificates in a few clicks. Once each certificate is issued, CertFusion writes the certificate link, a status and the certificate id back into the row, so your Notion database stays the single source of truth.

1. How to Connect Your Notion Workspace

  1. Navigate to the Manage Integrations page in your CertFusion dashboard.
  2. Click Connect next to Notion in the integrations list.
  3. Notion asks which workspace to use and which pages or databases to share. Click Select pages, tick the databases that hold your recipients, and click Allow access.
  4. You are returned to CertFusion with a success message once connected.

CertFusion only sees the pages and databases you select. It reads the rows you import and updates three properties it creates for its own use ("Certificate URL", "Certificate Status" and "Certificate ID"). It never touches any other property, page or workspace content. Your access tokens are encrypted at rest.

Need to share another database later? In Notion, open the database, click ••• → Connections and add CertFusion. It will show up in CertFusion after you click Refresh on the import page.

2. How to Import Recipients from a Database

  1. Go to your Certificate Templates dashboard on CertFusion.
  2. Open the Recipients section of the template you want to use.
  3. Click Add Recipients and select import from your tools, then choose Notion.
  4. Pick the database from the Database dropdown. Only databases shared with CertFusion are listed.
  5. Leave Write certificate links back to Notion ticked if you want each row to receive its certificate link after issuance. Untick it for a read-only import.
  6. Click Preview Rows. CertFusion shows the first rows with a dropdown above each property.
  7. Map your properties. Email Address is required, along with either Recipient Name or First Name and Last Name. An email property and the database title are matched for you. Map any other property onto a [custom.your_field] placeholder from your design, for example a course name, a completion date or a score.
  8. Click Import and confirm. Every row of the database is added to your certificate list as a draft recipient.

You can safely re-import the same database after adding rows. Rows that were imported before are skipped, and existing recipients are matched by name and email so only new people are added. Up to 5,000 rows are imported per database.

Which Notion properties can be imported?

Title, text, email, URL, phone, number, select, status, multi-select, date, people, checkbox, formula, rollup and ID properties are all imported as text, exactly as you would read them in Notion. Relation properties cannot be mapped; add a rollup or formula that shows the related value instead.

3. Issuing Certificates and the Notion Write-back

  1. After importing, you'll land on the Recipients page with your rows listed as drafts.
  2. Review the recipients and their custom field values.
  3. Issue certificates individually, or use the bulk actions to issue to everyone at once. Certificates are generated and emailed automatically.
  4. Within a minute of each certificate being issued, the matching Notion row is updated: Certificate URL holds the public verification link, Certificate Status is set to Issued, and Certificate ID holds the certificate's unique id.

The three properties are created the first time you import with write-back on. You can move, hide or rename them in a view, but keep their names and types unchanged so CertFusion can keep filling them in. Use them in Notion formulas, buttons or automations, for example to email the link from Notion or to filter for rows that are still waiting for a certificate.

4. How to Disconnect Notion

  1. In CertFusion, go to Manage Integrations and click the Disconnect button next to Notion. This deletes your stored tokens.
  2. To revoke access on the Notion side as well, open Settings → Connections in Notion and remove CertFusion.

Disconnecting stops CertFusion from reading your databases and from writing certificate links back, but existing recipients and certificates remain intact. Reconnect at any time by following the connection steps above; write-back resumes for rows you import afterwards.

5. Troubleshooting

My database is not in the list

  • Only databases shared with CertFusion appear. In Notion, open the database, click ••• → Connections → CertFusion, then click Refresh on the import page
  • Linked views of a database are not listed on their own. Share the source database
  • Make sure you connected the right Notion workspace. Reconnect to switch workspaces

"CertFusion cannot find that in Notion"

  • The database was un-shared, moved to the trash, or the page was deleted. Share it again and re-run the import

Certificate links are not appearing in Notion

  • Write-back only runs for rows imported with Write certificate links back to Notion ticked, and only after the certificate is issued
  • Check that the "Certificate URL", "Certificate Status" and "Certificate ID" properties still exist with their original types. If one was changed to another type, rename it so CertFusion can recreate it
  • Large batches are written at Notion's rate limit of about three updates per second, so a thousand rows take several minutes

Skipped Rows

  • Rows without a valid email address or without a name are skipped, and the import summary tells you which rows by their title
  • Rows already imported into this list are skipped so you can re-run the import safely

Field Mapping Problems

  • Each target can be used by one property only
  • Add [custom.your_field] placeholders to your design first, then return to the import page to map properties onto them
  • Dates are imported in ISO format (2026-05-01). Use a formula property with formatDate() if you want a different format on the certificate

Keep your list in a spreadsheet instead? See the Google Sheets guide. Need help? Reach us from our support page.