For the complete documentation index, see llms.txt. This page is also available as Markdown.

Syncing with Salesforce

The Rox Salesforce integration brings CRM records into Rox so reps can work with their Accounts, Contacts, and Leads, use campaign information in outreach, and log completed sequence activities back to Salesforce. Admins choose which data to sync and configure the fields and activities Rox writes back.

Access to Salesforce data in Rox follows Rox account assignment rules. Salesforce sharing rules and role hierarchies are not mirrored in Rox, so account access should be reviewed as part of setup.

This page explains the integration's behavior. For setup instructions, see Configuring Salesforce Integration + Writeback. After setup, manage the connection under Settings → Integrations → Salesforce.

What you can do

  • Bring Salesforce Accounts, Contacts, and Leads into Rox for prospecting and outreach.

  • Map standard and custom fields on supported objects.

  • Use Campaigns and Campaign Members as context when coordinating sequences with marketing activity.

  • Write configured field updates back to Salesforce, including Account updates.

  • Log supported sequence activities as Salesforce Tasks and associate them with Contacts or Leads.

  • Enable Contact or Lead creation during activity writeback. People List creation is also available where enabled for your organization.

These capabilities depend on the objects, mappings, and writeback settings enabled for your organization. Connecting Salesforce does not enable every writeback option automatically.

How data moves between Salesforce and Rox

The integration includes periodic synchronization, as well as user-initiated pushes in-product. Periodic syncs require the installation of a managed package to enable writeback. Otherwise, the connection will be read-only. User-initiated pushes live within People Lists (Contact or Lead). They are described in more detail below.

Here is a summary:

Action
What it does
Where it is configured

Read Salesforce data

Brings selected objects and mapped fields into Rox on a schedule. This applies to: Accounts, Contacts, Leads, Opportunities, Campaigns, CampaignMembers

Organization integration settings

Write Salesforce data

Sends configured Rox field values back to Salesforce. This includes creating new objects with those values if matching objects are not found. Contact and Lead writeback currently only happens when Activities are synced (below).

Organization integration settings

Log activities

Creates Salesforce Tasks for enabled sequence activity types (email, call, LinkedIn) with standard metadata and optionally also writes configured fields to the associated Contact or Lead. We give an option whether to create a new Contact or Lead if not found. For Contacts, if no associated Account is found, it will not create a new Account, nor will it create a new Contact.

Organization integration settings

Contact and Lead list push

Bulk creates new Contacts and Leads or updates existing ones

People product (Contact List or Lead List)

Scheduled sync

Rox pulls Salesforce data into a managed warehouse for use in the application. An Organization Admin configures the objects and fields included in the integration and the updates Rox can send back. This is done in Settings → Integrations → Salesforce. The default sync interval is 30 minutes, and the sync interval for Activities and Contact/Lead engagement status updates is 5 minutes.

People List writeback

Where People List writeback is enabled (Contacts or Leads), a user can add a lookup column to a list to find a matching Contact or Lead in Salesforce. Then, the user can add a Create column or an Update column that trigger depending on whether a matching record was found. The Create and Update columns run when the column is added and again as new records enter the list.

Importantly, People List writeback is user-configured, whereas our background syncs are automatic.

Managed package

As mentioned above, a managed package must be installed to enable writeback. Installing the package makes these schema additions to the customer's org:

  1. One custom object: RoxAI__ID_Mapping__c

    1. Fields: RoxAI__SFDC_ID__c, RoxAI__Rox_ID__c, RoxAI__Object_Type__c

  2. A RoxAI__Rox_ID__c attribution field on Account, Contact, Lead, and Opportunity

  3. A RoxAI__RoxActivityId__c field on Task

Do not delete or modify these objects/fields.

Supported Salesforce objects

Account and User are required for the integration. Additional supported objects are selected during onboarding. Once an object has been synced, it cannot be removed through the synced-object configuration.

Object

Read Scope

Write Scope

Write Path

Can Create New?

Account

Any mapped field

Any mapped field

Sync

No

Contact

Any mapped field

Only certain properties

Activity writeback, List

Yes

Lead

Prospect records

Only certain properties

Activity writeback, List

Yes

Opportunity

Any mapped field, requires Rox support

Any mapped field, requires Rox support

Sync

Yes, requires Rox support

Task

Only certain properties, only activities originated in Rox

Only certain properties

Activity writeback

Yes

Campaign

Any mapped fields

Not supported

N/A

N/A

Campaign Member

Any mapped fields

Not supported

N/A

N/A

User

Only certain properties

Not supported

N/A

N/A

Opportunity read/sync is available in Enterprise deployments. Confirm availability for your organization during setup. Opportunity writeback is not generally available, and Rox does not associate sequence Tasks with Opportunities.

Salesforce Events are not read by this integration, and Event writeback is not supported. Calendar and meeting context comes from the Rox calendar integration, not from SFDC.

Custom fields and custom objects

Custom fields on supported objects can be mapped between Salesforce and Rox. Mapping instructions can be found here: https://docs.rox.com/development/product/organization-level-configurations/configuring-salesforce-integration-+-writeback#after-onboarding-manage-crm-mappings

Standalone custom objects and junction objects are not yet supported out of the box. If your workflow depends on them, review the requirements with your Rox team to determine whether a custom implementation is possible.

Entity resolution / matching logic

Rox matches records to determine how to connect records in Rox with records in the CRM, as well as when it should attempt to create a new record versus update an existing one. Once a match is established, the records remain linked by Salesforce ID.

Rox matches objects based on the following rules:

Object
Match Properties

Account

domain

Contact

email, account_id

Lead

name, company_name, email, phone, website using waterfall logic

Opportunity

None, new Opportunities are created and linked the first time they are seen

Task

None, new Tasks are created and linked the first time they are seen

Campaign

None, new Campaigns are created and linked the first time they are seen

Campaign Member

None, new CampaignMembers are created and linked the first time they are seen

User

email

Accounts and people with more than one possible match

Review your data model with your Rox team if:

  • Several Account records share the same domain (Website).

  • One company is represented by multiple Accounts with different domains.

  • The same person appears under several Accounts or email addresses.

  • An email address is shared across Contact records associated with different Accounts.

  • Your Salesforce organization uses custom duplicate or matching rules.

How access works

Two settings determine how Salesforce data becomes available in Rox: the integration user's Salesforce permissions and your organization's Rox account assignments.

Integration user

The integration authenticates through a dedicated Salesforce integration user using OAuth. Read and write permissions are based on that integration user. Review to make sure that it has the proper permissions across all objects to sync.

Account assignment in Rox

An admin configures account assignment using Salesforce Account-to-User fields, such as Account Owner or custom owner fields. A user can have multiple owner fields, combined with OR logic, and one additional account filter. A default rule applies to users without their own owner fields or filter. If neither the user-specific configuration nor the applicable default rule grants access, the user sees no Accounts.

Account assignment governs visibility of Accounts and their associated Contacts and activity in Rox. Review the assignments with representative users before rollout, including users who do not have an explicit assignment configuration.

For example, access granted through a Salesforce sharing rule does not automatically grant the same access in Rox. The Account must also be accessible under the user's Rox assignment configuration.

Activity writeback

Activity writeback records outreach completed in Rox as Salesforce Tasks. When an enabled sequence activity is completed, Rox creates a Task and writes the configured activity fields to the associated Contact or Lead.

Admins can enable these activity types independently:

  • Email

  • Phone call

  • LinkedIn connection request

  • LinkedIn message

The Mark Rox-created activities setting writes Rox to a selected Task field, making those activities easier to identify in Salesforce reports and filters.

Rox uses two Task fields to associate the activity:

Task field
What Rox writes

WhoId

The matched Contact or Lead

WhatId

The associated Account for a Contact; left empty for a Lead

An admin can decide whether, activity writeback does creates a new Contact or Lead record if it cannot be found in SFDC.

If new Contact or Lead creation is disabled and Rox cannot match the person, it creates the Task without a person association: the Task's WhoId is empty. If an Account is known, the Task may still be associated with it through WhatId.

If new Contact or Lead creation and new Lead is enabled, Rox creates the missing person record and associates the Task with it. The follow fields are written by default:

  • For Contacts: FirstName, LastName, Email, Phone, AccountId

  • For Leads: FirstName, LastName, Company, Email, Phone, LeadSource

The following properties are available to be mapped to SFDC custom fields:

  • For Contacts and Leads: Added to Sequence By, Currently in Sequence, Sequence Name, Sequence Status, Sequence Step Number, Sequence Step Type

  • For Tasks: Rox Activity Id, Call AI Analysis, Call Date, Call Duration, Call Transcript, Sequence Name, Sequence Step Number

    • For Call Transcript, it is recommended to map this to the standard Description field in SFDC to get around character limitations for custom fields in the Task object.

Example Task written back:

Example Contact written back:

Engagement Status Writeback

We can write back the following statuses to an engagement field on both Contact and Lead records. The engagement status field should be a picklist. The following engagement status fields can be mapped:

Name
Description

Not Started

Written when a Contact or Lead is added to a Sequence

Active

Written when the first task is completed for the Contact or Lead

Completed

Written when all steps are completed for the Contact or Lead, and there is no response

Email replied

Written when the Contact or Lead responds to an email

LinkedIn replied

Written when the Contact or Lead responds to a LinkedIn message

Call answered

Written when the Contact or Lead answers a call

Meeting booked

Written when a meeting is booked, as detected through a synced calendar or an email response indicating a booked meeting

Note that if new Contact or Lead creation and new Lead is enabled, a new Contact or Lead will be created automatically if it doesn’t already exist. This usually happens when Contacts or Leads are added to the Sequence. This is the same setting that is used by general Activity writeback above.

Limitations and setup considerations

  • Opportunities: Read/write is available via enterprise deployments via special configuration. Please contact your Rox team to enable. Sequence Tasks are not associated with Opportunities via WhatId.

  • OpportunityContactRole, OpportunityStage: Please contact your Rox team if you need support.

  • Events: Salesforce Event read and writeback are not supported. Calendar events are synced through the Rox calendar integration.

  • Account creation: Rox does not automatically create accounts by default. Please contact your Rox team if you would like to enable this.

  • Entity resolution: Review your matching rules with the Rox team to avoid creating duplicate Contacts.

  • Custom objects: Review custom objects, junction objects, and ambiguous Account or person matches with your Rox team.

Formula fields

Changes in a calculated value may not update the record modification timestamp used by sync, so formula-field changes may not appear reliably in Rox. The documented workaround is to copy the result into a stored Salesforce field and map that field into Rox. Configure the automation to update the stored value whenever the relevant inputs change. Confirm coverage for formulas that depend on related records or time.

Data storage and handling

Rox uses Fivetran to ingest Salesforce data into a managed Snowflake warehouse. The integration reads data within the integration user's permissions and the configured object and field mappings.

Include your data residency, retention, and deletion requirements in the setup review. Confirm the applicable policies with your Rox team before connecting Salesforce, particularly if your organization has requirements for previously synced data after a mapping is removed or the integration is disconnected.

Last updated