Overview
Getting Salesloft and Salesforce to work together should be straightforward. Both platforms handle critical parts of your sales workflow—Salesloft manages your sequences and engagement, while Salesforce serves as your system of record. But anyone who has set up this integration knows the reality: field mapping conflicts, sync failures, and duplicate records that slowly erode your team's trust in the data.
This guide walks through the complete Salesloft-Salesforce integration setup, from initial configuration to handling the edge cases that trip up most teams. Whether you're implementing for the first time or troubleshooting an existing connection, you'll find practical guidance for building a sync that actually works.
Prerequisites and Planning
Before connecting Salesloft to Salesforce, you need clarity on a few things. Rushing into the integration without this groundwork creates problems that are painful to fix later.
Required Access and Permissions
You'll need admin access in both systems. In Salesforce, this means the "System Administrator" profile or a custom profile with "Manage Connected Apps" and "API Enabled" permissions. In Salesloft, you need team admin access to configure integrations.
Salesloft's Salesforce connector uses OAuth, so the connecting user's permissions determine what the integration can access. Connect with an integration user that has appropriate field-level security, not a personal admin account that might be deactivated.
Deciding on Your Data Model
The most important planning decision: how will records flow between systems? Salesloft can sync Leads, Contacts, Accounts, and Opportunities from Salesforce. Most teams sync Leads and Contacts, but the details matter.
Consider these questions before setup:
- Should Salesloft create new records in Salesforce, or only update existing ones?
- Which fields need to sync bidirectionally vs. one-way?
- How will you handle field mapping for custom fields?
- What happens when a Lead converts to a Contact mid-sequence?
Document your answers. These decisions drive everything in the configuration.
Initial Connection Setup
With planning complete, the actual connection is straightforward. Here's the step-by-step process.
Enable the Integration in Salesloft
Navigate to Settings > CRM > Salesforce. Click "Connect Salesforce" and authenticate with your integration user credentials. Salesloft will request the necessary OAuth scopes.
Configure Sync Direction
Choose your sync mode. "Salesloft to Salesforce" pushes engagement data to your CRM. "Salesforce to Salesloft" pulls contact data for enrichment. "Bidirectional" does both—but requires careful field mapping to avoid conflicts.
Set Object Mapping
Map Salesloft People to Salesforce Leads, Contacts, or both. If you choose both, configure the matching logic—typically email address first, then name-based fallback.
Configure Field Mappings
This is where most teams struggle. Map Salesloft fields to their Salesforce equivalents. Standard fields like email and phone usually auto-map. Custom fields require manual configuration.
After completing these steps, run a test sync with a small batch of records before enabling for your full database. This catches mapping issues early when they're easy to fix.
Field Mapping Best Practices
Field mapping determines what data moves between systems and how conflicts resolve. Get this wrong, and you'll spend hours debugging why rep notes disappeared or why phone numbers keep reverting.
Understanding Sync Direction Per Field
Salesloft lets you set sync direction at the field level, not just the integration level. This flexibility is powerful but requires thought. Common patterns:
| Field Type | Recommended Direction | Rationale |
|---|---|---|
| Email Address | Salesforce to Salesloft | CRM is system of record for contact data |
| Phone Number | Salesforce to Salesloft | Same as above |
| Last Contacted Date | Salesloft to Salesforce | Salesloft tracks engagement |
| Email Opens/Clicks | Salesloft to Salesforce | Engagement data originates in Salesloft |
| Lead Score | Depends on calculation source | Sync from wherever the score is computed |
| Owner | Salesforce to Salesloft | Territory assignment usually lives in CRM |
For fields that could be edited in both systems, you need a tiebreaker. Salesloft uses "last updated wins" by default, but you can configure one system as authoritative for specific fields.
Custom Field Considerations
Custom fields add complexity. Before mapping a custom field, verify:
- The field exists in both systems (Salesloft won't create Salesforce fields automatically)
- Data types match (text to text, picklist to picklist)
- Picklist values align exactly—including capitalization
- The Salesforce field is accessible to the integration user's profile
For teams using sequencer field mapping with Clay or similar enrichment tools, ensure your Salesloft mappings don't conflict with other data sources writing to the same fields.
Activity Logging Configuration
Beyond contact data, Salesloft logs sales activities to Salesforce. This creates visibility for managers and ensures engagement history follows the contact regardless of which system a rep is using.
What Gets Logged
Salesloft can log these activities to Salesforce:
- Emails sent (including body, subject, and outcome)
- Email opens and clicks
- Calls made (with duration, disposition, and notes)
- LinkedIn touches
- Meetings booked
- Sequence enrollment and completion
Activity Logging Settings
Navigate to Settings > CRM > Activity Sync to configure what logs and how. Key decisions:
Log as Tasks vs. Events: Most teams log emails and calls as Tasks, meetings as Events. This matches Salesforce conventions and keeps calendars clean.
Completed vs. Open Tasks: Log activities as completed to avoid cluttering rep task lists. The activity history still appears on the contact timeline.
Email Body Inclusion: Decide whether to include full email bodies in Salesforce. This aids context but increases storage and may raise privacy concerns for some organizations. Teams focused on personalized sales emails often want full body logging for coaching purposes.
Create a dedicated Salesforce Task record type for Salesloft activities. This lets you filter them in reports and views, keeping rep-created tasks separate from automated logging.
Troubleshooting Common Sync Issues
Even well-configured integrations hit problems. Here are the issues we see most often and how to resolve them.
Duplicate Records
Duplicates typically occur when the matching logic fails. Salesloft matches on email first, so records without email addresses often create duplicates. Solutions:
- Require email addresses before syncing to Salesforce
- Enable Salesforce duplicate rules as a safety net
- Run regular deduplication jobs in Salesforce
Sync Failures
Check the Salesloft sync log (Settings > CRM > Sync Log) for specific error messages. Common causes:
- Validation rule failures: Salesforce validation rules blocking the update
- Required field missing: Salesforce requires a field that Salesloft isn't providing
- Record locked: Another process has the record locked for editing
- API limits: You've hit Salesforce's daily API limit
For validation rule issues, either update the Salesloft data to meet requirements or modify the Salesforce validation rule to exclude integration user updates.
Data Overwrites
If field values keep reverting unexpectedly, check for competing sync directions. A common scenario: you've set the field to bidirectional, but another integration (like Clay or another enrichment tool) is also writing to Salesforce. The last write wins, creating apparent randomness.
Map out all systems touching each field. Usually, one source should be authoritative and others should read-only.
Lead Conversion Complications
When a Salesforce Lead converts to a Contact, Salesloft needs to update its reference. This usually happens automatically, but can fail if:
- The converted Contact has a different email address
- The conversion happens while a sync is in progress
- Custom Lead fields don't map to Contact fields
Monitor converted leads carefully and manually relink in Salesloft if needed.
Advanced Configuration Options
Once the basics work, consider these advanced configurations to improve your workflow.
Opportunity Integration
Link Salesloft People to Salesforce Opportunities to track engagement influence on pipeline. This requires additional setup:
- Map the Contact Role relationship so Salesloft knows which Contact relates to which Opportunity
- Configure whether engagement should attribute to the Account-level or Contact-level
- Set up Opportunity sync triggers (e.g., sync when Opportunity reaches certain stages)
The payoff is seeing Salesloft engagement data on Opportunity records, useful for understanding what touchpoints influence deals. For teams running AI-powered SDR workflows, this attribution data helps optimize sequencing strategies.
Account Hierarchies
For enterprise sales, configure Account hierarchy sync. This ensures reps see the full account structure when working a contact, not just the immediate Account assignment. Enable "Sync Account Hierarchy" and map parent Account relationships.
Custom Activity Fields
Extend activity logging with custom fields. Create custom fields on the Salesforce Task object, then map Salesloft activity data to them. Common uses:
- Sequence name (to track which cadence generated the activity)
- Step number (to understand sequence position)
- Sentiment analysis scores (if using call intelligence)
Optimizing Sync Performance
As your database grows, sync performance matters. Slow syncs delay rep workflows and create data staleness issues.
Batch Size Configuration
Salesloft syncs in batches. Larger batches are more efficient but can timeout. If you're seeing sync failures on large record sets, reduce batch size in Settings > CRM > Advanced.
Sync Frequency
Real-time sync sounds ideal but creates API load. For most teams, near-real-time (every 5-15 minutes) balances freshness with resource efficiency. Only enable real-time for fields where seconds matter—typically engagement triggers that fire trigger-based outreach.
Selective Sync
Not every record needs bidirectional sync. Use Salesforce filters to limit which records sync to Salesloft:
- Exclude records owned by certain users (like inactive reps)
- Filter by Lead/Contact status (exclude closed or disqualified)
- Limit to specific record types
Fewer records mean faster syncs and lower API consumption.
What Changes at Scale
Managing Salesloft-Salesforce sync for a 10-person team is manageable. You set up field mappings, fix the occasional conflict, and move on. At 100 reps, or 500 reps, everything changes.
The challenges compound: multiple teams with different field requirements, conflicting automation rules, sync queues backing up during peak hours, and no single person who understands how all the pieces connect. You're not just syncing two systems—you're coordinating data flows from enrichment tools like Clay, signals from intent providers, engagement data from multiple sequencers, and whatever custom integrations your team has built.
What you actually need at this scale is a context layer that unifies all of these data sources. Instead of point-to-point integrations that break whenever one system changes, you need a single source of truth that orchestrates data flow across your entire GTM stack.
This is exactly what platforms like Octave are built for. Rather than managing a spider web of Salesloft-Salesforce mappings alongside separate Clay-Salesforce syncs and manual exports from your intent tools, Octave maintains a unified context graph that keeps everything in sync. It handles the orchestration complexity—field transformation, conflict resolution, and sequence triggering—so your team can focus on selling rather than debugging integrations.
For teams running multi-tool GTM workflows, the context layer approach eliminates most of the configuration headaches covered in this guide. Instead of troubleshooting why a field value changed unexpectedly, you have clear lineage showing exactly what data came from where.
FAQ
Default sync frequency varies by data type. Activity logging happens in near-real-time (typically within 5 minutes). Contact/Lead data syncs on a configurable schedule, usually every 15-60 minutes. You can trigger manual syncs from individual records when needed.
Salesloft's native integration supports standard objects: Leads, Contacts, Accounts, and Opportunities. For custom objects, you'll need to use the Salesloft API or a middleware tool like Workato to build custom sync logic.
Failed syncs appear in the Salesloft sync log with error details. Salesloft retries failed syncs automatically. If failures persist, check for Salesforce validation rules, required fields, or permission issues blocking the update.
Yes. Each sync operation consumes Salesforce API calls. Monitor your API usage in Salesforce Setup > System Overview. If you're hitting limits, consider reducing sync frequency or filtering which records sync.
Yes, but carefully. Each team needs its own integration connection. Ensure field mappings don't conflict—if both teams map different Salesloft fields to the same Salesforce field, you'll get overwrite issues.
Connect Salesloft to your Salesforce sandbox for testing. When ready for production, disconnect from sandbox and reconnect to production. Note: you'll need to reconfigure field mappings since sandbox field IDs differ from production.
Conclusion
The Salesloft-Salesforce integration is foundational for sales teams that want engagement data in their CRM and CRM data powering their sequences. Done well, it creates a seamless workflow where reps work in Salesloft while managers get full visibility in Salesforce.
The key to success is thoughtful planning before configuration. Decide upfront which system owns each field, document your sync direction decisions, and test thoroughly with small batches before enabling for your full database. When issues arise—and they will—start with the sync log and work backward from specific error messages.
For growing teams, revisit your integration configuration quarterly. What worked for 20 reps may not scale to 200. As your GTM stack grows more complex, consider whether the point-to-point integration approach still makes sense, or whether a unified context layer would reduce the coordination burden.
