Identify your users

Which user details to send, what each one does, and where to find them in popular auth tools.

Browser
window.Atlis.identify(user.id, user.email, {
  name: user.name,
  plan: "pro",
  trialExpiresAt: "2026-12-01",
  isActivated: true,
  company: "Acme"          // any extra fields are saved as properties
});

Fields

FieldRequiredWhat it does
idYesYour user's permanent unique ID (for example your database ID). Must not contain /. Using the same ID again updates the same user, never a duplicate.
emailFor emailsWhere Atlis sends workflow emails. Send it on every identify call.
nameNoUsed in {{displayName}} in emails. displayName works too.
planNoPlan name such as free, trial, pro or annual. Feeds the Plan filter and the health score. With AtlisConfig, it defaults to free if left out.
trialExpiresAtNoTrial end date, for example 2026-12-01. Powers the Trial expiring in 3 days workflow.
isActivatedNotrue once the user reaches your key milestone. Leave it out if you don't know yet.
anything elseNoSaved on the user as a property and shown on their profile.

Activation (isActivated)

Activation means a user got real value, for example created their first project. You decide what that moment is.

  • When isActivated changes to true, Atlis sends the Onboarding completed email (if that workflow is on) and stops the Not activated in 48h workflow for that user.
  • New users start as not activated.
  • Don't send isActivated: false on every page load. It overwrites a true you sent earlier. Send it only when you know the real value.
  • Other ways a user gets marked activated: a first payment through Stripe or Paddle, or a CRM status you mapped to Activated (see CRM status mapping).

Milestone workflows you picked during onboarding (like Created first project or Finished onboarding) also count a user as active for their lifecycle stage and health score when that event arrives. Workflows such as Payment failed or Inactive for a week never count as activation. They don't change isActivated itself, so the Not activated email can still send. Send isActivated: true to stop it.

Where to find these values

Auth toolidemailname
Firebase Authuser.uiduser.emailuser.displayName
Supabaseuser.iduser.emailuser.user_metadata.full_name
Clerkuser.iduser.primaryEmailAddress.emailAddressuser.fullName
Auth0user.subuser.emailuser.name
NextAuth / Auth.jssession.user.id (add it in your session callback)session.user.emailsession.user.name
Your own databasePrimary key of the users tableEmail columnName column

Try it in your own workspace

Start with a 14-day trial with Growth features. No credit card needed.

Start free