How to Build a Complete GTM Database in Under 20 Minutes

A six-step workflow from ICP filters to verified contacts and AI-written openers, pushed straight to your CRM or sequencer.

var(--variable-yLy1gAThf)

Databar team

Written by the Databar team

Blog

— min read

How to Build a Complete GTM Database in Under 20 Minutes

A six-step workflow from ICP filters to verified contacts and AI-written openers, pushed straight to your CRM or sequencer.

var(--variable-yLy1gAThf)

Databar team

Written by the Databar team

Blog

— min read

Build your dream workflow with Databar today.

Most outbound teams still build prospect lists the slow way. Someone filters companies in one tool, exports a CSV, pastes domains into a second tool for firmographics, a third for emails, a fourth for verification, and then writes first lines by hand. Each handoff loses a column or two, and a list of 300 accounts eats most of a week.

This guide walks through the same build in one Databar table: companies, company data, tech stack, decision-makers, verified emails, an AI-written opener, and a push to your sending tool. For a list of a few hundred companies, the hands-on part takes about 20 minutes. Run time depends on list size and how many providers you query, so a list of 5,000 will take longer to finish, but not longer to set up.

What you end up with

Before starting, it helps to know what "complete" means. A GTM database worth sending from has five layers:

Layer

Typical fields

What it's for

Company

Name, domain, industry, headcount, HQ, founded year, description

ICP fit and segmentation

Technographic

CRM, ecommerce platform, analytics and marketing tools

Integration fit, competitor displacement

Financial and growth

Revenue range, funding details, open roles

Budget and timing

Contact

Name, title, LinkedIn URL, work email, verification status

Who to reach and whether the address is safe to send to

Personalization

An opener or hook generated from the data above

A first line that isn't a template

You don't need every field for every campaign. But if a column will drive segmentation or copy, add it now rather than going back to a half-built list later.

The 6-step build

Step 1: Pull a company list that matches your ICP

Start a new table from a company search source instead of an uploaded file. Set filters that describe your ideal customer. For a worked example, say you sell to fintech companies in the US:

  • Industry: Information Technology or Financial Services

  • Keywords in the company description: "financial technology", "payments", "lending"

  • Location: United States

  • Headcount: 50 to 500

A search like this returns a few hundred companies. Skim the first 20 rows before moving on. If you see banks with 20,000 employees or agencies that merely mention fintech clients, tighten the description keywords now. Every row you keep will cost credits in the next steps, so a bad filter gets expensive fast.

If you already have a customer list, there's a different starting point: find companies that look like your best accounts. We cover that in our guide to lookalike company prospecting.

Step 2: Add firmographic and technographic data

Next, enrich each company from its domain. Add a company data enrichment (Owler is one option in Databar, and there are several others) and map it to the domain column. Pick only the fields you'll use. A common set:

  • Annual revenue range

  • Employee count

  • Founded year

  • Company description

  • Social profile links

Then add a technology lookup such as BuiltWith, which reports the technologies detected on a company's website. Tech stack data answers three practical questions: can they integrate with you, are they on a competitor you can displace, and are they mature enough to buy (a 60-person company running Salesforce and Marketo is in a different place from one running a free CRM).

One caution. Website detection only sees what loads in the browser. Back-office tools like ERPs, data warehouses and internal HR systems rarely show up, so treat an empty tech column as "unknown", not "doesn't use".

Step 3: Find the decision-makers

With companies qualified, search for people at each one. Filter by title or seniority for the persona you sell to. For a founder-led sale that might be CEO, Founder or Owner. For a RevOps product, try Head of Revenue Operations, VP Sales and Sales Operations Manager.

Run the people search on your top tier of companies first rather than the whole list. Then move the contacts into their own table, one row per person, with the company name and domain carried over. Keeping the link to the company row means the firmographic and tech data you already paid for is available when you write copy.

Aim for two or three contacts per account where the deal involves more than one person. A single contact per company means one job change or one ignored email ends the conversation.

Step 4: Find work emails and verify them

Add a work email enrichment that takes the contact's LinkedIn URL (or name plus domain) as input, and set it up as a waterfall. A waterfall tries providers in the order you choose and stops at the first valid result. No single email provider covers every company, so chaining several finds addresses that any one of them would miss, and you only pay for the lookup that returns data.

Order matters. Put the provider with the best hit rate for your segment first and the most expensive one last. If you want to go deeper on ordering and cost, read how waterfall enrichment works.

Then verify every address before it goes anywhere near a sequence. Add a verification step with a tool like Bouncer or Emailable and filter out anything returned as invalid. Catch-all addresses are a judgment call: they accept all mail at the server level, so the verifier can't confirm the mailbox exists. Many teams send to catch-alls from a separate, lower-volume campaign so a bounce spike doesn't hit their main domain.

Step 5: Write a first line with AI

Add an AI column that reads the company description and returns a short opener. Here's a prompt that works well for mission-based openers:

Review the company description below and pull out their core mission or the most distinctive thing they focus on.
Skip generic business language. Use the specific words that make this company different.
Write a conversational phrase under 10 words that completes this sentence:
"I saw on your company's LinkedIn that you're focused on..."

Company description: {{company_description}}
Review the company description below and pull out their core mission or the most distinctive thing they focus on.
Skip generic business language. Use the specific words that make this company different.
Write a conversational phrase under 10 words that completes this sentence:
"I saw on your company's LinkedIn that you're focused on..."

Company description: {{company_description}}
Review the company description below and pull out their core mission or the most distinctive thing they focus on.
Skip generic business language. Use the specific words that make this company different.
Write a conversational phrase under 10 words that completes this sentence:
"I saw on your company's LinkedIn that you're focused on..."

Company description: {{company_description}}
Review the company description below and pull out their core mission or the most distinctive thing they focus on.
Skip generic business language. Use the specific words that make this company different.
Write a conversational phrase under 10 words that completes this sentence:
"I saw on your company's LinkedIn that you're focused on..."

Company description: {{company_description}}

Map {{company_description}} to the description column from Step 2 and run it on 10 rows first. Read every output. If you see phrases like "innovative solutions" or "driving growth", add them to the prompt as things to avoid and rerun the sample. Only run the full list once 9 out of 10 test rows are something you'd actually send.

Mission-based lines are one angle. You can also write openers from tech stack ("saw you moved to Shopify Plus"), hiring ("noticed you're hiring three SDRs") or funding. For more on scaling that kind of copy, see how to create personalized emails in bulk.

Step 6: Send the list to your sequencer or CRM

Last, push the verified rows to wherever outreach happens. Databar exports to HubSpot and Salesforce, and to outbound tools such as Smartlead, Lemlist, Reply.io and Salesforge. Choose the campaign, map fields (first name, company, email, the AI opener as a custom variable) and send. If your tool isn't on the list, a CSV export or the API works too.

Before you push, filter the table to rows where the email is verified and the opener isn't empty. Sending partial rows is how {{first_line}} ends up blank in someone's inbox.

Make it a weekly routine

The first build is the slow one because you're choosing filters, providers and prompts. After that, the table is a template. Schedule the company search to rerun weekly, and new companies that entered your criteria (they crossed 50 employees, say, or added the right keyword to their description) flow through the same enrichment, email, verification and AI steps. Reps get a fresh batch without anyone rebuilding the list.

Two things to watch when you automate it:

  • Dedupe against what you already have. Check new rows against your CRM or previous exports so the same person doesn't get sequenced twice.

  • Re-verify older rows. People change jobs. An address that verified three months ago may bounce today, so reverify anything that sat unused before sending.

Getting more out of the database

Prioritize by intent

Firmographics tell you who could buy. Timing signals tell you who might buy now. Add columns for recent funding, open roles in the team you sell to, or company news, then use an AI column or a simple formula to score each account. A 120-person fintech that just raised and posted four sales roles goes to the top of the queue. For a fuller framework, see signal-based prospecting.

Target competitor users

Filter the tech stack column for a competing product and build a separate campaign for those accounts. Your copy can speak to the specific gaps people complain about in that tool. Renewal dates are rarely public, so don't pretend to know one. A line like "if your contract comes up this year" works without guessing.

Map expansion inside existing customers

Import your current customer accounts instead of running a company search, then run the people search for departments you don't serve yet. Existing customers already trust you, so a warm intro from your champion to a second team usually beats cold outbound to a new logo.

Mistakes that ruin a good list

Going wide instead of deep. Ten thousand rows with a name and an unverified email is a spam list. Five hundred rows with verified emails, company context and a real opener is a campaign.

Skipping verification. Verification costs little per address. A bounce rate spike can put your sending domain on the wrong side of spam filters for every campaign after it.

Running the AI column before reading samples. One vague prompt run on 2,000 rows produces 2,000 lines nobody would send. Test on 10.

Paying to enrich rows you'll never contact. Qualify companies before searching for people, and find people before finding emails. Each step should shrink the list.

How to tell if the database is good

Track a few numbers each time you build or refresh a list. The targets below are reasonable starting benchmarks, not industry standards, so adjust them to your own history.

Metric

How to measure it

Starting target

Email coverage

Contacts with a found email divided by all contacts

Compare each waterfall change against your last run

Verified rate

Emails returned as valid by the verifier

Only send to valid (and catch-alls in a separate campaign)

Bounce rate

Hard bounces reported by your sending tool

Under 2%

Reply rate by segment

Replies per segment or opener angle

Improving against your previous campaign

Build time

Hands-on minutes from filters to export

Falling after the first build

Try the workflow

Everything above runs in one Databar table: company search, 160+ data providers for enrichment, waterfalls for emails, verification, AI columns and exports to your CRM or sequencer. Paid plans start at $99/month, you're only charged for results that return data, and there's a 14-day trial with the full product. If you'd rather see it built on your own ICP first, book a walkthrough.

Build your dream workflow today

Start for free today · no credit card required

Build your dream workflow today

Start for free today · no credit card required

Build your dream workflow today

Start for free today · no credit card required