Contacts are the foundation of your CRM. Every interaction, deal, and follow-up ties back to a contact. Use these commands to manage your contact database from the terminal.
List contacts with optional filtering and pagination.
moss contact list
moss contact list --q "acme" --tag enterprise --page 2
moss contact list --owner-id me
| Option | Required | Description |
|---|
--page <n> | No | Page number |
--per-page <n> | No | Items per page |
--sort <field> | No | Sort field (first_name, last_name, email, created_at) |
--order <dir> | No | Sort order (asc or desc) |
--q <query> | No | Full-text search query |
--company-id <id> | No | Filter by company |
--owner-id <id> | No | Filter by owner (UUID or "me" for current user) |
--tag <name> | No | Filter by tag name |
Show details for a single contact.
moss contact show --id cnt_abc123
| Option | Required | Description |
|---|
--id <id> | Yes | Contact ID |
Create a new contact.
moss contact create \
--first-name "Jane" \
--last-name "Smith" \
--email "jane@acme.com" \
--title "CTO" \
--company-id cmp_abc123 \
--owner-id me
| Option | Required | Description |
|---|
--first-name <name> | Yes | First name |
--last-name <name> | No | Last name |
--email <email> | No | Email address |
--phone <phone> | No | Phone number |
--title <title> | No | Job title |
--linkedin-url <url> | No | LinkedIn profile URL |
--company-id <id> | No | Associated company ID |
--owner-id <id> | No | Owner user ID |
--notes <text> | No | Free-text notes |
--tags <tags> | No | Comma-separated tag names |
--set <key=value> | No | Set a custom field value (repeatable) |
Create multiple contacts from a JSON file. Each object in the array takes the same fields as moss contact create.
moss contact create-batch --file contacts.json
cat contacts.json | moss contact create-batch --file -
| Option | Required | Description |
|---|
--file <path> | Yes | Path to JSON file containing an array of contact objects, or "-" for stdin |
The input file should be a JSON array:[
{ "first_name": "Jane", "last_name": "Smith", "email": "jane@acme.com" },
{ "first_name": "Bob", "last_name": "Chen", "email": "bob@startup.io" }
]
Update an existing contact. Only specified fields are changed.
moss contact update --id cnt_abc123 --title "VP Engineering" --owner-id usr_def456
| Option | Required | Description |
|---|
--id <id> | Yes | Contact ID |
--first-name <name> | No | First name |
--last-name <name> | No | Last name |
--email <email> | No | Email address |
--phone <phone> | No | Phone number |
--title <title> | No | Job title |
--linkedin-url <url> | No | LinkedIn profile URL |
--company-id <id> | No | Associated company ID |
--owner-id <id> | No | Owner user ID |
--notes <text> | No | Free-text notes |
--tags <tags> | No | Comma-separated tag names |
--set <key=value> | No | Set a custom field value (repeatable) |
Delete a contact permanently.
moss contact delete --id cnt_abc123 --confirm
| Option | Required | Description |
|---|
--id <id> | Yes | Contact ID |
--confirm | Yes | Confirm deletion (required for destructive operations) |
This permanently deletes the contact and all associated data. This cannot be undone.
Search contacts by name, email, or notes using full-text search.
moss contact search --q "jane smith"
| Option | Required | Description |
|---|
--q <query> | Yes | Search query |
--page <n> | No | Page number |
--per-page <n> | No | Items per page |
Merge two contacts. The source contact’s data is merged into the target, and the source is deleted.
moss contact merge --source-id cnt_abc123 --target-id cnt_def456 --confirm
| Option | Required | Description |
|---|
--source-id <id> | Yes | Source contact ID (will be deleted) |
--target-id <id> | Yes | Target contact ID (will be kept) |
--confirm | Yes | Confirm merge (required for destructive operations) |
The source contact will be permanently deleted after merging. This cannot be undone.
Common Workflows
List your own contacts, then export them:
moss contact list --owner-id me --json | jq '.data[].email'
Find duplicates by searching, then merge:
moss contact search --q "jane smith"
moss contact merge --source-id cnt_older --target-id cnt_newer --confirm