Integrations · Google Sheets
Add a row, issue a certificate
Keep your list of participants in Google Sheets as you do today. Each new row with a name and an email gets a verifiable certificate, and the sheet shows the result and the certificate link next to it. Setup takes about ten minutes and needs no technical knowledge.
Before you start you need a Certrust Pro or Enterprise plan, at least one achievement created in Certrust, and a Google account.
1. Create an API key in Certrust
- Sign in to Certrust and go to Manage → API keys.
- Name the key "Google Sheets" and keep the Read and Issue permissions ticked.
- Select Create key and copy the key. It starts with
crt_and is shown only once.
2. Add the Certrust script to your sheet
- Open your Google Sheet, or create a new one.
- In the menu, choose Extensions → Apps Script. A new browser tab opens.
- Delete the few lines of code that are there.
- Copy the Certrust script and paste it in:
- Select the Save icon (the disk), then close that browser tab.
- Back in your sheet, reload the page. A Certrust menu appears after a few seconds.
3. Connect the sheet
- Choose Certrust → Connect this tab…
- The first time, Google asks for permission. Choose your account. If Google shows "Google hasn't verified this app", select Advanced, then Go to … (unsafe). Then select Allow.
- Choose Certrust → Connect this tab… again, paste your API key and select Connect.
- Pick the achievement this tab should issue and select Save.
Why the Google warning? The script is a copy that belongs to you and runs only in your Google account, so Google has not reviewed it. It asks for three things: to edit this spreadsheet, to connect to Certrust, and to run on a timer. It is open for anyone to read at the download link above.
4. Issue certificates
- Add people under Name and Email, one per row. An empty tab gets these headings for you.
- Choose Certrust → Issue new rows now.
- Each row gets a status and a certificate link. The person receives their certificate by email.
To issue without clicking, choose Certrust → Turn on automatic issuing. New rows are then issued every 5 minutes, even when the sheet is closed.
Collecting names with a form? See Google Forms: each person who submits the form gets their certificate straight away.
Columns
Columns are found by their heading in row 1 and can be in any order. Your other columns are left alone.
| Heading | Notes | |
|---|---|---|
| Name | Required | Also recognised: Full name, Recipient, Recipient name. |
| Required | Also recognised: E-mail, Email address, Recipient email. | |
| Expiry date | Optional | A date in the future. Leave empty for a certificate that does not expire. |
| Your custom attributes | If you use them | One column per custom attribute from the Design Studio, with the attribute's name as the heading, for example Training Date. |
| Certrust status | Added for you | Filled in by Certrust. Don't type here, except to clear a row you want issued again. |
| Certificate link | Added for you | The link to the person's certificate. |
What the status means
| Status | Meaning |
|---|---|
| Issued 2026-10-04 | The certificate was issued that day and emailed to the person. |
| Already issued | This person already holds this certificate, so nothing new was sent. |
| Waiting: add a name | The row has an email but no name. It is issued as soon as you add one. |
| Error: … | Something is wrong with this row, and the message says what. Fix it, then choose Certrust → Retry rows with errors. |
Good to know
- Nobody is issued twice. A row is issued once. If the same person appears again for the same achievement, the row says "Already issued".
- One achievement per tab. For another course or event, add a tab and choose Connect this tab… there.
- Your key stays private. It is stored for your Google account only. Other people who can edit the sheet can't see it, and they need their own key to issue.
- Large lists. Up to 200 rows are issued per run; the rest follow on the next run.
- To stop, choose Certrust → Disconnect. To block the key completely, revoke it in Certrust under Manage → API keys.
- Using Excel? Save the list as CSV and upload it on the Issue page.
If something doesn't work
- No Certrust menu: reload the sheet and wait a few seconds. Check that the script was saved in Extensions → Apps Script.
- "That API key is not valid": the key was mistyped, revoked or has expired. Create a new one and connect again.
- "This key needs both the Read and the Issue permission": create a new key with both ticked.
- No achievements listed: the list shows achievements created by the person who made the key. Create one in Certrust first.
- A row says "… is required": your organisation has a required custom attribute. Add a column with that attribute's name and fill it in, then choose Retry rows with errors.
Connecting another system instead? See the setup guide for developers.