Lead fields
Core fields
Fixed columns every lead has:company · full_name · title · email · phone · domain ·
linkedin_url · location · source_url · score · status
Validation writes four more: email_status, email_provider,
email_is_role and email_validated_at.
Custom columns
Anything else is a custom column you declare yourself, with a label, a type and an optional description. Values live on the lead’scustom object.
Set auto-research on a column and the agent fills it in on future runs
without you restating it in every search.
Declare columns in the grid’s column menu, or over the API with
POST /api/leads/fields.
Columns are declared separately from values on purpose — a column you add now
and fill later has no data to be inferred from, so it has to exist in its own
right.
Statuses and flags
Two flags are not statuses:
- Archived — hidden from every view and from exports, but still stored and still counted against… nothing. Archiving is how you free plan capacity without deleting history.
- Unsubscribed — the recipient opted out. They are excluded from every send permanently.
?status=archived or ?status=unsubscribed.
Importing
Leads → Import accepts CSV, a pasted block, or manual entry. Map your columns onto ManyPI fields; anything unmapped can be declared as a new custom column in the same step.Duplicate handling
Choose what happens when an incoming row matches a lead you already have:
Matching is by email, falling back to domain plus name. A row with neither has
nothing to be filed under and is skipped.
Over the API
POST /api/leads/import takes up to 100
rows per request. Chunk larger files client-side — that is what the dashboard
importer does, and it is why a ten-thousand-row file shows real progress instead
of a spinner that eventually times out.
200 — the
rows that fitted were written — with code: "lead_limit" so your client can
report it honestly.
Exporting
GET /api/leads/export streams the
filtered set as CSV, up to 10,000 rows, honouring the same status and q
filters as the grid. Archived leads are excluded unless you ask for them.
Bulk actions
Select rows and change status, archive, restore or delete in one go. Over the API that isPATCH /api/leads and DELETE /api/leads with up to 500 ids per
call.
Searching and filtering
GET /api/leads supports:
The response also returns
customFields, campaigns (your past lead searches
with counts), workspaceTotal and leadLimit, which is everything a client
needs to render the grid without a second round-trip.