Enrich contact with social profile

The system links a CRM Contact or Lead to one or more social profiles — linked by a user, or suggested by a search for the person's name — and stores read-only profile metadata (headline, bio, avatar, follower count, public links) for use in screen pops, prospecting, and reporting.

When this happens: (A) you click Find social profiles on a Contact or Lead. (B) Nightly enrichment job (snapshot refresh). (C) User adds a profile by handle or URL ().

Step by step

  1. 1

    Open the Contact — Social tab — clicks Find social profiles.

    Searches the person's name at each provider that offers a search (X, YouTube) through the user's connected account, else a brand account. No provider lets an app look a profile up by email. Each hit whose name is like the person's (confidence 0.5 – 0.7, below the 0.9 that would link it outright) becomes a *suggested* link, shown beside the contact's details for human confirmation. A provider with no connected account is skipped and the user is told. Keeps each profile's public fields (avatar, bio, location, follower count, website) in SocialProfileSnapshot, refreshed nightly at most once a day.

  2. 2

    Sees the linked profiles with their public details and follower count.

Other paths

Manual link by handle

On a Contact or Lead, clicks Add social profile — selects the network — pastes @handle or the profile's address. Resolves the handle through the connected account's lookup endpoint and reads the profile's public fields at once. EasyCRM creates SocialProfileLink with Manual, confirmed. A LinkedIn or TikTok profile, which no app can look up, is linked from the address as given, marked *Not verified*, with no details. A profile already linked to another contact is refused, naming it, and the two contacts are flagged as possible duplicates.

Confirm a suggested link

Review a suggested profile on the Contact's Social tab — clicks Confirm or Reject. Sets Confirmed (reading the profile in full) or Rejected (not suggested again). Both are audit-logged on the contact.

If something goes wrong

Rate limit hit mid-backfill

Provider returns HTTP 429. The job stops reading that provider; the profiles left are the oldest at the next run, so no partial data is lost.

Profile removed by provider

Lookup returns 404. SocialProfileLink.Status = Stale, snapshot retained for historical context.

Good to know

  • Only public profile fields are stored. Private posts and connection lists are never persisted.
  • Auto-link requires confidence ≥ 0.9; below that threshold the link is suggested, not asserted.
  • Profile snapshots refresh at most every 24 h per profile.
  • Enrichment honours the Contact's GDPR consent flags — if *and* tenant policy restricts enrichment without consent, the link is created but no posts are fetched.