Keep the list you send to separate from the list you sold to

A pool that holds every contact and company you import or source, with ICPs, segments, and a suppression list that is enforced when an audience is frozen and checked again at send.

An admin approves every new account by hand. Nothing is created until then. We reply by email; no newsletter, no sequence.

  • Pool separate from the CRM
  • Suppression enforced at freeze
  • Publish only what you want
app.salescrew.io/data-bank
The contact bank with segments and suppression

The short answer

  • The SalesCrew data bank is a staging pool: raw imported and sourced rows live there, and only the rows you publish become working contacts and companies in the CRM.
  • An ICP defines who you want, a segment is a saved query over the pool, and freezing a segment into an audience is the moment the suppression list is applied to it.
  • Suppression is checked twice, at freeze and again at the moment of send, so a contact who unsubscribed after the audience was built still does not receive the email.

What it does

The Data Bank page is a pool, not a second CRM. You import a CSV, or a source pushes rows in, and they sit there as raw records with whatever the source gave you. You query the pool, decide what is worth working, and publish those rows into contacts and companies. Publishing fills gaps rather than clobbering: if a record already exists with a phone number, an imported row without one does not erase it. That single rule is why a pool is worth having at all.

Sources today are a CSV import, the Apollo provider for import and enrichment, a generic webhook that any scraper or vendor can post to, and an S3 CSV drop for bulk loads. Each source is registered, so a published row keeps its provenance and you can tell six months later where an address came from. Import is a straight CSV mapping today; the guided import wizard, duplicate detection and merge are on the roadmap.

On top of the pool sit ICPs and segments. An ICP is the definition of a good-fit account: the filters that describe who you sell to. A segment is a saved query that returns the rows matching a filter set right now. When you freeze a segment into an audience for a cadence or campaign, the suppression list runs against it and the suppressed rows drop out. Unsubscribes, hard bounces and anything you add by hand all live on that one list, and it is global across every cadence rather than per-campaign.

The MCP twins cover the whole pool. data_bank_query reads it, data_bank_publish promotes rows into the CRM, icp_create and icp_list manage ICPs, segment_create and segment_list manage segments, and suppression_add, suppression_list and suppression_remove work the suppression list. contact_search, contact_create and contact_update handle published records. Sourcing runs are driven with sourcing_start and sourcing_list.

A vendor's "verified" flag is not a guarantee

Every data provider ships an email status column, and rows marked verified still bounce. Treat the flag as a hint, not a fact: send a small first batch, watch the bounce rate on that batch before you scale the audience, and let the bounce feedback write straight into suppression. The product does the second part for you; the first part is a habit.

How you get from a raw list to a safe send

Four steps, and the freeze is the one that matters.

  1. 1

    Connect

    Import a CSV, point a scraper at the generic webhook, drop files in the S3 bucket, or connect Apollo as a source.

  2. 2

    Configure

    Write the ICP, save a segment over the pool, and load anything you must never contact into the suppression list before you build an audience.

  3. 3

    Run in review

    Freeze a small audience, look at what the suppression pass removed, and publish only the rows you want as working contacts.

  4. 4

    Move to auto

    Let bounce and unsubscribe feedback write into suppression on its own. That class is auto by default, and it is the one you want running unattended.

On the roadmap for the data bank: a guided import wizard, duplicate detection and merge, custom fields and AI-prompt fields, and an enrichment waterfall. Today, import is a CSV field mapping and dedupe is manual.

In which tier

TierPriceWhat you get on the data bank
Core$299/moThe pool, CSV import, the generic webhook, ICPs, segments, suppression at freeze and at send. No contact-count limit.
Local$499/moCore, plus DNC scrub at freeze for phone channels. Ships with the local-services pack — on the roadmap.
Outbound$699/moCore, plus the Instantly send provider drawing on the same frozen audiences.
Agency$1,200/moOutbound, plus the data sources (Apollo import and enrichment, S3 bulk loads) and one pool per client instance.

Contacts are not metered on any tier and seats are unlimited. What is metered is model calls, SMS, call minutes and enrichment lookups.

Questions

Can I upload a purchased list to this CRM?
Yes. SalesCrew allows cold outbound, which most CRM acceptable-use policies forbid outright. Allowed is not exempt: consent, CAN-SPAM, GDPR and every local rule stay your responsibility. What the product enforces is suppression, opt-out and the caps around sending.
How does the suppression list actually work?
It is one global list per instance. Unsubscribes and hard bounces write to it automatically, and you can add rows by hand or with suppression_add. It runs when a segment is frozen into an audience and again at the moment of send.
Does it dedupe on import?
Publishing fills gaps rather than overwriting existing values, which prevents the worst of it. Full duplicate detection and merge are on the roadmap, so today a messy import needs a pass by hand.
Where does the data come from?
From you. CSV import, the Apollo provider, a generic webhook any scraper can post to, and S3 CSV drops. SalesCrew does not resell a contact database.
Are emails verified before sending?
Verification is done by whoever sourced the row, and the flag it carries is a hint. Send a small batch first and let bounce feedback write into suppression, which happens automatically.
How many contacts can I hold?
There is no contact count on the plan. The pool is tables in your own Postgres project, so the practical limit is the project, not a pricing tier.

Import a list and freeze one audience

Load your suppression list first, then watch what the freeze removes before anything sends.

An admin approves every new account by hand. Nothing is created until then. We reply by email; no newsletter, no sequence.