Guides

Import and enrich a list of prospects

Upload accounts or contacts from a CSV, deduplicate records, associate contacts to accounts, and enrich the new records.

This guide imports a list of accounts or contacts from a CSV, deduplicates them against records already in your org, associates contacts to accounts, and enriches the new records.

What You'll Build

A clean import flow:

  1. Upload a CSV of prospect accounts or contacts.
  2. Map required fields.
  3. Review dedupe and account-association results.
  4. Create or update records.
  5. Enrich the imported records and track progress in Batch History.

When to Use This

Use this for one-off prospect lists from events, campaigns, partner lists, or research projects. If you repeat the same import process often, turn it into a workflow after the manual version is working.

Estimated time: 10-20 minutes, depending on list size.

Concepts used: Workflows, Tasks, Batch History.

Prerequisites

  • A CSV with account names and domains, or a contact CSV with email plus company/account name or account domain. Email-only contact CSVs can still match accounts by business email domain.
  • Permission to create or update the records you are importing.
  • Enrichment enabled for your organization.

1. Open the Import Flow

Navigate to Records → Accounts or Records → Contacts and click Add → Import from CSV.

You can also drive imports from a workflow using the Find Prospects task, but for a one-off list a CSV import is simpler.

2. Upload the CSV and Map Fields

Map the CSV columns onto account or contact fields. For account imports, map:

  • name
  • domain

Domain is what the dedupe step uses, so it should be present and clean (no https://, no trailing /).

For contact imports, map email and, when available, company/account name or company domain. GTM Engine resolves account matches in bulk during review instead of searching once per row, and can match existing accounts by the business domain in a contact email.

Required fields must be mapped and populated. During review, rows with blank values in mapped required fields are flagged and skipped by default so they do not fail the import later.

Recommended optional fields:

  • website
  • industry
  • employee_count
  • tags
  • Source or campaign fields your team uses for reporting.

3. Optional: Set Field Values for the Whole Batch

Before running the import you can set one or more field values that apply to every record in this import. Use the Set field values picker (next to tags) to pick an editable account or contact field and a value — for example Lead Source = "GTME Import" or a campaign/source field your team reports on. Add as many field/value pairs as you need.

This works across all the bulk import paths — CSV upload, prospect search, find-similar, and find-contacts-at-account. AI/computed and read-only fields aren't selectable.

4. Review Dedupe and Account Associations

The import dedupes new rows against existing accounts by domain and existing contacts by email. For contact CSVs, the preview also suggests account associations:

  • New — will be created.
  • Existing — already in your org. You can choose to skip or update.
  • Linked Account — a contact will be associated to an existing account.
  • Needs Review — choose an existing account, create a new account from the company name, or skip importing the contact.

Review this step carefully. The import dedupe is usually more accurate than manually comparing a spreadsheet to your CRM because it checks against the records already in GTM Engine.

If all contacts in the file belong to the same company, you can associate the selected rows to one account in bulk. If a contact row only has a company name, you can create the account during import. If the row has a business email domain instead, you can choose to create missing accounts from that email domain. GTM Engine creates one account per unresolved company or domain group and queues domain enrichment after the import starts. Rows without a company, company domain, or business email domain are associated with your org's orphaned account so the contacts can still be imported.

5. Run the Import

Confirm and run the import. Imported accounts appear immediately in Records → Accounts.

Before starting the import, add a tag if you want to find this exact list later, run workflows against it, or enroll the contacts in campaigns. If rows are duplicates of existing records, those existing records receive the selected import tags too. After the import is queued, GTM Engine shows a summary of records queued, account links, accounts created for enrichment, orphaned account fallbacks, duplicate records tagged, and skipped rows, with a link to Batch History for progress.

Admins can also configure CSV import completed Slack notifications from the Slack integration card’s Configure action. The alert can DM the importing user, post to a Slack channel, or both after every row in the import batch reaches a terminal state.

6. Enrich the New Accounts

Post-import enrichment is tracked as a batch, so you can follow progress without watching every account individually.

To run enrichment manually after the fact:

  1. Filter Records → Accounts to the new batch (the import surfaces a "View imported" link, or filter by created date).
  2. Select all and click Enrich.
  3. Watch progress in the activity feed and the Batch History sidebar.
  4. Open Batch History if you need to inspect progress, failures, or rerun options.

7. Optional: Wrap It in a Workflow

If you import lists frequently, build a workflow that:

  1. Takes a list of domains as an input.
  2. Uses a Find Prospects task with searchMethod: 'find_similar' against a reference account or your ICP.
  3. Uses a Bulk Update Records task to tag the imported accounts.
  4. Triggers enrichment via the standard Records workflow.

That gets you a one-click, repeatable import flow you can reuse from a button on a dashboard.

Success Check

You are done when:

  • The CSV rows are created or matched to existing accounts.
  • You can filter to the imported set.
  • Enrichment runs as a trackable batch.
  • Updated records show the expected enriched fields.

Common Pitfalls

  • Personal/disposable email domains are blocked at sign-up — but the CSV import path doesn't enforce that, so make sure your list is real B2B domains.
  • Don't pre-deduplicate the CSV by hand against your CRM — the import does it for you and is more accurate.
  • For multi-select fields like tags, use comma-delimited strings or JSON arrays. The Update Record task accepts both formats.
  • Keep domains clean. example.com dedupes better than https://www.example.com/landing-page.

Next Steps

On this page