Skip to main content

Reading CRM Data into Knock2: Deals & Custom Columns

Pull deal/opportunity data and extra fields from your HubSpot, Salesforce, or Attio records into Knock2, including how values update, the Salesforce "Sync existing accounts" button, and how duplicate Salesforce Accounts are handled.

Written by Sara

Field mapping controls what Knock2 writes out to your CRM. The opposite direction — what Knock2 reads in from your CRM — is configured in the Read from [CRM] section of the same screen. This works for Salesforce, HubSpot, and Attio.

Read data flows one way: from your CRM into Knock2. These fields are read-only inside Knock2 — Knock2 never writes back to them.


Where to find it

  1. Go to Settings → Integrations.

  2. Open Salesforce, HubSpot, or Attio.

  3. Scroll to Read from [CRM] (the Read tab of Field Mapping), below the Write section.


Deal & opportunity fields (automatic)

Knock2 automatically reads your deal/opportunity data and attaches it to the matching account, so you can see live pipeline context next to your identified visitors. These mappings are fixed and read-only:

HubSpot (Deals)

  • Deal name → Deal name

  • Deal stage → Deal stage

  • Amount → Deal value

  • Close date → Close date

  • Deal owner → Deal owner

  • Company owner → Company owner

Salesforce (Opportunities)

  • Opportunity name → Deal name

  • Opportunity stage → Deal stage

  • Amount → Deal value

  • Close date → Close date

  • Opportunity owner → Deal owner

  • Account owner → Account owner

Attio (Deals)

  • Deal name → Deal name

  • Stage → Deal stage

  • Value → Deal value

  • Close date → Close date

  • Deal owner → Deal owner

  • Company owner → Company owner

There is nothing to configure here — these fields appear automatically once your CRM is connected. Knock2 matches a HubSpot Company or Salesforce Account by domain, and matches an Attio Company by domain as well. A record whose website is a subdomain of the company's domain (for example eu.acme.com for acme.com) also counts as a match.

When a company has more than one deal, Knock2 shows the most important one: a won deal first, then an open deal, then a lost deal. In Salesforce, if an Account has no opportunities, Knock2 still shows the Account owner, and won and lost come from Salesforce's own Won and Closed flags on each opportunity, so a custom stage name (such as "Duplicate" or "Signed") is treated the way your Salesforce stage settings define it.


When Salesforce has duplicate Accounts for one company

It is common for one company's website to match more than one Salesforce Account. Knock2 always picks the same one, using these rules in order:

  1. The Account with the strongest opportunity: won, then open, then lost, then no opportunity at all.

  2. If that is a tie, the Account whose website matches the domain exactly, rather than a subdomain.

  3. If that is still a tie, the most recently modified Account.

Deal fields, owners, custom read columns, the "Sync existing accounts" button, and Account updates pushed by Knock2 all use this same choice, so a value like Account Type will not change depending on which duplicate was read last. If a value looks wrong for a company, check whether Salesforce has more than one Account with that website; merging the duplicates in Salesforce is the cleanest fix.


Custom read columns

Beyond the standard deal fields, you can pull additional fields off your HubSpot Company, Salesforce Account, or Attio Company records into Knock2 — for example a renewal date, account tier, or any custom property your team uses. Each one becomes a custom read column on your account data in Knock2.

To add a custom read column:

  1. In the Read from [CRM] section, under Custom fields, click Add field.

  2. Pick the CRM field to read from. Both standard and custom CRM properties (or Attio attributes) are available, grouped accordingly.

  3. Enter a Knock2 label — the name this column shows under in Knock2.

  4. Choose a type: Text, Number, Date, or Boolean. Knock2 pre-fills this based on the CRM property, but you can change it.

  5. Click Save.


When values fill in and update

Knock2 reads deal fields and custom read columns when an account is identified on your website (if you have set a daily Salesforce API limit in Knock2, at most once a day per account). That means:

  • A new custom read column starts empty on accounts that are already in Knock2. It fills in for each account the next time that account visits.

  • If you change a value in your CRM, Knock2 picks up the change the next time that account is identified.

  • Until a value appears on at least one account, it is not offered in the filter's dropdown. You can still type the value into an "is one of" filter (for example "Customer") and save it; it will match as soon as accounts have that value.

For Salesforce, you do not have to wait: use Sync existing accounts below.


Sync existing accounts (Salesforce)

The Sync existing accounts button pulls the latest Salesforce data into every account already in Knock2, without waiting for each one to visit again. It appears under Custom fields in the Read from Salesforce section once you have at least one custom read column.

What it updates

  • Your custom read columns on every matching account.

  • Deal and owner fields too, when Salesforce is your workspace's Primary CRM.

How it runs

  • It runs in the background. You can leave the page, and progress shows under the button (for example "Syncing: 2,000 of 4,200 Salesforce accounts checked.").

  • It reads your Salesforce Accounts in large batches, so it uses roughly one Salesforce API call per 2,000 Accounts.

  • To protect visitor identification, it pauses if your Salesforce org is running low on API calls for the day, and if you have set a daily Salesforce API limit in Knock2, it uses at most 20% of that limit per day. Either way it resumes on its own and shows when.

  • One sync runs at a time per workspace, and you can run it again one hour after the last one finished.

  • It only updates data in Knock2. It does not trigger Plays, Slack alerts, or anything sent to your CRM.

  • Locked or expired accounts (ones not yet unlocked on your plan) are skipped.

  • The sync never runs automatically, because it uses your Salesforce API calls. Click it after adding a new custom read column, or whenever you want existing accounts refreshed.

Good to know

  • If the Salesforce user connected to Knock2 cannot see Opportunities, the sync still fills in custom read columns but skips deal fields.

  • The button is available to workspace admins.

  • For HubSpot and Attio, values fill in as accounts are identified again.


Limits & behavior

  • Up to 3 custom read columns per workspace. This limit is shared across HubSpot, Salesforce, and Attio combined.

  • To remove a column, click the trash icon next to it.

  • If a mapped CRM field is later deleted or renamed in your CRM, the column is flagged Unavailable. Remove it or remap it to a field that still exists.


Viewing your custom columns in Knock2

After you add a custom read column, it may be hidden by default in the Contacts and Accounts tabs. If you do not see your data right away, turn the column on:

  1. Open the Contacts or Accounts tab.

  2. Click the three-dot menu in the top-right corner of the table and select Columns.

  3. Find your new column and toggle it on. You can also drag to reorder and resize it.

Column preferences are saved per user, so each teammate controls their own view. See Using the Contacts Tab and Using the Accounts Tab for more.


Frequently asked questions

I added a custom read column but it is empty on most accounts. Why?
New columns fill in as accounts are identified again. For Salesforce, click Sync existing accounts to fill them in for every existing account now.

A value I know exists (like "Customer") is not in the filter dropdown.
The dropdown only lists values that at least one account already has. Type the value into the filter and save it, or run Sync existing accounts (Salesforce) so existing accounts get their values.

Knock2 shows a different value than the Salesforce Account I am looking at.
The company probably has duplicate Accounts in Salesforce. Knock2 picks one using the rules in "When Salesforce has duplicate Accounts for one company" above. Merging the duplicates in Salesforce resolves it.

Does reading CRM data change anything in my CRM?
No. Reading, including Sync existing accounts, only updates data inside Knock2.


Who can edit

Like field mappings, read columns are managed by the teammate who connected the CRM. Other teammates see them as read-only, with a note showing who manages them.


Related articles

Did this answer your question?