Identify the telegram sender by stable technical identifier and create or associate the profile

The platform identifies the customer behind an inbound Telegram message by their numeric Telegram user id — never their username, which can change — and links or creates their Contact profile.

When this happens: UC-19.5 step 3.

How it works

  • Reads message.from.id from the update.
  • Looks up a ContactChannelIdentity with TelegramUserId and that value, scoped to the connection.
  • A match exists — associates the message with that Contact's conversation.

Other paths

First contact from this telegram user

No matching identity exists. EasyCRM creates a new Contact seeded from first_name / last_name / username, and a ContactChannelIdentity (TelegramUserId) linking it.

Same person, different bot

The same Telegram user id messages a second connected bot. A second ContactChannelIdentity row is created (scoped to that connection); FR-02 matching typically resolves both to the same Contact.

Good to know

  • The Telegram numeric user id is the only reliable identifier; the mutable, optional username is never used as the matching key. (FR-19-004, FR-02)