Skip to main content

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.

What you'll end up with

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.

Who can do this

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:

AudienceWho they are
AdminsPeople who can sign in to Oho.
ManagersThe manager email on the worker's profile — they can't sign in.
WorkersThe worker the credential belongs to — they can't sign in.
ApplicantsThe 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​

  1. Choose the Event you want to edit from the selector at the top. The Sent to: chips update to show who that email reaches.
  2. 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.

Variables are per-event

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 always has a value; a real send might not

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.

Why a link turns blue, and how to stop it

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:

SlotWhere it comes from
Left — the Logo URL fieldThe header block's own field in this editor. It defaults to cid:oho-logo, the Oho mark.
Right — your organisation's logoUploaded 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.
Give workers a way to act

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.

There's no "days remaining" condition

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.

Fonts and email apps

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:

VariableWhat Oho fills inAvailable on
{{workerName}}The worker's full nameEvery email
{{entityUrl}}Link to the credential or worker in OhoEvery email
{{orgName}}Your organisation's nameEvery email
{{alertLabel}}Human-readable status, e.g. Expiring SoonEvery email
{{statusBadge}}Status badge text, e.g. EXPIRING SOONEvery email
{{credentialName}}The credential's display nameCredential-status emails
{{credentialType}}The credential's type or categoryCredential-status emails
{{daysRemaining}}Whole days until the credential expiresCredential-status emails
{{workerOrganisation}}The worker's organisation (handy for conditions)Credential-status emails
{{expiryDate}}Expiry of the credential, or of a request linkCredential-status & request emails
{{roleLabel}}The worker's position or roleMissing Credential
{{packageLink}}Link the worker opens to complete missing checksMissing Credential
{{missingCount}}How many requirements the worker is missingMissing Credential
{{missingSummary}}Comma-separated list of the missing requirementsMissing Credential
{{dueDate}}Date the package link expiresMissing Credential
{{credentialList}}Bulleted list of credentials the recipient must provideRequest emails
{{adminName}}Name of the admin who sent the requestRequest emails
{{customMessage}}The optional message the sender typed on the request — see belowRequest emails
{{screeningPackageName}}The screening package the applicant is checked againstRecruitment requests & reminders
{{daysSinceSent}}Days since the original request was sentRequest reminders
{{applicationReference}}The regulator's reference for the credential the applicant applied forApplication Received & Follow-up
{{recipientName}}The colleague who was taggedMentioned in a Note
{{mentionedBy}}The person who tagged themMentioned in a Note
{{recordName}}The record the note is on, e.g. Jane Smith's First AidMentioned in a Note
{{yourVariable}}Whatever you set it to — see Add your own variablesEvery 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 emailIt holds
Recruitment Check RequestThe Message (optional) field on the Package step of New Recruitment Check Request
Fetch RequestThe personal message on the request, including a bulk one
Document Re-upload RequestThe 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.