> ## 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 and Companies

Manage customer identity, metadata, history, and account context.

# Contacts and Companies

Contacts represent people who interact with support. Companies group contacts under an account or organization.

## Contact Identity

Contacts can be created by:

- inbound email
- widget identify calls
- public form submissions
- API upserts
- imports and integrations
- manual dashboard edits

## Contact Fields

| Field | Description |
| --- | --- |
| `email` | Primary email address. |
| `name` | Display name. |
| `phone` | Optional phone number. |
| `external_id` | Stable ID from your product or CRM. |
| `company` | Company name when a company record is not linked. |
| `company_id` | Linked company record. |
| `job_title` | Role or title. |
| `metadata` | JSON context, such as plan, MRR, tenant ID, or product usage. |

## Recommended Identity Strategy

Use `external_id` whenever your app has a stable customer ID. Use email as a fallback, not the only durable key.

```js
RogerIQ("identify", {
  email: "ada@example.com",
  name: "Ada Lovelace",
  external_id: "cus_123",
  plan: "enterprise"
});
```

## Companies

Companies are useful for B2B support. They give agents account-level context and make it easier to group contacts that share the same plan, domain, or customer success owner.

Put small, frequently used values in first-class fields. Put product-specific values in `metadata`.