Setting Up CRM Field Mappings (Beta)
Last updated: September 29, 2026
Setting Up CRM Field Mappings
Category: Integrations
This article covers creating, editing and removing field mappings, including the Auto-match fields shortcut for mapping many fields at once. For what field sync is, see CRM Field Sync: Keep OnRamp and Your CRM in Step.
Before You Start
Connect Salesforce or HubSpot under Settings › Integrations.
You need the Super Admin role.
If you plan to map to OnRamp data fields, it helps to create them first. You can also create a new data field while you add a mapping.
Where to Find It
Go to Settings › CRM field sync. You can also open a CRM's own page under Settings › Integrations › Salesforce (or HubSpot) › Field mappings.
The page has one tab for each CRM object, such as Opportunity or Account. Each tab lists every field on that object, whether or not it's mapped. Unmapped fields that a workflow or automation already uses are tagged, so you can see where a CRM value is already used.
Add a Single Mapping
Pick the CRM object's tab, then click Add mapping. You can also click Add mapping on an unmapped field's row, which fills in that CRM field for you.
Choose the CRM field.
Choose the OnRamp field. Pick an existing data field or one of the Standard fields (Project Name, Start Date, End Date, Project Value, Account Name, Website), or create a new data field on the spot.
Choose a Direction: To OnRamp, To CRM, Two-way or Once, at record creation.
For a Two-way mapping, choose how to handle Existing records (explained below).
Click Add mapping.
Some directions may be greyed out, with the reason on hover. OnRamp checks both fields before you save. For example, it blocks writing to a formula field or a field the CRM marks read-only, writing to a field whose type can't hold the value, or writing back in a way that would change the value the CRM already holds. You can still read from those fields.
Choosing Who Wins on Existing Records
When you add a mapping, some linked records may already hold different values on each side. For To OnRamp and To CRM mappings, the source side always wins. For a Two-way mapping, you choose:
CRM wins: the CRM value replaces the OnRamp value.
OnRamp wins: the OnRamp value is sent to the CRM.
Most recent change wins: OnRamp compares when the OnRamp value last changed with when the CRM record last changed. The CRM side counts an edit to any field on that record.
Whichever option you choose, a blank value is filled in from the other side and never clears a value that's already there. See How CRM Field Sync Moves Values for more.
Mapping the Project End Date
If you map a CRM field to the project's End Date, you also choose what happens when the CRM moves it:
Leave task due dates: only the end date changes.
Shift open task due dates: open tasks move by the same number of days, just as they do when you change the end date in OnRamp.
Map Many Fields at Once with Auto-match
On a CRM object's tab, click Auto-match fields. You can also select some unmapped rows and click Map N unmapped fields.
OnRamp suggests a target for every unmapped field. Strong name matches go to an existing OnRamp field. Everything else is left as Skip for you to review. Some skipped fields are tagged Recommended. That tag means the name looks onboarding-related and is worth a look. It is not a mapping.
For each row, keep the suggestion, pick a different field, choose to create a new field, or leave it as Skip. You can also set each row's direction and existing-records choice. Use search and filters to work through long lists.
Click Apply. Everything is created in one step, and a message tells you how many mappings were created.
Syncing Subtask Fields
A question inside a task can read from a CRM field, write to one, or both. The Subtask fields card lists every question that's already bound. To add one:
Click Add subtask field, then pick the playbook (or library task), the task, and the question.
Click Open in task builder. On a published playbook, choose Edit draft first. In the task builder, set the question's data source to the CRM, choose the CRM field and direction, then publish.
Subtask bindings are copied into each project when it's created. A change to a subtask binding reaches new projects only. Projects that are already running keep the binding they started with. The In projects column shows how many live projects carry a copy.
If an automation already writes an answer to the CRM (for example, when a task is completed), the row is marked Automation only. Click Sync instead to keep the answer and the CRM field in step whenever the answer changes. The automation isn't touched, so turn it off yourself once you no longer need it.
Editing, Changing Direction and Removing
Change direction from the row's inline direction picker, or select several rows and use Change direction.
Edit mapping to swap either field. Changing a field replaces the mapping with a new one. Values that already synced stay where they are.
Delete stops syncing. Values that were already written stay in both systems, and nothing further moves.
A Few Things to Keep in Mind
Watch for other writers. If a workflow, automation or second mapping also writes the same field, the row shows a badge naming it. Whichever writes last is the value that sticks.
Task fields share their project's record. A task field syncs through its project's CRM record. If a task data field is mapped Two-way, an edit on one task is sent to the CRM and then reaches every other open task in the project that holds the same field.
Dropdowns need matching options. For dropdown and multi-select fields, the CRM picklist must offer the value OnRamp sends. If the CRM has options your OnRamp field doesn't, use Add N CRM options to copy them over. Nothing already on the field changes.