CertFusion is available as an app inside Make. Connect it once with an API token, then combine it with any other Make module to add recipients, issue certificates, and react to issued certificates automatically. This guide walks you through connecting the app, the modules it provides, a few ready-to-build scenarios, and how to fix common errors.
The CertFusion app for Make gives you two kinds of modules:
A typical scenario takes data from a form, spreadsheet, CRM, or LMS, creates a recipient on one of your certificate lists, and issues the certificate — all without opening CertFusion. Everything the app does is scoped to the account that owns the API token, and issuing certificates uses the same monthly quota as issuing from the dashboard.
The connection is reused across all your scenarios. Revoking the token on the API tokens page immediately disconnects every scenario that uses it.
| Module | Type | What it does | Returns |
|---|---|---|---|
| Watch New Recipients | Instant trigger | Fires when a recipient is added to a list (from the dashboard, an import, an integration, or the API). | The recipient, including list and design IDs, name, email, status, and custom fields. |
| Watch Issued Certificates | Instant trigger | Fires once a certificate has been generated and emailed. | The recipient with download_link, verify_link, and the issued
timestamp. |
| Create Recipient | Action | Adds one draft recipient to a list. Custom fields for the selected list's design are loaded dynamically. | The created recipient and its ID. |
| Create Recipients (Bulk) | Action | Adds many draft recipients to a list in one call — ideal after an aggregator. | The created recipients and a count. |
| Issue Certificate | Action | Queues certificate generation and email delivery for a draft recipient. | The recipient with status processing. |
| Issue Certificates (Bulk) | Action | Queues issuance for a set of recipient IDs, or for every draft recipient on a list. | The recipients queued and a count. |
| Get Recipient | Action | Fetches a single recipient by ID — use it to poll for the issued status. |
The recipient, with download and verify links once issued. |
| Search Recipients | Action | Finds recipients by email or name across your lists. | A bundle per matching recipient. |
| List Recipients | Action | Lists recipients on a list, optionally filtered by status, with pagination. | A bundle per recipient. |
| Delete Recipient | Action | Removes a recipient and its certificate. | A confirmation with the deleted ID. |
| Get Quota | Action | Reads your plan, monthly limit, certificates used, and remaining quota. | Quota figures you can branch on with a filter. |
| Make an API Call | Action | Calls any CertFusion API endpoint with your connection's token. | The raw HTTP response. |
Every module that takes a list lets you pick it from a dropdown of your designs and lists, and the custom fields available for that list's design are shown as separate inputs.
Issue a certificate as soon as someone completes a quiz or feedback form in Typeform, Google Forms, or any other form app supported by Make.
Keep a spreadsheet of participants and let Make issue certificates for new rows in batches.
Notify your team, or send your own follow-up email, whenever a certificate goes out.
download_link, and verify_link from the trigger output — or
add Gmail → Send an Email to the recipient's email with the same links.The instant triggers are powered by webhooks. Here is what happens behind the scenes:
X-CertFusion-Signature header
containing an HMAC-SHA256 of the raw request body, prefixed with sha256=, computed
with the subscription's secret (returned once when the subscription is created). The Make app
relies on its private webhook URL, so it does not check the header; if you point the same
webhook events at your own endpoint, verify the signature before trusting the payload.410 Gone (which it does once the webhook is deleted on Make's
side).[custom.your_field] placeholder to the design first if it is missing.reason value explaining why issuance was refused —
monthly quota exhausted, trial limits reached, or no active subscription. Check
Get Quota or your billing page, then re-run the scenario.draft status. The recipient has
already been issued or is being processed; use Get Recipient to see its current
state.issued and the download link is present.Need help? Reach us from our support page.