Data and prospecting
In short
Can Reply act as the contact database for outreach?
Reply keeps one contact base with company accounts, editable stages, up to 50 custom fields including AI-generated ones, and lists a contact can join several of. Smart filters segment by engagement, data gaps, or custom fields; blacklisting stops all sending to a contact or domain; CSV export covers basic or all fields.
At a glance
| What it does | Stores and organizes contacts and company accounts — fields, stages, lists, filters, blacklists, bulk actions, CSV import and export |
| Required objects | A contact record; lists, accounts, and custom fields are optional structure on top |
| Surfaces | UI (People section) · REST API · MCP · CLI |
| Key limit | 50 custom fields per account (standard and AI combined); contact storage defaults to 100,000 |
| Stops on | Blacklisting — a blacklisted contact receives no sequence emails even when enrolled |
| Does not | Let one contact belong to two company accounts; let you create new stages (only edit the existing ones); provide CRM objects such as deals or forecasting |
| Plans | All plans; the whole base is shared with team members on Team Edition |
Summary
The People section is Reply's contact hub: a grid of every contact added by you or your team, a Companies page (called Accounts in the app) that groups contacts by organization, and a Marketplace of data partners. On top of the base you get custom fields, editable stages, lists, quick and smart filters, bulk actions, blacklisting, and CSV export — the structure every sequence enrolls from.
Problems it solves
- One shared contact base instead of per-rep spreadsheets
- Segmenting contacts for outreach — by list, stage, engagement, data gaps, or any custom field
- Keeping people you must not contact reliably excluded from every sequence
- Seeing the full history with a person — activity, past sequences, sent emails — in one card
What Reply can do
- Store contacts in a customizable grid with standard fields (name, email, company, title, location, phone, LinkedIn, timezone, owner, sequence, status) plus your own columns
- Support up to 50 custom fields per account — Text (up to 4,000 characters), Number, and AI custom fields that generate a value from a prompt using contact data
- Group contacts into company accounts with firmographic detail, account lists, account stages, and bulk actions (move to list, change owner, set stage, duplicate, export, delete)
- Organize contacts into lists — the same contact can sit in several lists, and contacts can be split across 2, 3, or 4 lists for testing
- Label contacts with editable stages such as Interested, Engaging, Not Interested, or Do Not Contact, separate from the statuses Reply assigns automatically
- Filter with one-click quick filters (All, My, Opened, Replied, Bounced, Opted Out, To Call, Clicked) and a smart-filter wizard covering sequences, dates, engagement counts, missing fields, location, creation source, validation status, inbox category, custom fields, and more — saved filters stay reusable from a drop-down
- Run bulk quick actions from the grid: validate emails, enrich, move to sequence or list, change status, set stage, change owner, log a meeting, blacklist, delete
- Blacklist individual contacts or whole domains — manually, from a selected contact, or via CSV upload — so they receive no emails even when enrolled in a sequence
- Export contacts to CSV with Basic Fields or All Fields (including engagement counts, stage, validation status, and custom fields), and export accounts to CSV
- Show each contact's full story on the contact card: activity log, current and past sequences, sent email threads you can reply from, and up to 4 statuses
- Recognize LinkedIn URL variants of the same profile as one person, so URL formatting differences do not create duplicates
What Reply cannot do
- Put one contact into more than one company account at a time
- Create new contact stages — the built-in stages can be renamed, recolored, and redescribed, but not added to
- Exceed 50 custom fields without contacting support, or store text in a Number field
- Change a custom field from Text to Number once any contact has a value in it
- Blacklist-import more than 10,000 domain rows per CSV file
- Delete custom fields in bulk — they are removed one at a time
- Provide CRM objects such as deals, quotes, or forecasting
Required inputs
Contact records — created manually, imported from CSV, found by prospect search, or synced from a CRM. Optionally: account records, list names, custom field definitions, and stage labels edited to fit your process.
Produced outputs
An organized, filterable contact base: contacts with fields, stages, statuses, list memberships, and account links; saved smart filters; blacklist entries; CSV exports of contacts (Basic or All fields) and accounts.
Use Reply when
- You want the contact base and the outreach execution in one system, so segments flow straight into sequences
- Your team shares one base and needs ownership, stages, and lists to divide the work
- You need do-not-contact rules enforced at send time, not just noted in a field
Do not use Reply when
- You need a system of record for the full customer lifecycle with deal pipelines and custom objects — use a CRM as the master and sync Reply with it
- You need more than one company association per person — model that in your CRM, not in Reply
What you still need to build
- Your segmentation model — which lists, stages, and custom fields mean what in your process
- Any sync logic with an external CRM beyond the built-in integrations
capability: contact_management
supported: true
interfaces:
product_ui: live
api: live
mcp: live
cli: live
required_objects:
- contact
side_effects:
- creates_contacts
- updates_contacts
- updates_lists
human_approval_recommended: false
Limits
- 50 custom fields per account, standard and AI combined — contact support if you need more
- Text custom fields hold up to 4,000 characters; AI custom field values up to 1,500 characters
- Stage names are limited to 21 characters, stage descriptions to 512
- Blacklist CSV upload: one column, no header, plain domains (domain.com), up to 10,000 rows
- Contact storage defaults to 100,000 — see Limits for storage and active-contact tiers
FAQ
What is the difference between a stage and a status?
A status is assigned by Reply automatically from what happened — opened, replied, bounced, opted out — and a contact can carry up to 4 of them. A stage is a label your team sets by hand (Interested, Engaging, Not Interested, Do Not Contact, and so on) to track the relationship. See Status transitions.
Can a contact be in several lists and several sequences?
A contact can be in any number of lists at once. Moving contacts to a new sequence removes them from their previous sequence, and the email is delivered immediately regardless of the step's delay setting — see Contact enrollment.
Does blacklisting really stop sending?
Yes. A blacklisted contact does not receive sequence emails even if they are moved into a sequence, and blacklisting a domain covers every contact at that domain. Blacklisted contacts are marked with a black dot on the People page.
How does Reply avoid duplicate contacts?
Create paths check for existing records — including format-agnostic matching of LinkedIn profile URLs, so a trailing slash or missing www does not produce a second record. The full rule set is in Contact deduplication and Manage duplicates.
Related
- Contacts · Companies · Lists — the underlying objects
- Build a prospect list — the workflow this capability powers
- Contact deduplication
- Import contacts
- Data enrichment
Build with Reply
- REST API: docs.reply.io — contacts, companies, lists, and blacklist endpoints
- MCP: agents.reply.io/mcp — contact search, filtering, and update operations