# `email.template_value_invalid`

Template writes out something that isn't text or a number.

Area 16, [Built-in services](../topics/built-in-services.md); not declinable; the next step is usually the agent's.

A template writes out text, a number or an enum whose values have
wording, so what a reader sees is decided by a type that says how it is
shown; anything else is formatted first, and the error says how:




```jadpo
<p>Welcome, {{ name }}. You joined on {{ joined_at }}.</p>
```

```text
error: `{{ joined_at }}` can't be written out
 --> domains/accounts/emails/welcome_email.html:1:42
  |
1 | <p>Welcome, {{ name }}. You joined on {{ joined_at }}.</p>
  |                                          ^^^^^^^^^ this is `Instant`
  reason: A template writes out text (`Text`, `PresentationText`, or a type built on one), a number (`Int` or `Decimal`), or an enum whose values have wording, and `Html` as it is; `joined_at` is `Instant`.
  next: Format it with `text.format(...)` (area 19), which writes it in the email's locale (agent)
  rule: email.template_value_invalid
  help: https://jadpo.dev/docs/errors/email.template_value_invalid

check failed: 1 error, 3 files
```
