Identify the instagram sender and create or associate the profile

The system resolves an inbound message's Instagram-scoped user id to a Contact, creating one when none exists.

When this happens: UC-17.5 step 4.

How it works

  • Looks up a ContactChannelIdentity with InstagramScopedId, matching Value and ChannelConnectionId.
  • No match found — calls Instagram's profile lookup for the IGSID to obtain @handle, display name and profile picture.
  • EasyCRM creates a new Contact seeded from that profile data, and a ContactChannelIdentity linking it to the IGSID and connection.
  • Attaches the inbound message's conversation to the new Contact.

Other paths

Known identity

At step 1 a match is found. The message is associated with the existing Contact directly — no new identity or Contact is created.

If something goes wrong

Profile lookup fails

Instagram's profile lookup fails or returns no data. A Contact is still created, seeded from the IGSID alone (no display name) — the message is never dropped for lack of profile enrichment.

Good to know

  • Association uses only the reliable IGSID identifier — never display name or avatar alone. (FR-17-007, BRD §3.8)
  • The IGSID is scoped to the connection that received it, not global.