Identify the sender's address and create or associate the customer profile

The customer on an inbound email is identified from the `From` address, matched to an existing `Contact` by reliable identifier, or used to create a new one.

When this happens: An inbound email is captured.

How it works

  • Reads the inbound message's From address, *[email protected]*.
  • Normalizes it (lower-case) and looks up ContactChannelIdentity within the tenant.
  • EasyCRM finds a match — the message is associated with the existing Contact Elena Popescu.
  • EasyCRM updates Contact.LastInteractionAt, and Email if unset.

Other paths

No match — new contact

No ContactChannelIdentity matches. EasyCRM creates a new Contact with the From address as its primary reliable identifier and a new ContactChannelIdentity row.

Display name resembles an existing contact, address doesn't match

The address itself doesn't match any existing Contact. A new Contact is created — name or photo alone never triggers association (BRD §3.8); any suspected duplicate is left to the explicit duplicate-detection flow.

If something goes wrong

Malformed from header

The header carries no valid address. Captures the message with the raw header value, flags it in ExternalContext for operator attention, and does not attempt identification.

Good to know

  • Identification uses the From address only.
  • Name, username or photo alone never triggers automatic association. (BRD §3.8)