Promote an identified visitor to a full customer profile

When a visitor supplies identifying information through the identification form, the system resolves them to an existing Contact using reliable identifiers, or creates a new one — never matching on name, username or photo alone.

When this happens: Visitor submits the identification form.

How it works

  • Enters Name = Maria Popescu, Email = `[email protected]` and submits.
  • EasyCRM checks the mandatory fields are present.
  • Creates/updates ContactChannelIdentity rows for the submitted Email (and Phone, if given) and runs FR-02's identifier-based matching.
  • EasyCRM finds no existing Contact with this email; creates a new Contact with LiveChat.
  • Links VisitorSession.Contact to the new Contact; the pre-identification LiveChatVisitorId identity now also carries this Contact, so earlier messages in this session appear on the Contact's history.

Other paths

Email matches an existing contact

At step 3 the email exactly matches an existing Contact. Links the session to that Contact instead of creating a new one; the operator now sees this visitor's full cross-channel history.

Ambiguous match

FR-02 surfaces more than one plausible match. Links the conversation to the best match and raises a DuplicateCandidate for an Admin to resolve; the visitor is not blocked.

If something goes wrong

Mandatory field missing

The Email field is empty. Blocks submission with EasyCrm:LiveChat:IdentificationRequired; the visitor cannot proceed past a *Before first message* form, or cannot send further messages past an *After first message* form.

Good to know

  • Automatic profile association uses reliable identifiers only — never name, username or photo alone. (FR-22-011, BRD §3.8)
  • Promotion is idempotent — resubmitting the same identification never creates a duplicate identity or Contact.