> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rogeriq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# contacts

Manage contacts — the people on the customer side of every conversation.

# `rogeriq contacts`

**list**

```bash
    rogeriq contacts list \
      [--q "search"] [--email user@example.com] [--external-id ext_abc] \
      [--limit 50] [--cursor <cursor>]
    ```
  **get**

```bash
    rogeriq contacts get ctc_xxx
    ```

    Includes recent conversation history.
  **upsert**

```bash
    rogeriq contacts upsert --email jane@acme.com --name "Jane Doe"
    rogeriq contacts upsert \
      --external-id "user_42" \
      --name "Jane Doe" \
      --company "Acme" \
      --metadata '{"plan":"enterprise","seats":50}'
    ```

    Keyed by `email` first, then `external_id`. If a contact matches,
    it's updated; otherwise created.
  **update**

```bash
    rogeriq contacts update ctc_xxx --name "New Name" --phone "+1..."
    ```

## Identity tips

- Use a stable `external_id` for syncing from your own user database.
  Then `upsert` is idempotent regardless of email changes.
- `metadata` is stored verbatim as JSON. Use it for plan tier, internal
  user id, signup source, etc. The AI agent surfaces metadata in its
  system prompt.