Vector + Salesforce Integration Guide

Last updated: May 13, 2026

Vector integrates seamlessly with Salesforce to enrich your CRM with contact-level data, helping your team connect anonymous website visitors, qualify high-intent accounts, and drive timely outreach. This guide covers how the integration works, what data syncs where, and how to control every step of the process.


πŸ” How Do I Connect Vector to Salesforce?

A single Salesforce user (typically an admin or integration user) connects Vector to your Salesforce instance via OAuth. This connection handles all syncing across your organization β€” individual users do not need to log in with their own credentials.

To connect Salesforce to your Vector workspace:

  1. Navigate to the bottom left corner. Integrations β†’ Salesforce

  2. Click Connect Salesforce

  3. You’ll be redirected to log in via your Salesforce credentials

βœ… Once logged in, your Salesforce instance is securely connected to Vector.
βœ… Only one connection is needed:

πŸ’‘ Simply connecting Salesforce does not automatically start syncing any data. Data only flows to Salesforce when you explicitly add a Salesforce action to a segment β€” giving you full control over what is sent, and when.


πŸ”‘ Required Salesforce Permissions

The Salesforce user account you use to connect Vector needs the right permissions in place before you authorize. If the connecting user is missing any of these, the OAuth flow may complete successfully β€” but syncing will fail silently or partially, which can be frustrating to diagnose.

We recommend connecting with a dedicated integration user rather than a personal admin account. This prevents the connection from breaking if someone changes their password or leaves the team.

System Permissions

The connecting user must have API Enabled turned on. This is the single most important permission β€” without it, Vector cannot communicate with your Salesforce instance at all, regardless of what object-level access is configured.

To check: go to Setup β†’ Users β†’ [User] β†’ Profile or Permission Set β†’ System Permissions β†’ API Enabled βœ…

If you're creating a dedicated integration user, assign them a profile that includes API access (e.g. Salesforce Integration or System Administrator), or create a custom Permission Set with API Enabled and assign it.


Object-Level Permissions

Vector needs the following access across the objects it touches. These should be set on the connecting user's Profile or an assigned Permission Set.

Salesforce Object

Read

Create

Edit

Notes

Lead

βœ…

βœ…

βœ…

Required if "Create leads" or "Update existing leads" is enabled in Vector

Contact

βœ…

βœ…

βœ…

Required if "Create contacts" or "Update existing contacts" is enabled

Account

βœ…

βœ…

βœ…

Required for Account sync and Account List pulling

Task

βœ…

βœ…

β€”

Required if "Create new activity" is enabled in Vector

List View

βœ…

β€”

β€”

Required for Account List sync β€” Vector reads saved Salesforce views to pull Account Lists into segments

Opportunity

βœ…

β€”

β€”

Required if you use Opportunity data in Account List views for segmentation (e.g. filtering by Stage or Owner)

⚠ Heads-up on partial permissions: If the connecting user has Update but not Create on Leads, for example, Vector will be able to update existing leads but silently skip creating new ones β€” with no error shown in Vector. Make sure each toggle you've enabled in sync settings has the corresponding Salesforce permission to back it up.


Field-Level Security

Object-level permissions alone aren't enough β€” Salesforce also controls access at the individual field level. If a field is restricted for the connecting user, Vector won't be able to read or write to it even if the object-level access is correct.

At minimum, the connecting user needs Read, Edit, and Create access on:

  • Standard Lead fields: First Name, Last Name, Email, Company, Title, Phone, Website

  • Standard Contact fields: First Name, Last Name, Email, Phone, Title, Account Name

  • Standard Account fields: Name, Website, Industry, Number of Employees

  • Task fields: Subject, Status, Description, Activity Date, Who ID, What ID

  • Any custom fields you've created to receive Vector data (e.g. Vector_Segment_Name__c, Vector_Last_Visit_Date__c, Vector_UTM_Source__c)

To check field-level security: go to Setup β†’ Object Manager β†’ [Object] β†’ Fields & Relationships β†’ [Field] β†’ Set Field-Level Security.

πŸ’‘ Creating custom fields for Vector? When you create them, set visibility to Visible and Read-Write for the connecting user's profile right at creation time β€” it's easy to miss this step and end up with fields that are visible in the UI but blocked from API writes.


πŸ” Is the Integration Bi-Directional?

Vector is primarily a one-way integration (Vector β†’ Salesforce) β€” but with limited data pulling from Salesforce β†’ Vector to support segmentation:

  • βœ… Pushes to Salesforce: Vector can enrich Leads, Contacts, and Accounts and optionally log Tasks

  • βœ… Pulls from Salesforce: Vector can public Account Lists using saved views to support CRM-aligned segmentation (e.g. pulling in Account Name, Owner, Stage)

  • ❌ Vector does not scan, enrich, or modify existing Salesforce records unless explicitly configured via segment actions

  • ❌ Account Lists are read-only β€” Vector does not push enriched data back to those records

πŸ”„ So while the integration includes some limited pulling of account data, it’s not a full bi-directional sync in the traditional sense.


What Vector Sends to Salesforce

Enriched data may include:

  • First Name, Last Name

  • Job Title, Company Name, Company Domain

  • LinkedIn URL, Mobile Phone Number

  • Company Size, Seniority, Department, Industry

  • Segment metadata (Segment Name, Segment ID, Last Active Timestamp, etc.)


What Vector Does Not Pull From Salesforce

  • No scanning or importing of existing Contacts, Leads, or Accounts

  • No enrichment or modification of your existing CRM records

  • Data is only pushed when a segment includes a Salesforce sync action


βš™ Sync Settings Overview

You control how Vector interacts with Salesforce across three objects:

  • Leads and Contacts (grouped in settings)

  • Accounts

  • Tasks (optional activity creation)


Lead/Contact Sync (Grouped in Settings)

In the Salesforce integration settings, Leads and Contacts are managed in a shared section β€” meaning sync behavior is configured together, but each object has its own independent toggle.

Available Options:

  • Update existing leads – Update Lead records matched by name + company

  • Create leads – Create new Leads if no match is found

  • Update existing contacts – Update Contact records matched by name + email

  • Create contacts – Create new Contacts if no match is found

βœ… You can turn each of these on or off based on how your CRM is structured and whether you work primarily in Leads, Contacts, or both.

Screenshot 2025-08-06 at 6.46.05β€―PM.png

Account Sync

Account sync is configured separately and provides the same flexibility:

  • Update existing accounts – Based on name + domain

  • Create new accounts – When no match is found

πŸ“Œ Tip: Account sync is commonly used in ABM workflows to enrich known accounts with segment and intent data.

Screenshot 2025-08-06 at 6.46.38β€―PM.png

Task Creation

Vector can optionally create a Salesforce Task each time a visitor is identified via Contact, Lead, or Account.

  • Create new activity – Enables automatic creation of task records based on visit or intent triggers
    This is helpful for logging activity, triggering automations, or alerting sales teams of high-intent behavior.

    Screenshot 2025-08-06 at 6.47.12β€―PM.png


Example in Salesforce:
When a task is pushed, you’ll see a record like this in Salesforce:

Salesforce Activity Record (2).png

πŸ›  Field Mapping: Standard & Custom

In Vector, you can control which fields get synced to Salesforce and where they land β€” at the Lead, Contact, or Account level. Each object has its own tab, and you can define mappings independently per object.

Screenshot 2025-08-06 at 6.48.20β€―PM.png

Standard Field Mapping (Default Fields)

Vector provides a set of core enrichment fields that can be mapped directly to their corresponding Salesforce fields. These include:

  • First Name

  • Last Name

  • Email

  • Company Name

  • Company Domain (mapped to Website)

  • Title

These are typically pre-selected for you and can be adjusted as needed. They are available across Leads, Contacts, and Accounts, depending on how your sync is set up.


πŸ›  Field Mapping Using Dynamic Variables

Vector supports dynamic field mapping using structured variables when you select "Custom Value" as the data source.

Available Variables & Why They’re Helpful

Variable

Description

Why It’s Helpful

{{segmentId}}

The ID of the segment

Useful if you want a unique identifier for reporting or syncing back to systems.

{{segmentName}}

The name of the segment

Great for dashboards or reporting β€” you’ll always know which play or segment sourced a contact, especially if you name segments meaningfully.

{{lastVisitTimestamp}}

Full timestamp of the last visit (e.g., 2025-03-05T18:01:03.735Z)

Shows exactly when a person last engaged, helpful for assessing freshness of intent.

{{lastVisitDate}}

Date of the last visit (e.g., 2025-03-05)

Lets reps quickly see if a visit was recent and worth acting on.

{{lastVisitTime}}

Time of the last visit (e.g., 18:01)

Adds precision on activity β€” valuable for context around engagement patterns.

{{firstVisitTimestamp}}

Full timestamp of the first visit (e.g., 2025-03-05T18:01:03.735Z)

Shows when initial interest began, useful for understanding buying journey.

{{firstVisitDate}}

Date of the first visit (e.g., 2025-03-05)

Helps establish how long someone has been engaging with your site.

{{firstVisitTime}}

Time of the first visit (e.g., 18:01)

Useful for noticing patterns (like early morning vs. end-of-day browsing).

{{firstVisitPageUrl}}

Page URL of the first visit

One of the most impactful fields: reveals what first caught a prospect’s eye. You wouldn’t say β€œI saw you visited X page” directly, but you can use it to frame conversations around relevant pain points or interest areas.

{{firstPageViewWithUtm.PROPERTY_NAME}}

Accesses UTM properties from the first page view. Valid names: pageUrl, pageBaseUrl, utmSource, utmMedium, utmCampaign, utmContent, utmTerm

Helps tie web activity back to campaigns or ads, making attribution clearer and guiding which marketing channels are driving engagement.

Example in Salesforce:
When a task is pushed, you’ll see a record like this in Salesforce:

Salesforce field data example (2).pngSalesforce field data example 2 (2).png

Passing UTMs and First-Page Details into Salesforce

Vector can capture the very first page a contact or lead landed on and any UTM parameters tied to that visit. You can map these directly into Salesforce fields for cleaner attribution and campaign reporting.

Custom Value

What it captures

{{firstPageViewWithUtm.utmSource}}

UTM source such as google or linkedin

{{firstPageViewWithUtm.utmMedium}}

UTM medium such as email, cpc, social

{{firstPageViewWithUtm.utmCampaign}}

UTM campaign name

{{firstPageViewWithUtm.utmContent}}

UTM content identifier

{{firstPageViewWithUtm.utmTerm}}

UTM term or keyword

{{firstPageViewWithUtm.pageUrl}}

Full URL of the first landing page

{{firstVisitDate}}

Date of the first visit

{{firstVisitTimestamp}}

Full timestamp of the first visit

{{lastVisitDate}}

Most recent visit date

{{lastVisitTimestamp}}

Full timestamp of the most recent visit

Vector + Salesforce Integration Guide

Vector integrates seamlessly with Salesforce to enrich your CRM with contact-level dataβ€”helping your team identify high-intent buyers, connect anonymous website visitors to real people, and take action at the right time.

This guide covers:

  • How to connect Vector to Salesforce

  • How data flows between systems

  • How to configure behavior (Leads vs Contacts, updates, etc.)

  • Best practices and common setups


πŸ” Connecting Vector to Salesforce

A single Salesforce user (typically an admin or integration user) connects Vector via OAuth.

To connect:

  1. Navigate to Settings β†’ Integrations β†’ Salesforce

  2. Click Connect Salesforce

  3. Log in with your Salesforce credentials

βœ… Only one connection is required per organization
βœ… All syncing is managed centrally

πŸ’‘ Important:
Connecting Salesforce does not automatically send data.
Data is only sent when you explicitly add a Salesforce action to a segment.


πŸ” How the Integration Works

Direction of data flow

Vector β†’ Salesforce (one-way)

Vector sends enriched contact and account data into Salesforce when triggered by segments.


βš™ How Configuration Works

Organization-Level Settings (Not Per Segment)

All Salesforce settings are configured at the organization level, not per segment.

This means:

  • You cannot send one segment to Leads and another to Contacts

  • Your configuration applies globally across all segments


🧠 What You Can Control

Vector gives you control over how data is created and updated in Salesforce through a set of toggles.

Available actions:

  • Create Leads

  • Update Leads

  • Create Contacts

  • Update Contacts

  • Create Accounts

  • Update Accounts

  • Create Tasks (activity logging)

Each of these can be enabled or disabled independently.


πŸ‘₯ Leads vs Contacts: How to Decide

Understanding this is key to setting up the integration correctly.

Leads

  • Unqualified prospects

  • Not directly tied to Accounts

  • Typically owned by Marketing

  • Must be converted to become Contacts

Contacts

  • Qualified people tied to Accounts

  • Used by Sales

  • Immediately connected to company records


🧩 Common Setup Patterns

1. Product-Led Growth (PLG)

  • Skip Leads entirely

  • Create Contacts directly

Configuration:

  • Create Contacts = ON

  • Create Leads = OFF


2. Traditional Enterprise Sales

  • Use Leads for qualification

  • Convert to Contacts later

Configuration:

  • Create Leads = ON

  • Create Contacts = OFF


3. Hybrid Model

  • Use both Leads and Contacts

Behavior:

  • Vector checks for existing Contacts first

  • If none found β†’ creates a Lead (default priority)


πŸ” How Record Matching Works

When Vector processes a person, it follows this logic:

Lookup order:

  1. Check for existing Contact

    • Match on: Name + Email

  2. Check for existing Lead

    • Match on: Name + Company

If a record exists:

  • Updates that record (if enabled)

If no record exists:

  • Creates a Lead first (if enabled)

  • Otherwise creates a Contact


πŸ§ͺ Data Requirements (Very Important)

Vector only creates or updates records if required fields are present.

Required fields:

ObjectRequired Fields

Lead

Company + First Name + Last Name

Contact

Email + First Name + Last Name

Account

Company Domain + Company

If required data is missing, Vector will skip the action silently.

Example:
If a record has no company β†’ Lead creation will not happen.


🏒 Account Creation Behavior

You can choose whether Vector creates Accounts.

If enabled:

  • Accounts are created using company + domain

If disabled:

  • Vector will only associate with existing Accounts


πŸ“ Activity Tracking (Tasks)

You can optionally log Vector activity in Salesforce as Tasks.

This allows your sales team to:

  • See engagement activity

  • Track intent signals

  • Prioritize outreach


⚠ Important Limitations

1. No Per-Segment Routing

You cannot:

  • Send Segment A β†’ Leads

  • Send Segment B β†’ Contacts

Workarounds:

  • Use Salesforce Flows or automation to route records after creation


2. Free Plan Limitation

  • Cannot create new Contacts on free plans

  • Can still update existing Contacts


3. Data Quality Matters

Missing required fields will prevent record creation or updates.


🧭 Recommended Setup Approach

  1. Start simple

    • Choose Leads or Contacts (not both initially)

  2. Test with a small segment

    • Validate behavior before scaling

  3. Enable updates

    • Keep CRM data fresh

  4. Monitor results

    • Watch for skipped records due to missing data


πŸ›  Troubleshooting

Records not creating?

Check:

  • Is the correct β€œcreate” toggle enabled?

  • Are required fields present?

  • Are you on a free plan (Contact creation blocked)?

  • Does Salesforce allow API access?


Wrong object type being created?

  • Leads are prioritized for new records when both are enabled

  • Missing fields may change behavior


Updates not working?

Check:

  • Is the β€œupdate” toggle enabled?

  • Does the record match correctly?

  • Are Salesforce permissions set properly?


πŸ’‘ Best Practices

  • Align configuration with your sales motion

  • Ensure clean, complete data

  • Document your setup internally

  • Use Salesforce automation (Flows) for advanced routing

  • Treat this as part of your broader go-to-market strategy, not just a sync

Need help configuring your sync settings or testing your mappings? Let us know β€” we’re happy to help.