Contacts
A Contact is a person — typically attached to an Account but also valid standalone for individuals you correspond with (consultants, partners, applicants).
Core fields
- Name, title, department
- Primary and secondary email
- Phone (work / mobile)
- LinkedIn URL
- Mailing address
- Account (optional — the company they work for)
- Owner — the person on your team who manages this relationship
- Custom fields — birthday, preferred channel, language, whatever your org needs
Why contacts matter
In BottleCRM, contacts are the unit that:
- Receive email sent from the activity timeline.
- Sign invoices and estimates — every billing doc is addressed to a primary contact.
- Appear on opportunity stakeholder lists — for multi-threaded deals.
- Drop into campaigns and segments — once you have email marketing wired up.
Deduplication
The list view warns when a new contact's email matches an existing one. POST /api/contacts/<id>/merge/ performs the same kind of merge as accounts: the loser's emails, calls, and references migrate to the winner inside a transaction.
Import
CSV import at POST /api/contacts/upload/ accepts the same shape as the export — first name, last name, email, phone, account name (matched fuzzily). The endpoint reports per-row outcomes (created, updated, skipped, error) rather than failing the batch on a single bad row.
Privacy & deletion
A "right to be forgotten" delete (DELETE /api/contacts/<id>/?forget=true) hard-deletes the contact and scrubs PII from its associated activities, leaving the timeline structurally intact for audit but anonymized.
See also
- Accounts — companies these contacts belong to.
- Custom fields — extend contacts with org-specific data.