Skip to main content

Troubleshooting

When an email does not arrive, work down this list. Each step names the request that answers it.

The email was not sent​

CheckHowIf it fails
The template is mappedGET /v1/projects/me/email-templates and look for the name in mappings and unmapped. A parent project's or the platform's mapping may still apply.Map it.
The mapping is readyready in the same response.Ask for the provider's credential, and EMAIL_FROM for SendGrid and SMTP, to be set as project secrets.
The mapping is for the right language and domainThe language and domain of the mapping against the language and site of the user.Map the context you need, or one with none. See how Ovok picks a mapping.
The provider has the templateOpen it at your provider.Fix the id. A wrong id is accepted if it has the right shape.
The message's links resolveA link needs an app URL: PATIENT_APP_URL or PRACTITIONER_APP_URL.Set it, or invitations answer 409.

The invitation was undone​

If an invitation's email cannot be sent, the invitation is undone. POST /v1/projects/me/members answers 500 with Failed to send invite email, and the invitation routes under /v1/invites still answer 202. The cause is almost always a template that is not mapped, or one that is not ready. See Invitations.

A registration or sign-up sent nothing​

  • A new patient gets a welcome email only when PATIENT_WELCOME is mapped. Nothing is sent otherwise.
  • A work-email registration becomes a practitioner invitation only when CLINICIAN_SIGNUP_INVITE can be sent. If it cannot, the person is registered as a patient and you are not told. See CLINICIAN_INVITE_ON_BUSINESS_EMAIL.
  • A practitioner registration sends no email at all.

The wrong template went out​

What you seeWhy
A parent's or the platform's wording instead of yoursTheir mapping is at a more specific level than yours, and Ovok tries the most specific level first. Add a mapping at that level in your project.
The practitioner wording in a patient emailA patient variant is not mapped, and it is sent as its shared template. See the patient variants.
The old template after you removed oneA less specific mapping now applies, or an older mapping for the same language and domain came back.

PUT was refused​

AnswerCause
422 INVALID_TEMPLATE_IDThe id has the wrong shape for the provider.
422 INVALID_TEMPLATE_CONTENTSMTP content with a parameter the message does not have, an unclosed block, or a blank html. See the parameters.
409 PROVIDER_MISMATCHThat language and domain use another provider.
409 lockedAnother write is running. Retry.

Email from your automations​

Email sent by a Bot is a different thing: the email feature controls it, and these templates do not apply. MAILING_ENABLED controls neither.