# Email flows

Source: https://gokarla.io/docs/guides/notify/email-flows

# Email flows

Email flows are the emails Karla sends to your customers on your behalf —
order updates, delivery issues, resolve confirmations — built from templates
you own and manage. In the [Karla Portal](https://portal.gokarla.io), go to
**Notify → Email templates** to open the **Email flows** page.

:::note Email flows, integrations, or custom triggers?
Karla Notify has a few distinct pieces. **Email flows** (this page) are the
content of emails Karla itself sends. The
[Notify integrations](/docs/guides/notify/integrations/klaviyo) forward
shipment events to an external email tool (Klaviyo, Brevo, …) that sends its
own emails. [Custom triggers](/docs/guides/notify/custom-triggers) are
time-based signals delivered to Klaviyo as metrics — they don't send emails
themselves.
:::

## Availability and roles

Sending emails through Karla is a premium add-on. Until it's enabled for your
shop, the page shows a **Karla email sending** banner with a **Premium**
badge — you can browse the catalog and preview templates, but not create or
send anything. Use the **Contact us** button to get it enabled.

What you can do on the page depends on your portal role:

| Role   | What you can do                                                |
| ------ | -------------------------------------------------------------- |
| viewer | Browse flows, the templates catalog, and previews              |
| editor | Create, edit, activate, and test-send flows                    |
| admin  | Everything above, plus delete flows and change sender settings |

## The three tabs

| Tab                    | What it's for                                                     |
| ---------------------- | ----------------------------------------------------------------- |
| **Active email flows** | The flows your shop owns — activate, test, edit, and delete them  |
| **Templates catalog**  | Ready-made templates to clone into your shop                      |
| **Settings**           | Sender settings, and the custom sending domain on enterprise tier |

## Start from the catalog

The **Templates catalog** tab lists ready-made templates grouped into
**Order update emails** and **Resolve emails**, so you never start from a
blank page.

- **Preview** opens the template in a side panel; templates that exist in
  several languages show one tab per language.
- **Use template** clones the template into your shop's flows — a toast
  confirms it was added. Multi-language templates show **Choose language**
  instead: pick the language in the preview and confirm with
  **Use template in EN** (or the language you chose).

:::note The Automatic badge
Some catalog cards carry an **Automatic** badge. It's a category hint derived
from the template's tags — it doesn't schedule or send anything by itself. A
flow only goes out when something sends it, such as the **Send Karla email**
action in [Shopify Flow](/docs/platform/email-templates).
:::

## Edit your flow

New flows open in the **block builder**; templates cloned from the catalog
open in the raw HTML editor, since they ship as full HTML documents. The
block builder shows a live preview next to these fields:

| Field                       | What it does                                                                                  |
| --------------------------- | --------------------------------------------------------------------------------------------- |
| **Email title**             | The flow's name in your list                                                                  |
| **Tags**                    | Freeform labels for organizing and filtering your flows                                       |
| **Enable email automation** | Whether the flow is active — same as the **Active** switch in the list                        |
| **Language**                | The flow's language. Multi-language flows aren't supported yet, and it can't be changed later |
| **Subject**                 | The email subject line                                                                        |
| **Email preview**           | The preheader text inboxes show next to the subject                                           |
| **Upload Email hero**       | The hero image at the top of the email                                                        |

The body is assembled from **Text**, **Image**, and **Spacer** blocks that
you can reorder and remove. Text blocks offer White, Light gray, and Gray
backgrounds; spacers range from 8 to 48 px. The footer's logo, colour, and
content are configurable as well. Save with **Save and create** for a new
flow, or **Save changes** when editing.

## Personalize with variables

Write variables with double braces — `{{ variable }}` — and Karla fills in
the value per customer and shipment at send time. The editor lists every
available variable as a clickable chip, grouped into **Shipment variables**,
**Resolve variables**, **Customer variables**, and **Other variables**; click
a chip to insert it into the focused field.

- Substitution is plain token replacement — no conditionals, loops, or
  filters.
- Unknown variables — and known variables the send has no value for — render
  as an **empty string**, so a stray token never leaks into a customer email.
- Values are HTML-escaped automatically.
- Append `_urlencoded` to any variable name (like
  `{{ order_number_urlencoded }}`) to insert its URL-encoded value for use
  inside links.

The full variable list, and which events populate which value, lives in the
[email templates reference](/docs/platform/email-templates).

## Activate and test

Back on **Active email flows**, each flow has an **Active** switch. Only
active flows can be sent — for example by the **Send Karla email** action in
[Shopify Flow](/docs/platform/email-templates) — and only active flows can
receive a test email.

To sanity-check a flow, click its **Send test email** action (for inactive
flows the button is disabled with the hint "Activate the template to send a
test email"). Enter a **Recipient** — the field is prefilled with your own
email address — and click **Send test**. The test email fills all variables
with sample values, and a toast confirms it was queued.

## Manage your flows

The **Active email flows** table shows each flow's **Name**, **Language**,
**Tags**, and **Active** state, with a search box to filter by name.
**Create new flow** starts a fresh flow in the block builder. Deleting a flow
is admin-only and permanent — the confirmation dialog warns that the template
will be permanently deleted.

## Sender settings

The **Settings** tab shows whether Karla email sending is **Enabled** for
your shop, and lets shop admins adjust how sent emails present themselves:

| Setting                 | Default               | What it does                                      |
| ----------------------- | --------------------- | ------------------------------------------------- |
| **Replies sent to**     | `no-reply@gokarla.io` | The reply-to address, e.g. `support@yourshop.com` |
| **Sender display name** | Your shop's name      | The sender name customers see in their inbox      |

Click **Save sender settings** to apply the changes (admin only).

On the enterprise email tier you can go further and send from your own
domain — see
[Send from your own domain](/docs/guides/notify/sender-domain).
