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

# Client Workspaces

> Manage your agency's client workspaces, from adding a single client to bulk CSV import.

## Overview

RevyOps separates your account into an agency workspace and one workspace per client. The **Clients** page lists every client workspace in your agency and lets an agency admin add, edit, archive, or bulk import clients. Only users with the Admin role see this page and the client selector in the header.

Each client workspace has its own contacts, companies, custom fields, and integrations, scoped separately from the agency and from other clients.

## Adding a Client

Click **Add client** on the Clients page to open the **Add client** form. The only field is:

| Field           | Description                                                                  |
| --------------- | ---------------------------------------------------------------------------- |
| **Client name** | The workspace name. Must be unique among your agency's non-archived clients. |

Click **Add client** to submit. When a new client is created:

* Default smart views are seeded for the client automatically.
* If your agency has workflows access, the client's prompt/agent library is seeded automatically.
* You're redirected back to the Clients page.

<Note>
  If your account has reached its client limit, the **Add client** button is disabled and shows a tooltip: "You have reached the maximum number of clients (\[max]) for this account. Please contact us to increase this limit."
</Note>

## Editing a Client

Click the pencil icon next to a client row to open **Edit client**. The form is the same as **Add client**, but the button label reads **Save changes**. You can only rename the client name field.

<Note>
  An archived client cannot be edited. Editing also checks that the new name isn't already used by another active client in your agency.
</Note>

## Archiving a Client

Click the trash icon next to a client row to open the **Archive Client** dialog. It asks: "Are you sure you want to archive **\[client name]**?" and notes that "Archived clients will be removed from the clients list."

<Warning>
  Archiving is done from the client row's trash icon, and the dialog's confirm button is labeled **Archive**.
</Warning>

## Importing Clients (CSV)

Click **Import clients (CSV)** on the Clients page to go to the **Import clients** page. The CSV must include these columns:

* Client name
* Integrate with Clay (yes/no)
* Integrate with Hubspot (yes/no)
* Integrate with Instantly (yes/no)

Upload the file, and a preview table appears showing **Client Name**, **Clay**, **Hubspot**, **Instantly**, and **Status** (Ready or Duplicate) for each row. Click **Import \[n] clients** to create them.

The import flow checks for two kinds of duplicates:

<Note>
  * Duplicate names within the CSV itself: only the first occurrence of each name is used, and the others are listed in a warning as ignored.
  * Names that already exist in your account: these are listed in a warning and skipped during import.
</Note>

<Warning>
  If the number of clients you're importing would put your account over its client limit, an alert explains this and the **Import** button is disabled until you reduce the CSV or your limit is increased.
</Warning>

## Importing Contacts or Companies (CSV)

When you import contacts or companies from a CSV into a client workspace, you assign each CSV column to a RevyOps field using a **Choose field** dropdown per column. That dropdown includes a **Search field** box, so you can type to filter the list of available fields instead of scrolling through all of them.

## Switching Between Workspaces

Agency admins see a client selector dropdown in the dashboard header to switch the active client workspace. From the Clients page, hovering a client row also reveals a **Switch to client area** link that jumps directly into that client's workspace.

## Custom Fields (Schema Settings)

The **Schema Settings** section of the sidebar (labeled **Custom Fields** on the page itself) lets you manage the fields available on contact and company records, separately for **Contacts** and **Companies** tabs.

### Schema Enforcement

Agency admins can choose a schema enforcement mode, which controls how fields received through CSV, API, and MCP imports are handled. Switching modes does not change existing fields or data.

| Mode         | Description                                                      |
| ------------ | ---------------------------------------------------------------- |
| **Flexible** | Accept new CSV, API, and MCP fields for later review.            |
| **Strict**   | Reject new CSV, API, and MCP fields outside the approved schema. |

<Note>
  Changing the mode opens a confirmation dialog titled "Switch to \[mode] enforcement?" before it takes effect.
</Note>

### Agency vs Client-Level Fields

* An **agency admin** sees the agency's master custom-field schema plus any client-only fields (fields a client added via their own workspace, a CSV, the API, or MCP) that aren't yet part of the master schema. These client-only fields can be promoted into the master schema.
* A **client (workspace) admin** sees the agency's master fields as read-only, and can add, rename, or delete fields scoped to their own client workspace only. The workspace admin does not see the schema enforcement mode toggle.

### Field Types

For each custom field you can set a type from: **Number**, **Date**, **Dropdown (single select)**, or **Dropdown (multi select)**. Setting a type validates existing values across records before applying it. Dropdown types let you manage the list of allowed options, including adding, renaming, and deleting options; deleting an option that's in use prompts you to pick a replacement value first.

<Warning>
  Removing the multiselect type from a field flattens all stored values, keeping only the first selected value per record and permanently deleting the rest. Removing the dropdown type from a field deletes all configured options, but preserves existing values as plain text.
</Warning>

### Standard Fields

These fields always exist on every contact or company record and appear in the field list alongside custom fields:

**Contact standard fields:** email, linkedin\_url, phone, first\_name, last\_name, company\_id, origin, contact\_status, job\_title

**Company standard fields:** domain, name, company\_status, do\_not\_contact
