Skip to content

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


| Trigger | afterAuth when existing shop row is null (first OAuth install) | | Sender | Brevo transactional API (app/lib/email.server.jssendWelcomeEmail) | | 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.


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 varDefaultPurpose
REGISTRATION_NOTIFY_BCCzain@appifire.comComma- or semicolon-separated BCC list

Implementation:

  • getRegistrationNotifyBcc() in app/lib/email.server.js
  • sendBrevoTransactionalEmail accepts optional bcc: [{ email, name? }]
  • app/shopify.server.js passes BCC only when !existing (not on reinstall/re-auth)

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.


Documented in .env.sample:

VariableRequired
BREVO_API_KEYYes
BREVO_FROM_EMAILYes
BREVO_FROM_NAMEOptional
BREVO_REPLY_TO_EMAILOptional
WELCOME_EMAIL_ENABLEDOptional (true default)
REGISTRATION_NOTIFY_BCCOptional (defaults to zain@appifire.com)

FileRole
app/shopify.server.jsafterAuth → welcome + BCC on new install
app/lib/email.server.jsBrevo send, welcome/goodbye/internal notify