---
title: Send a welcome email when a customer account is enabled
description: >-
  When a customer signs in to your store for the first time, Shopify enables
  their customer account. Welcome them with an email through your connected
  sender, in the customer's language.
source_url:
  html: >-
    https://docs.workflow-transactional-email.app/template-first-sign-in-welcome-email
  md: >-
    https://docs.workflow-transactional-email.app/template-first-sign-in-welcome-email.md
---

# Send a welcome email when a customer account is enabled

When a customer signs in to your store for the first time, Shopify enables their customer account. This workflow welcomes them with an email through your connected sender, in the customer's language, with the customer's first name and your store's name and link.

One trigger and one **Send Transactional Email** step. The recipient, the language and the variables are already filled in from Flow's data; you only choose the sender and the layout.

![The workflow in Shopify Flow: Send a welcome email when a customer account is enabled](https://cdn-dev.eu.codecreationlabs.cloud/crm-tool/uploads/SjJ78gKLnLlocopCui3Cs62dJbGZ7F1n/1d765bbdb93bb06f.png)
*The complete workflow as it looks in Shopify Flow.*

## What it needs

- The app installed, with an **email sender** connected ([Email senders overview](https://docs.workflow-transactional-email.app/email-senders-overview.md)) and an **email layout** for this email ([Build an email layout](https://docs.workflow-transactional-email.app/build-an-email-layout.md)).
- After the import, open the **Send Transactional Email** step and choose that sender and that layout. The file cannot carry them: they belong to your store.
- Nothing else: **Customer account enabled** is a built-in Shopify trigger.

## Get the workflow

1. Download the `.flow` file attached at the bottom of this page.
2. In your Shopify admin open **Flow**, click **Import** and choose the file.
3. Open the **Send Transactional Email** step, choose the sender and the layout, and save.
4. Click **Turn on workflow**.

The file is an export from Shopify Flow itself. Do not edit it by hand; change the workflow in Flow after importing it.

## How it works

1. **Customer account enabled** starts the workflow when a customer's account becomes enabled. With customer accounts, Shopify does that at the customer's first sign-in, whichever way they sign in (email code, Shop, Google, Facebook, Apple or another identity provider). With legacy customer accounts, it happens when the customer activates the account from the invitation email.
2. **Send Transactional Email** sends the layout you choose to `{{ customer.email }}`, in the customer's language (`{{ customer.locale }}`), with these variables: `customer_name`, `shop_name` and `shop_url`. The step also passes the customer itself, so the layout can attach a file from a customer metafield ([Attach a file from an order or customer metafield](https://docs.workflow-transactional-email.app/attachments-from-metafields.md)).

> [!NOTE]
> **Customers who signed in before October 28, 2026**
> Customers who signed in to customer accounts between May 27, 2024 and October 28, 2026 were enabled by Shopify in a one-time update that started no workflow, so they do not get this email. Customers who have not signed in since May 27, 2024 get it at their next sign-in, which counts as their first.

## This template or the welcome email on customer creation?

[Send a welcome email when a customer is created](https://docs.workflow-transactional-email.app/template-welcome-email.md) starts for every new customer, including the ones created at checkout or by an app who never sign in. This template starts only when a customer actually signs in, so the email can be about their account: order history, saved addresses, faster checkout.

Turn on one of the two, not both, or a customer who creates an account and signs in gets two welcome emails.

## Build the layout

Greet the customer with `Hello {{ variables.customer_name }}` and link `{{ variables.shop_url }}` from a button. Every variable the step sends is read in the layout as `{{ variables.name }}`; the **Use in Shopify Flow** card on the layout page lists the ones your layout uses. See [Passing data from Shopify Flow](https://docs.workflow-transactional-email.app/passing-data-from-shopify-flow.md).

## Make it yours

- Add a condition on `customer.emailMarketingConsent.marketingState` **Equal to** `SUBSCRIBED` if the email contains an offer.
- Add a **Wait** step before the email if you prefer to welcome the customer a little later.

## Next steps

- [Workflow templates](https://docs.workflow-transactional-email.app/workflow-templates.md) - all templates.
- [Send emails in your customer's language](https://docs.workflow-transactional-email.app/layout-languages.md) - a translation per customer language, picked by the Language field.
- [History and troubleshooting](https://docs.workflow-transactional-email.app/history-and-troubleshooting.md) - check that the email went out.
