Breadcrumbs

Contacts

The Decision-Making Unit (DMU) is the group of people at a target account who are involved in a buying decision: the problem owner, the sponsor, the economic buyer, the influencers. You describe the roles that matter to you once. Rembrandt then fills those roles per account, lets the reviewer curate the committee in the briefing, and freezes it at hand-off so the person running the outreach works the exact committee that was briefed.

Contacts reach Rembrandt four ways: sourced from the contact provider you connected, synced from your CRM, imported from a CSV, or entered by hand. They all land in the same place and are treated the same.

This guide covers configuring roles, getting contacts in, how matching works, keeping contacts fresh, curating, the hand-off freeze, settings, privacy, and troubleshooting.

ℹ️ Availability. The DMU itself, meaning the committee configuration, the briefing overlay, manual contacts, CSV import, and the hand-off freeze, is available to every organization. Live CRM contact sync (the automatic HubSpot / Salesforce pull described in Getting contacts in and Keeping contacts fresh) is switched off by default and enabled per deployment. When it is off there is no per-connection contact-sync toggle and no Contact Sync page under Settings. Use CSV import and manual entry instead. Ask your admin or support whether it is on for your organization.

Table of contents

  1. At a glance

  2. Concepts: roles, committees, and contacts

  3. Prerequisites: configure your committee roles

  4. Where the DMU appears in the app

  5. Getting contacts in

  6. How contacts match DMU roles

  7. How duplicates are prevented

  8. Keeping contacts fresh

  9. Curating the DMU in the briefing

  10. The hand-off freeze

  11. Contact sync settings

  12. Privacy and data handling

  13. Permissions

  14. Troubleshooting and FAQ

  15. Glossary


At a glance

c51fb45856c21e566ee2496aad9234835b80d180daf13e419ae062fab4414238.png

Contacts flow in from three sources into one org-private store. Rembrandt classifies each contact into a DMU role from their job title, resolves the committee per pain cluster, and shows it wherever you make a decision about the account. The AE curates the committee in the briefing; when they commit, the committee is frozen onto the campaign.


Concepts: roles, committees, and contacts

Three building blocks make up the DMU:

Term

What it is

Where it's managed

Committee role

A seat in the buying committee, entered title-first (type "CFO") and stored as a job function × seniority cell, so "Chief Financial Officer", "CFO" and "VP Finance" all land in the right place.

Settings → Organization → Contacts → DMU (the org-wide default)

Cluster committee

The set of committee roles a specific pain cluster looks for. A pain cluster inherits the org default until it defines its own, and those roles form the role template, the empty seats of the committee.

The pain cluster's detail page → Playbook tab

Account contact

A real person at one of your accounts: name, job title, email, phone, LinkedIn. Org-private: your contacts are never visible to any other Rembrandt customer.

Briefing overlay, CRM sync, CSV import

The DMU for an (account × pain cluster) is computed live: Rembrandt takes the pain cluster's role template and fills each seat with the account's contacts whose classified role matches. Seats with no match show as gaps; contacts that match no seat are listed under Other contacts so nothing you entered is ever hidden.

The DMU is a query, not a copy. Add a contact, fix a job title, or sync your CRM, and every briefing re-resolves with the new data on the next open. The only exception is the hand-off freeze.


Prerequisites: configure your committee roles

Before the DMU can resolve anything, each pain cluster needs its committee defined. There are two places to do that:

  1. Set the org-wide default once under Settings → Organization → Contacts → DMU ("Default DMU"): add the job roles agents should look for on an account. You add them title-first. Type "CFO" and Rembrandt classifies it to Finance × C-level. So you never maintain job-title keyword lists. Every pain cluster inherits this set.

  2. Override per pain cluster where it matters: open the pain cluster's detail page → Playbook tab and give that cluster its own roles. Until a cluster defines its own, it uses the default above. Different pains, different committees.

Buying role (who is the Economic Buyer, the Sponsor, and so on) is not part of the committee configuration. It is a deal-time label applied during review.

No committee roles at all? The briefing still shows every contact on the account under a single contacts list, with the add-contact action available. You just won't get role rows, gaps, or coverage until roles exist.


Where the DMU appears in the app

Surface

What you see

What you can do

Account briefing → DMU overlay

The role template for the selected pain cluster: each role with its matched contact(s), gaps with an Add contact prompt, and Other contacts below.

Add contacts, mark a primary per role, remove/restore contacts from a role, refresh from the CRM.

Sales campaign page

The frozen committee captured when the campaign spawned ("frozen at hand-off"), with each contact's roles and primary stars. Campaigns created before the freeze feature show the live DMU instead.

Read-only: the executor works this list.

Outreach sequence

The contacts the sequence is built for, filled from the same store.

Edit contact details inline.


Getting contacts in

Contacts can be sourced from your contact provider, synced from your CRM, imported from a CSV, or added by hand. They all feed the same pipeline, so every contact gets the same duplicate prevention, role classification, and audit treatment regardless of source. Each contact shows a badge with its source.

Sourcing contacts from your provider

Best for: filling the committee at accounts where nobody in your CRM works yet.

When your organization has a contact provider connected, you do not search for people account by account. You describe the groups of people you want once, and Rembrandt looks for them at the accounts you pursue.

Two settings shape that, both under Settings → Organization → Contacts:

  • Title families are the groups of job titles your team already works with, such as Finance Leadership or IT Audit. Each family carries the seniority you want within it.

  • Search filters say what a search must never come back with: job functions to stay inside, and the title words and exact titles to exclude.

Sourcing finds the people, reports what it found, and asks before it reveals contact details, because revealing details is what spends your provider credits. Nothing is enriched that you did not agree to.

Setting these up and the two budgets involved are covered in the ZoomInfo integration guide.

Adding a contact manually

Best for: a single person you just met or found yourself.

  1. Open the account's briefing and the DMU overlay for a pain cluster.

  2. Click Add contact: either on a specific gap row (the role is pre-filled) or in the overlay header.

  3. Enter at least a full name; job title, email, phone, and LinkedIn URL are optional but power matching and outreach.

  4. Save. The contact is classified immediately and appears in its role row (or under Other contacts).

Manually entered values are protected: a later CRM sync or CSV upload will never overwrite a field a person typed in Rembrandt.

Syncing contacts from HubSpot

Best for: keeping the committee continuously in sync with what your sales team already maintains.

Live CRM contact sync is off by default. See Availability at the top of this page. If Settings → Organization → Contacts → Contact Sync does not exist for you, this section does not apply yet.

Prerequisites

  • The HubSpot integration is connected and your accounts are mapped to HubSpot companies (company sync).

  • The connection has the Contact access permission. Connections made before contact sync existed need a one-time reconnect to grant it. See Troubleshooting.

  • You're an organization Owner or Admin to switch it on.

Switching it on

  1. Go to Settings → Organization → Contacts → Contact Sync.

  2. On your HubSpot connection card, switch contact sync on. The org-wide rules (sync conviction threshold, retention, staleness) sit in the DMU sync card on the same page.

  3. The first sync starts immediately for all accounts that are in play (see below). Depending on how many accounts qualify this can take from minutes up to a few hours; you can keep working.

What gets synced: the in-play rule

Rembrandt deliberately does not copy your whole CRM. Contacts are only fetched for accounts that are in play: accounts with at least one live opportunity scoring at or above your Sync conviction threshold setting. This keeps the data footprint proportional to actual sales activity (it's also a documented GDPR minimisation control; see Privacy).

For each in-play account, Rembrandt reads the contacts associated with that company in HubSpot and stores the professional-identity fields only: name, job title, email, phone, LinkedIn URL.

When it syncs

  • Automatically after each scoring cycle, for accounts that became (or stayed) in play.

  • A nightly reconciliation catches anything missed and processes retention.

  • An account is re-synced at most once per 24 hours in the background; the manual Refresh contacts button bypasses this.

Deletions follow your CRM. A contact deleted or de-associated in HubSpot is archived in Rembrandt on the next sync of that account. Your CRM stays the source of truth.

Syncing contacts from Salesforce

Works the same as HubSpot, with these specifics:

  • Connect via Settings → Organization → Integrations → Salesforce (OAuth, see the Salesforce integration guide).

  • Contacts are read per in-play account via the Account-Contact relationship in Salesforce.

  • Contacts deleted in Salesforce are detected and archived in Rembrandt on the next sync.

  • Salesforce has no standard LinkedIn field, so LinkedIn URLs stay empty for Salesforce-synced contacts unless filled from another source or by hand. (Support for mapping a custom Salesforce field is planned.)

Importing contacts from a CSV file

Best for: a one-time list, such as a conference export, a bought list you're allowed to use, or a CRM you can't connect.

  1. Go to Contacts, open the Add menu, and choose Import contacts CSV. (The Contacts menu item is off by default in some deployments; when it is hidden, reach the page directly at /contacts.)

  2. Upload: pick a CSV (max 10 MB). Required columns: account (or company) with the account's name, and full name (or name). Optional: job title, department, seniority, email, phone, linkedin url. Common header variants from CRM exports are recognized automatically; click View example in the dialog for a template.

  3. Duplicates: if the file contains the same person twice (same email, same LinkedIn URL, or same name at the same account), you pick which row to keep.

  4. Matching: every distinct account name in the file is matched against your Rembrandt accounts (case-insensitive, names and aliases both count). Unmatched names are listed and their rows excluded. Create those accounts first (or fix the spelling) and re-upload to include them. A name that matches more than one account is treated as unmatched rather than guessing.

  5. Preview: the final rows with their resolved accounts.

  6. Import: rows are imported in batches with visible progress. Rows that match an existing contact update that contact (filling empty fields) instead of creating a duplicate.

  7. Results: how many contacts were created, updated, unchanged, and classified into roles.

CSV imports are not limited to in-play accounts. An explicit upload is your own decision about which contacts to process. CSV-sourced contacts are also never auto-deleted by retention; you manage their lifecycle.


How contacts match DMU roles

Matching happens in two separate steps, and understanding the split helps when a contact doesn't appear where you expect:

  1. Classification (once, when the contact is created or its title changes). Two layers, only the second of which you configure: first Rembrandt's built-in title recognition normalizes the raw job title into a job function and seniority level ("SVP Finance" → Finance × VP). This lexicon is maintained by Rembrandt, not by you. Then the contact is assigned the committee role whose function × seniority cell matches. Deterministic on both layers. No AI guessing, no surprises.

  2. Resolution (live, per pain cluster). A contact fills a committee seat when its classified function × seniority cell matches the seat. Because classification is account-independent, the same contact fills the matching seat in every pain cluster that includes that role.

Consequences worth knowing:

  • A contact with no job title (or an unrecognized one) classifies to no role and shows under Other contacts. Fix the title in your CRM (and refresh) or edit the contact to move it into a seat.

  • Editing a role's job functions or seniorities re-classifies existing contacts, so improving a role definition improves every account's DMU at once.

  • Multiple contacts can match the same seat (two VPs of Engineering). All are shown; use the primary star to tell the executor who to lead with.


How duplicates are prevented

All three sources feed one identity-resolution step. When a contact comes in, Rembrandt looks for an existing contact on the same account, in this order:

  1. Same CRM record (for CRM-synced contacts)

  2. Same email (case-insensitive)

  3. Same LinkedIn URL (normalized, so www., tracking parameters, and trailing slashes don't matter)

  4. Same full name (only as a last resort, never fuzzy)

A match means update, not duplicate, and the merge is conservative:

  • Fields a person edited by hand in Rembrandt are never overwritten by a sync or import.

  • A CSV row never blanks an existing value. Empty cells are ignored.

  • CRM syncs update CRM-sourced fields when the CRM record is newer.

Every create, update, archive, and deletion is recorded in an audit trail with who or what made the change (CRM sync, CSV import, user, or the retention job).


Keeping contacts fresh

The automatic sync cycle

For CRM-connected organizations, contact freshness is automatic: every scoring cycle triggers a sync for accounts that are in play and haven't synced in the last 24 hours, and a nightly reconciliation backfills anything missed (e.g. after you lower the conviction threshold, newly qualifying accounts are picked up immediately. No need to wait for rescoring).

The stale badge

Contacts that came from a source (CRM, CSV) show a stale badge in the DMU overlay when the source last confirmed them longer ago than your Mark contacts stale after setting (default 90 days). The badge is a passive warning. People change jobs. Not a block. Manually entered contacts never show it: a human vouched for them.

Refreshing one account from the briefing

The "I'm about to call them, is this current?" moment:

  1. Open the account's briefing → DMU overlay.

  2. Click Refresh contacts.

  3. The account's contacts are re-fetched from the CRM right now, skipping the 24-hour background floor. To prevent accidental hammering there's a 10-minute cooldown per account; pressing it again sooner shows a message telling you when you can retry.


Curating the DMU in the briefing

The resolved committee is a starting point; the AE makes it the briefed committee:

Action

How

Effect

Mark primary

Click the star next to a contact in a role row.

That contact leads the role: sorted first, starred in the campaign snapshot. One primary per role, so starring someone else moves the star.

Remove from role

Click the × on the contact's row.

The contact no longer fills the seat (and won't be in the campaign snapshot), but stays visible, dimmed and struck through, so the removal is transparent.

Restore

Click Restore on a removed contact.

One click undoes the removal.

Add contact

Add contact on a gap row or in the header.

Fills a gap manually; the role is pre-filled when launched from a gap row.

Curation is saved per account and pain cluster. Close and reopen the briefing and your picks are still there. Removing a contact from a role does not delete the contact; it only takes them off that committee seat.


The hand-off freeze

When the AE commits the review and a sales campaign spawns, Rembrandt captures the DMU at that exact moment into the campaign:

  • The snapshot covers every pain cluster behind the selected opportunities and applies all curation: removed contacts are out, primaries are starred.

  • A contact filling roles in multiple clusters appears once, with each role listed in its cluster context.

  • The campaign page shows this committee under "frozen at hand-off" with the freeze time.

Why freeze? The executor (BDR or AE) must work the committee that was actually briefed. People changing in the CRM after hand-off show up in the briefing (which is always live). They never silently change a running campaign. To work an updated committee, update the briefing and spawn a new campaign through the normal review flow.

Campaigns created before this feature existed have no snapshot and show the live DMU instead.


Contact sync settings

Settings → Organization → Contacts → Contact Sync. Owner/Admin only, and only present when live CRM contact sync is switched on for your deployment.

Setting

Default

What it does

Sync conviction threshold

4

The in-play gate (1–5): only accounts with a live opportunity at or above this score get their CRM contacts synced. Separate from the review pipeline's minimum conviction score. Lowering it triggers an immediate backfill for the accounts that newly qualify, with no waiting for the nightly run. Raising it stops future syncs for accounts below the bar.

Contact retention after drop-out

90 days

CRM-synced contacts of accounts that stay out of play this long are automatically purged. Manual and CSV contacts are never auto-purged. See

Privacy

.

Mark contacts stale after

90 days

How old a contact's last source confirmation may be before the

stale badge

shows.

Per CRM connection there is additionally a contact sync on/off toggle (off by default, since connecting a CRM never starts contact processing by itself). Turning it on starts the first sync immediately; turning it off stops new fetches (already-synced contacts remain, subject to retention).

The connection card also shows sync health: when the last sync ran and, if something went wrong, the error. A partially failed sync is marked failed rather than quietly green.


Privacy and data handling

The DMU store processes personal data of people at your target accounts, so the guardrails are built into the product rather than left to policy:

  • Org-private, always. Contacts are scoped to your organization and the specific account. No other Rembrandt customer can ever see them, and they are never merged into any shared database.

  • Minimisation by construction. CRM sync only fetches in-play accounts, only via per-account lookups (never a whole-portal export), and only professional-identity fields: no addresses, birthdays, or note fields.

  • Retention bound to relevance. When an account drops out of play and stays out for the retention window, its CRM-synced contacts are purged automatically. The window (default 90 days) avoids deleting context mid-deal when scores fluctuate, while ensuring data isn't kept forever.

  • Your CRM stays the erasure master. Delete a contact in HubSpot/Salesforce and it's archived in Rembrandt on the next sync, so a data-subject erasure handled in your CRM propagates automatically.

  • Audit trail. Every change to every contact is logged with its actor (sync, import, user, retention).

  • Data subject requests (access/erasure under GDPR) are handled through the standard Rembrandt compliance process. Contact support or your admin.

The legal basis and the full assessment live in your organization's data processing agreement; ask your admin or our support for the Legitimate Interest Assessment covering contact sync.


Permissions

Action

Who

View the DMU overlay / campaign committee

Any member (Viewer+)

Add / edit / curate contacts, CSV import

Editor, Admin, Owner

Refresh the contacts on an account

Any member with briefing access

Connect a CRM, toggle contact sync

Admin, Owner

Change contact sync settings

Admin, Owner


Troubleshooting and FAQ

A contact I expect is missing from the DMU. Check in order: (1) Is the account in play, meaning it has a live opportunity at or above your sync conviction threshold? Contacts of out-of-play accounts aren't synced. (2) Is the account mapped to the CRM record (company sync) on a connection with contact sync enabled? (3) Is the contact associated with that company in your CRM? (4) Synced but in Other contacts? Then it's a classification issue. See the next question.

A contact is under "Other contacts" instead of a role. Their job title didn't classify into any committee role. Either edit the contact's title, or add or broaden a committee role, either on the pain cluster's Playbook tab or in the org-wide default under Settings → Organization → Contacts → DMU. If the title itself isn't recognized at all (rare/novel titles), contact support. Title recognition is maintained product-side.

The Refresh contacts button says I have to wait. There's a 10-minute cooldown per account on manual refreshes. The data you're looking at is at most a few minutes old.

Contacts disappeared from an account. Two by-design causes: the contact was deleted or de-associated in your CRM (deletion follows your CRM), or the account was out of play longer than the retention window and its CRM-synced contacts were purged. Manual and CSV contacts are never auto-removed.

HubSpot contact sync won't turn on / does nothing. Connections created before contact sync existed lack the Contact access permission. Disconnect and reconnect HubSpot from Settings → Organization → Integrations: the new authorization includes it. Then enable the toggle again on Settings → Organization → Contacts → Contact Sync. If that page isn't there at all, live CRM contact sync isn't switched on for your deployment.

The connection card shows a sync error. The error message tells you which accounts failed. Transient CRM rate limits resolve themselves on the next cycle; a persistent authorization error means the connection needs a reconnect.

The campaign shows different people than the briefing. That's the freeze working as intended: the campaign shows the committee at hand-off; the briefing is live. Spawn a new campaign to hand off an updated committee.

Does lowering the sync conviction threshold sync everything at once? It triggers a backfill for the accounts that newly qualify. Large backfills are throttled to respect your CRM's API limits, so on a big account base the first pass can take a few hours.


Glossary

Term

Meaning

DMU

Decision-Making Unit, the buying committee at an account for a specific pain cluster.

Role template

The committee roles configured on a pain cluster; the seats to fill.

Gap

A committee seat with no matching contact.

Other contacts

Account contacts that match no seat in the selected cluster.

In play

The account has ≥ 1 live opportunity at or above the org's sync conviction threshold.

Primary

The starred contact that leads a role.

Stale

The contact's source last confirmed it longer ago than the staleness window.

Frozen at hand-off

The DMU snapshot captured on a sales campaign when it spawned.

Retention window

Days an account may stay out of play before its CRM-synced contacts are purged.