Customise email templates
Oho sends emails on your behalf — a credential is expiring, a worker was onboarded, an applicant needs to complete their screening. The email template editor lets you shape how those emails look and read: the subject line, the wording, your own logo and colours, and dynamic details like the worker's name and the expiry date. You edit each type of email in a visual editor, block by block, with a live preview.
You'll find it under Settings → Customize → Email Templates.
Notification and request emails that sound like your organisation — right wording, right branding — going to the right people, with the worker, credential, and dates filled in automatically on every send.
Editing email templates is an Admin task, and the feature is available on plans that include it. If you don't see Email Templates in Settings, you're either not an Admin or your plan doesn't include it — talk to whoever manages your Oho account.
How Oho's emails work
Two ideas make the editor easy to reason about: which email you're editing, and who it goes to.
The emails you can edit
Each email is tied to an event — the thing that happened. They fall into two families:
Credential status — sent as a credential's standing changes:
- Expiring, Expiring Soon, Expired, Revoked, Suspended
- Worker Onboarded
- Missing Credential (a worker is short a required check)
Requests — sent when you ask someone to provide credentials:
- Recruitment Check Request and its Reminder (to an applicant)
- Fetch Request and its Reminder (to an existing worker)
- Document Re-upload Request — sent when a reviewer rejects a document and asks for it again
- Application Follow-up — sent to an applicant who said they'd applied for a credential but hadn't received it yet, chasing the card once it arrives
- Application Received — sent to the admin who requested the check, when that applicant supplies it
- PharmacyID Police Check — only used where a PharmacyID police check source is configured with the Oho-managed journey
Colleagues — sent between people who use Oho:
- Mentioned in a Note — sent to a colleague when someone tags them with @ in a record's Notes. It goes only to people who can open that record, and never includes the note's text — see Add notes and tag colleagues
You pick the event at the top of the editor and edit that email on its own; each has its own subject, body, and styling.
Who each email goes to
The same event can reach more than one audience, and Oho sends each the version that makes sense for them. The editor shows a Sent to: line so you always know who you're writing for:
| Audience | Who they are |
|---|---|
| Admins | People who can sign in to Oho. |
| Managers | The manager email on the worker's profile — they can't sign in. |
| Workers | The worker the credential belongs to — they can't sign in. |
| Applicants | The candidate a screening request was sent to. |
Which audiences a given event reaches is set by the event and your notification settings — for example, the two Expiring emails go to Admins, Managers, and (when worker notifications are on) Workers, while Revoked, Suspended, and Onboarded go to Admins only, and the request emails go to the Worker or Applicant they're addressed to. This matters because a couple of blocks are audience-specific (see Audience-specific buttons).
Step 1: Open the editor
Open Settings (the gear icon), then go to Customize → Email Templates.
Expected outcome: the editor is open, showing an event, its subject, and a live preview.
Step 2: Pick the email and its subject
- Choose the Event you want to edit from the selector at the top. The Sent to: chips update to show who that email reaches.
- Edit the Subject line. You can drop in variables
here too — for example,
Action needed — {{credentialName}} ({{workerName}}) expires soon.
Expected outcome: you're editing the right email, with a subject that reads the way you want.
Step 3: Build the body with blocks
The email body is a stack of blocks you add, reorder, and style. The building blocks are:
- Header — the banner bar at the top, with two logo slots. See The two logos in the header.
- Alert Bar — a coloured status strip, e.g. CREDENTIAL EXPIRING SOON.
- Text — a paragraph. This is where most of your wording goes, and where you insert variables.
- Details Table — labelled rows (Credential, Type, Expiry Date, Worker) for the key facts at a glance.
- Button — a call to action linking wherever you set, such as
{{entityUrl}}. - Divider, Spacer — visual breathing room.
- Image — an inline image, optionally linked.
- Footer — the small print at the bottom.
Select any block to edit its text and styling (colours, alignment, padding, font size) in the panel beside the preview.
Expected outcome: the email body says what you want, in the order you want.
Step 4: Insert variables
Variables are placeholders that Oho fills in on each send — {{workerName}}
becomes the actual worker's name. Inside a Text block (or the Subject),
click Insert Variable and pick from the list. The picker only shows the
variables that apply to the event you're editing, so you can't accidentally use one
that won't resolve.
See the Variable reference for the full set and where each one is available.
A variable that exists on one email may not exist on another — screeningPackageName
makes sense on a recruitment request but not on an expiry alert. If a variable
isn't in the picker for the event you're editing, it isn't available there.
Expected outcome: the dynamic details fill in automatically — you can confirm in the preview, which substitutes sample values.
The preview fills every variable with a sample, so a variable that will be empty on a real send
still looks fine there. {{customMessage}} is the usual one — it's blank whenever the sender left
the optional message empty. Don't build a subject line or a header around a variable that can be
empty; put it in its own block, or give the block a condition.
Format a variable
A Text block's content is inserted into the email as HTML, so you can style a variable with ordinary tags. The Header block's text works the same way.
Keep the tags outside the braces — Oho matches {{name}} exactly, and a tag inside the braces
breaks the match:
<strong>{{workerName}}</strong>
<u>{{credentialName}}</u>
<span style="color:#C2185B">{{daysRemaining}} days</span>
Stick to simple formatting — bold, underline, a colour, a link. Anything more adventurous may not survive the email clients.
Gmail and Outlook find bare URLs in an email and link them themselves, in their own blue and their own underline — inconsistently between clients, and ignoring whatever styling you set. Write the link yourself and they leave it alone:
<a
href="{{entityUrl}}"
style="color:#0B0133;font-weight:600;text-decoration:underline"
>{{entityUrl}}</a
>
A Button block is the better answer when the link is the point of the email.
Add your own variables
The picker's variables are the ones Oho can work out for itself. For a value only you know — your recruitment team's phone number, a careers page, the name to sign off with — define your own.
Click Your variables in the editor and add one with:
- a name, which becomes the placeholder:
recruitmentPhone→{{recruitmentPhone}}. Letters, digits and underscores, starting with a letter or underscore. - a value, the text Oho substitutes on every send.
- an optional description, so the next admin knows what it's for.
It's then available in the picker on every event, alongside the built-in variables, under Your variables.
Two things to know before you add one:
- A name can't be changed. Templates reference it, so renaming would break them. Delete and re-add under the new name, then fix the templates that used the old one.
- Deleting one doesn't clean up after itself. A template still containing a deleted variable
sends the raw
{{placeholder}}text to the recipient. The delete confirmation says so — search your templates for the name before removing it.
Custom variables come with the email template editor, so if you can reach Email Templates at all, you can define them.
The two logos in the header
The Header block has two logo slots, and they're set in different places:
| Slot | Where it comes from |
|---|---|
| Left — the Logo URL field | The header block's own field in this editor. It defaults to cid:oho-logo, the Oho mark. |
| Right — your organisation's logo | Uploaded under Settings → Customize → Logos, as the Recruitment-checks and Fetch Requests logo. There's no field for it here. |
So "I uploaded our logo and it isn't in the email" and "I uploaded our logo and it isn't in the editor" usually mean the same thing: it goes in Logos, not here, and the header picks it up on its own.
The organisation logo is attached to each email as an inline image rather than linked, which is what makes it render in Outlook desktop — Outlook refuses the embedded-image URLs that work elsewhere. A logo you point the Logo URL field at is a link, so some clients will hide it until the recipient chooses to show images.
Audience-specific buttons
Two buttons are handled specially, because they only make sense for one audience. Oho adds them to the right recipients' copies and strips them from everyone else's automatically — you don't manage that by hand:
- Renewal Button — links a worker to their secure renewal page. It appears only in the worker's copy, never in an admin's or manager's. It's available on plans with worker renewal links, and only when renewal links are turned on for your organisation.
- View in Oho Button — links an admin to the credential inside Oho. Because only admins can sign in, it appears only in admin copies, and only on credential-status emails that reach admins.
If worker renewal links are on but a template has no Renewal Button, workers get the email with no way to renew — Oho warns you about this when you save. Add a Renewal Button to any worker-facing template so the email is actually actionable.
Expected outcome: each audience gets the right call to action, with nothing they can't use.
Show a block only when a rule matches
Any block can be made conditional — shown only when a variable matches a value you pick. Select the block, and under Show this block switch from Always to On condition. A condition is a variable, an operator and a value:
- Variable — Credential type or Organisation. Only these two, and only on the events where they resolve.
- Operator — equals or not equal.
- Value — picked from a list, not typed, so it can't drift out of step with what the data actually says.
For example, a block conditioned on Organisation equals a site name shows wording just for that site; Credential type not equal to a type hides a paragraph that doesn't apply to it. Blocks with a condition carry a Conditional badge in the block list, and blocks without one always show.
The event already says how close to expiry the email is — Expiring Soon and Expired are separate templates — so the urgency wording belongs in the template for that event rather than in a rule on a block.
Expected outcome: the email adapts to the situation instead of reading the same way every time.
Style the whole email
The Global styles panel sets the look across the whole email — the page background, the container background, and the font. Choose Outfit (Oho) to match Oho's brand, or a standard family like Arial or Georgia.
Most email apps don't support web fonts, so Outfit renders in the editor and in apps that support it (like Apple Mail) but falls back to Arial elsewhere (such as Outlook). Pick a font that still reads well in its fallback.
Expected outcome: the email carries your branding consistently, top to bottom.
Preview, then save
The Preview shows the finished email with sample values filled in. For emails that reach several audiences, use the audience toggle to check each version — so you can see that the worker's copy has the Renewal Button and the admin's has View in Oho. There's also a compiled-HTML view if you want to inspect the markup.
When you're happy, click Save. To undo your changes and return an email to how Oho ships it, click Reset to Default — this reverts the whole template for that event.
Expected outcome: your changes are live for future sends of that email.
Variable reference
The picker shows the variables available for the event you're editing. Here's the full set and where each one applies:
| Variable | What Oho fills in | Available on |
|---|---|---|
{{workerName}} | The worker's full name | Every email |
{{entityUrl}} | Link to the credential or worker in Oho | Every email |
{{orgName}} | Your organisation's name | Every email |
{{alertLabel}} | Human-readable status, e.g. Expiring Soon | Every email |
{{statusBadge}} | Status badge text, e.g. EXPIRING SOON | Every email |
{{credentialName}} | The credential's display name | Credential-status emails |
{{credentialType}} | The credential's type or category | Credential-status emails |
{{daysRemaining}} | Whole days until the credential expires | Credential-status emails |
{{workerOrganisation}} | The worker's organisation (handy for conditions) | Credential-status emails |
{{expiryDate}} | Expiry of the credential, or of a request link | Credential-status & request emails |
{{roleLabel}} | The worker's position or role | Missing Credential |
{{packageLink}} | Link the worker opens to complete missing checks | Missing Credential |
{{missingCount}} | How many requirements the worker is missing | Missing Credential |
{{missingSummary}} | Comma-separated list of the missing requirements | Missing Credential |
{{dueDate}} | Date the package link expires | Missing Credential |
{{credentialList}} | Bulleted list of credentials the recipient must provide | Request emails |
{{adminName}} | Name of the admin who sent the request | Request emails |
{{customMessage}} | The optional message the sender typed on the request — see below | Request emails |
{{screeningPackageName}} | The screening package the applicant is checked against | Recruitment requests & reminders |
{{daysSinceSent}} | Days since the original request was sent | Request reminders |
{{applicationReference}} | The regulator's reference for the credential the applicant applied for | Application Received & Follow-up |
{{recipientName}} | The colleague who was tagged | Mentioned in a Note |
{{mentionedBy}} | The person who tagged them | Mentioned in a Note |
{{recordName}} | The record the note is on, e.g. Jane Smith's First Aid | Mentioned in a Note |
{{yourVariable}} | Whatever you set it to — see Add your own variables | Every email |
Where {{customMessage}} comes from
It carries the optional message the person sending the request typed, so it's different on each send and often empty:
| On this email | It holds |
|---|---|
| Recruitment Check Request | The Message (optional) field on the Package step of New Recruitment Check Request |
| Fetch Request | The personal message on the request, including a bulk one |
| Document Re-upload Request | The reviewer's reason for asking for the document again |
Empty means empty — Oho substitutes nothing, not a placeholder. A header or subject line built around it reads oddly on every send where nobody typed anything, so keep it in a block of its own.
Common questions
Do my changes affect when emails send? No. The editor only changes how an email looks and reads. When and why an email goes out is set in notifications.
Why isn't a variable I want in the list? It isn't available for that event. Variables are scoped to where they can actually resolve — the picker only shows the ones that apply to the email you're editing.
Can I go back to the original? Yes — Reset to Default restores Oho's shipped version of that email, undoing your edits.
Why does my font look different in Outlook? Outlook doesn't support the web font, so it falls back to Arial. This is normal for email; choose a font that reads well in its fallback.
Someone can't see Email Templates in Settings. They're either not an Admin, or your plan doesn't include custom email templates.
My logo shows in the preview but not in the sent email. Check which of the two you set. The organisation logo on the right of the header comes from Settings → Customize → Logos and is attached to the email, so it renders everywhere. A logo you pointed the header's Logo URL field at is a link, and many email clients hide linked images until the recipient clicks "show images" — Outlook desktop refuses some of them outright. See The two logos in the header.
Why did my link turn blue? Because you left a bare URL in the text and the
recipient's email client linked it for you, in its own styling. Write the <a> tag
yourself — see Format a variable.
Related
- Set up notifications — control when and to whom Oho sends these emails
- Notifications — how Oho's alerts and reminders work
- Roles & access — who can edit settings like this one