# CRM (/cli/crm)



Query and edit the lead database and deal pipelines from scripts and automations. Every command talks to the CRM external API (`/v1/crm/*`) and respects the active workspace. The workspace must have CRM access, or these commands return a 403.

Commands follow a `geni crm <noun> <verb>` shape. Each noun is a group: some default to a search or list when you omit the verb (people, companies, lists, tags, tasks, pipelines, campaigns, sequences), others are pure verb groups (notes, stages, cards, touchpoints, fields, employments, contact-points). The full surface reads and writes: create, update, delete, move cards, log touchpoints, manage list members and tags, edit stages and custom fields, and manage campaigns and their sequence drafts.

## Conventions [#conventions]

* Creates and updates take their body as `--json`. People and companies expect a JSON array (batch find-or-create and batch update); most other nouns take a single JSON object. Notes use `--body` instead.
* Output is human-readable tables by default. Pass `--json` for machine-readable output, or `--field <path>` on the single-record `get` commands to print one dotted-path value.
* Card mutations (`move`, `status`, `update`) accept `--expected-updated-at` for optimistic concurrency. Omit it and the CLI fetches the card's current version first (last-write-wins).

## Nouns [#nouns]

* [`geni crm search`](/cli/crm/search) finds people, companies, lists, pipelines, and cards in one query.
* [`geni crm people`](/cli/crm/people) searches, gets, creates, updates, and deletes people.
* [`geni crm companies`](/cli/crm/companies) searches, gets, creates, updates, and deletes companies.
* [`geni crm lists`](/cli/crm/lists) lists, manages, and edits the members of lead lists.
* [`geni crm tags`](/cli/crm/tags) lists, manages, and assigns workspace tags.
* [`geni crm notes`](/cli/crm/notes) reads and writes notes on a person, company, or card.
* [`geni crm tasks`](/cli/crm/tasks) lists, creates, edits, and resolves CRM tasks.
* [`geni crm pipelines`](/cli/crm/pipelines) lists, gets, creates, updates, and deletes deal pipelines.
* [`geni crm stages`](/cli/crm/stages) adds, edits, reorders, and deletes a pipeline's stages.
* [`geni crm cards`](/cli/crm/cards) gets, creates, edits, moves, sets the status of, archives, and deletes pipeline cards.
* [`geni crm attribution-sources`](/cli/crm/attribution-sources) lists, creates, renames, archives, and reorders the lead sources a card can carry.
* [`geni crm touchpoints`](/cli/crm/touchpoints) logs, edits, and deletes interactions on a card.
* [`geni crm fields`](/cli/crm/fields) lists and manages custom field definitions.
* [`geni crm employments`](/cli/crm/employments) edits a person's employment history.
* [`geni crm contact-points`](/cli/crm/contact-points) edits a person's emails and phone numbers.
* [`geni crm campaigns`](/cli/crm/campaigns) lists and manages outbound campaigns and their members.
* [`geni crm sequences`](/cli/crm/sequences) lists and manages per-person sequence drafts inside campaigns.
* [`geni crm waterfalls`](/cli/crm/waterfalls) reads the workspace's enrichment provider chains.
* [`geni crm enrich`](/cli/crm/enrich) finds and verifies contact info through those chains (paid).
