Welcome Email & Install Notifications
On first install (new shops row), the app sends a welcome email to the merchant via Brevo and can BCC an internal address for new registrations.
Related: Register users · Uninstall & goodbye email · Archive: welcome email plan
Welcome email
Section titled “Welcome email”| Trigger | afterAuth when existing shop row is null (first OAuth install) |
| Sender | Brevo transactional API (app/lib/email.server.js → sendWelcomeEmail) |
| Idempotency | shops.welcome_email_sent / welcome_email_sent_at / welcome_email_error |
| Skip if | No shopEmail, or WELCOME_EMAIL_ENABLED=false |
Template: subject Welcome to AppiFire AI Chat…, quick-start checklist, link to app settings.
New registration BCC
Section titled “New registration BCC”When a new shop installs and a welcome email is sent, the same message is BCC’d to an internal address so the team sees new signups.
| Env var | Default | Purpose |
|---|---|---|
REGISTRATION_NOTIFY_BCC | zain@appifire.com | Comma- or semicolon-separated BCC list |
Implementation:
getRegistrationNotifyBcc()inapp/lib/email.server.jssendBrevoTransactionalEmailaccepts optionalbcc: [{ email, name? }]app/shopify.server.jspasses BCC only when!existing(not on reinstall/re-auth)
No merchant email
Section titled “No merchant email”If the shop has no email on file on first install, the app sends a short internal-only notification (sendNewRegistrationInternalNotify) to the first address in REGISTRATION_NOTIFY_BCC with shop domain and name.
Brevo environment variables
Section titled “Brevo environment variables”Documented in .env.sample:
| Variable | Required |
|---|---|
BREVO_API_KEY | Yes |
BREVO_FROM_EMAIL | Yes |
BREVO_FROM_NAME | Optional |
BREVO_REPLY_TO_EMAIL | Optional |
WELCOME_EMAIL_ENABLED | Optional (true default) |
REGISTRATION_NOTIFY_BCC | Optional (defaults to zain@appifire.com) |
Code references
Section titled “Code references”| File | Role |
|---|---|
app/shopify.server.js | afterAuth → welcome + BCC on new install |
app/lib/email.server.js | Brevo send, welcome/goodbye/internal notify |