CRM Sync and Mapping Rules

Last updated: July 24, 2026

This article explains what you can configure when mapping objects and fields between Tabs and your CRM (Salesforce or HubSpot), and how sync filters work. The core experience is the same for both CRMs — a few differences are called out below where they apply.

Choosing where your data comes from

For Customer, Contact, and Address, you'll choose one CRM object as the source for each — for example, syncing Customer from your Salesforce Account or your HubSpot Company. You can only choose one source per object at a time, and that choice determines which fields you'll be able to map next.

Contracts work a little differently: instead of picking a source object directly, you set this up when you choose where your contract document comes from (see "Contract documents" below).

Mapping fields

Once you've chosen a source object, you'll map your Tabs fields to the matching fields in your CRM. A few things to keep in mind:

  • Each Tabs field can only be mapped once. Once you've used a field, it won't show up as an option for other rows.

  • Any field marked required needs to be mapped before you can save your configuration.

  • If you're on Salesforce, you can pull an individual field from a different, related object if the value you need doesn't live on your primary object — you're not limited to just one object per entity.

  • If you're on HubSpot, every field is pulled from the one primary object you chose — there isn't an option to pull individual fields from a different object.

Most fields sync once, when the record first comes in. The exception is the Additional fields section on Customer — those fields keep updating any time the value changes in your CRM, not just on initial sync.

Contracts don't have a field mapping step at all — once you've set up your contract document source, Tabs reads the contract details directly from the document.

Contract documents

This is the one area where Salesforce and HubSpot look quite different:

  • Salesforce pulls contract documents from attachments and notes on the record automatically — there's nothing to configure here.

  • HubSpot lets you choose where your contract document comes from, and you can select more than one source: files uploaded directly to the deal, files attached as notes, files attached to logged emails, a specific file field you choose, or a signed HubSpot Quote. If you use Quotes, Tabs can also read contract details directly from the quote itself, not just the attached file.

Choosing your source of truth

For Customer, Contact, and Address, you can choose whether that data comes from your CRM or from your contract document:

  • CRM — Tabs uses your field mappings to pull the data from your CRM.

  • Contract document — Tabs pulls the data from your contract; if a field isn't found there, Tabs falls back to your CRM field mapping.

You can set this independently for each of the three — for example, your contact info could come from your CRM while your billing address comes from the contract.

Sync filters

Sync filters let you control which records actually come into Tabs as contracts, so you're not pulling in every open deal or opportunity.

There are two ways to filter:

By pipeline and stage — choose which stage(s) a deal or opportunity needs to be in before it syncs in. On HubSpot, you can do this across multiple pipelines at once; on Salesforce, this applies to your single pipeline. Both let you set a cutoff date too, so anything closed before a certain date won't be pulled in during your initial sync.

By record conditions — for more specific control, you can add filter conditions on Customer or Contract records: choose a field, an operator (like "equals," "contains," or "is empty"), and a value to match. Only records that match all of your conditions will sync in. If you don't add any conditions, all records sync in (aside from whatever pipeline/stage filtering you've set).

  • If you're on Salesforce, a filter condition can reference your primary object or a closely related object.

  • If you're on HubSpot, filter conditions apply to your primary object only.

A note on related objects

When we say a field or filter can reference a "related object," we mean an object that has a clear, one-to-one relationship with your primary object — for example, a Contact that belongs to a single Account. Objects with a one-to-many relationship (where many records could relate to a single primary record) generally aren't available as a source, since there'd be no single value to pull from. Your Tabs implementation contact can help you understand what's available for your specific setup.

Questions?

If you run into a field or object you expected to see but don't, or you're not sure which option is right for your setup, reach out to your Tabs implementation contact — they can walk through your specific CRM configuration with you.