Overview
Alsona’s Salesforce integration is designed to keep outbound activity and CRM data aligned without adding manual work for your team.
The integration focuses on three core areas:
Creating and managing Salesforce records generated by Alsona campaigns
Pulling existing Salesforce Leads or Contacts into Alsona campaigns
Logging LinkedIn conversations back to Salesforce for visibility and reporting
Because Salesforce environments vary widely, some behaviors are intentionally conservative to prevent accidental overwrites or corruption of existing CRM data.
Record Creation and Duplicate Handling
Fields Alsona Creates in Salesforce
When Alsona creates or updates a Lead or Contact in Salesforce, it populates the following fields when data is available from LinkedIn or enrichment sources:
First Name
Last Name
Company (Lead only; required by Salesforce)
Title
Email (when available)
Phone (when available)
LinkedIn URL (stored in a user-selected field; see below)
ln_campaigns_id__c(LinkedIn Campaigns ID)
These fields create a standard Salesforce Lead or Contact that can be routed, assigned, and worked like any other CRM record.
LinkedIn URL field selection
During Salesforce setup in Alsona, users choose which Salesforce field stores the LinkedIn profile URL. If no suitable field exists, Alsona can create a default custom field named linkedin_url__c.
Contact creation strategy
If Contact is selected as the entry strategy, Alsona will:
Upsert an Account by Company Name (and Website, when available)
Set
Contact.AccountIdto associate the Contact with the Account
How Alsona Prevents Duplicates
Alsona can only reliably prevent duplicates for records that it creates.
When Alsona creates a Lead, it assigns a persistent external identifier:
External key field:
ln_profile_id__c(LinkedIn Profile ID)
This field uniquely identifies a LinkedIn profile. If the same profile appears in a future Alsona campaign, this key is used to prevent duplicate record creation.
When syncing prospects, Alsona attempts to match existing Salesforce records using the following conservative order:
Match by
ln_profile_id__c(highest confidence)If not present, match by LinkedIn URL (using the configured LinkedIn URL field)
If a match is found, Alsona:
Attaches
ln_profile_id__cif it is missingFills only empty fields on the Salesforce record
If no match is found, a new Lead or Contact is created.
Overwrite Safety
To avoid overwriting existing CRM data, Alsona uses a fill-only strategy for common fields such as Title, Email, and Phone.
If a Salesforce record already contains a value, Alsona will not replace it.
Why Existing Salesforce Records Aren’t Fully De-duplicated
Leads or Contacts that already exist in Salesforce typically do not contain Alsona’s external key (ln_profile_id__c). Without a shared identifier, Alsona cannot reliably match new prospects to preexisting records.
To enforce cross-system duplicate prevention, both systems would need to agree on a shared matching field.
The most common option is email address, but this has limitations:
Alsona does not always have an email address for every LinkedIn profile
Email addresses may vary (aliases, personal vs. work, enrichment differences)
Many LinkedIn-first workflows begin without email data
Because of these constraints, Alsona does not enforce cross-system duplicate checks by default. This avoids false matches and unintended overwrites.
For teams that rely heavily on CSV imports or maintain strict email hygiene, using email as a shared matching field can be viable—but it is not guaranteed to be 100% accurate.
Pulling Salesforce Leads and Contacts Into Alsona
Alsona can also pull existing Salesforce Leads or Contacts into Alsona for use in campaigns.
How the Integration Source Works
When creating a campaign in Alsona, you can select Integration as the source type. This triggers a Salesforce sync that:
Pulls records in batches of 100 using pagination
Includes only Leads or Contacts that contain a LinkedIn profile URL
Currently, this integration logic is used only during campaign creation.
At setup time, Alsona pulls the first 100 eligible Salesforce records and makes them available as campaign prospects.
Why the 100-Record Limit Exists
The 100-record limit is intentional and tied to how Salesforce data is currently used inside Alsona.
While Alsona can technically retrieve all matching records, open questions remain around how larger datasets should be handled, including:
Creating campaigns with more than 100 Salesforce-sourced prospects
Segmenting or filtering Salesforce data inside Alsona
Supporting Salesforce-driven workflows beyond campaign creation
As these use cases are clarified and validated, the limit can be expanded safely without introducing performance or UX issues.
Logging LinkedIn Conversations to Salesforce
Alsona supports logging LinkedIn conversations directly to the corresponding Salesforce Lead or Contact, providing visibility into outbound and inbound activity.
Current Status
This functionality exists as draft code and has not yet been fully tested in production. This is primarily because real-world usage scenarios have not been clearly defined.
Once specific use cases are confirmed—such as reporting, automations, or sales workflows driven by LinkedIn replies—the feature can be fully validated and released.
How Message Logging Works
When a LinkedIn conversation is pushed from Alsona to Salesforce:
One Salesforce record is created per message
Each message is linked to the associated Lead or Contact
Option 1: Custom LinkedIn Message Object (Recommended)
If your Salesforce org includes Alsona’s custom object (linkedin_message__c), which is created automatically when Salesforce is connected, Alsona logs each message as a structured record with fields such as:
Message direction (incoming or outgoing)
Sent timestamp
Message body
Labels and metadata
These records are linked directly to the Lead or Contact, creating a clean, chronological conversation history.
Option 2: Standard Salesforce Tasks (Fallback)
If the custom object is unavailable—or if your team prefers native Salesforce objects—Alsona falls back to standard Salesforce Tasks:
Tasks are attached to the Lead or Contact
Message content is stored in the task description
This ensures conversation history is still captured even without custom objects.
Conversation Context on the Parent Record
In addition to logging individual messages, Alsona aggregates conversation labels and updates them on the parent Lead or Contact record. This allows reps and managers to quickly understand conversation status without opening each message.
Current Limitations
Some Salesforce logging features have not yet been implemented across all real-world workflows.
If you have a specific scenario in mind—such as:
Triggering automations based on LinkedIn replies
Reporting on message direction or engagement
Syncing conversation activity with opportunity stages
—sharing those details helps the team validate and test the behavior properly.
Summary
Alsona’s Salesforce integration is designed to be safe, flexible, and CRM-friendly:
Duplicate prevention applies only to records created by Alsona
Salesforce Leads and Contacts can be pulled into Alsona campaigns via the Integration source
LinkedIn conversations can be logged using structured custom objects or standard Salesforce Tasks
Conversation context is surfaced directly on the Lead or Contact record
As usage expands and more real-world workflows are validated, additional enhancements and higher data limits will continue to roll out.
