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

# Client Hub

> Shareable branded portals for brand clients

Client Hub is a shareable portal for brand clients to view campaign performance, creator roster, and submit requests.

## Overview

Each brand can have a Client Hub at `/hub/:slug` with:

* Performance analytics
* Creator roster snapshot
* Strategy documents
* Request submission
* Custom resource links

## Setting up a Client Hub

### 1. Configure hub settings

Navigate to brand detail → **Client Hub** tab:

| Setting               | Description                             |
| --------------------- | --------------------------------------- |
| **Slug**              | URL path (e.g., `acme` for `/hub/acme`) |
| **Enabled**           | Toggle hub on/off                       |
| **Passcode**          | Optional 4-digit PIN                    |
| **Default platforms** | Which platforms show by default         |

### 2. Add custom links

Add resources, forms, and walkthroughs:

```
Links:
├── Creative Brief (Google Doc)
├── Brand Guidelines (PDF)
├── Content Calendar (Notion)
└── Weekly Call (Zoom)
```

### 3. Configure platforms

Select which platforms appear by default in reports:

* TikTok
* Instagram
* YouTube
* Facebook

Unchecked platforms are still available in filters, just not default.

## Client view

### Overview tab

Key metrics at a glance:

* Total views
* Total placements
* Creator count
* Engagement rate
* Progress toward targets

### Roster tab

Creator snapshot showing:

* Creator name and avatar
* Connected accounts
* Placement count
* View metrics
* Status indicator

<Note>
  Roster is capped at contracted fill, never showing more than the agreed roster size.
</Note>

### Reports tab

Detailed analytics:

* Views over time
* Platform breakdown
* Top performing content
* Creator leaderboard
* Export to CSV/PDF

### Strategy tab

Brand strategy document:

* Campaign goals
* Content guidelines
* Posting requirements
* Platform priorities

### Requests tab

Client request form:

* Submit content requests
* Ask questions
* Report issues
* Track request status

## Passcode protection

Optional 4-digit PIN for hub access:

### Security features

| Feature          | Description                                  |
| ---------------- | -------------------------------------------- |
| Rate limiting    | 20 attempts per hour per brand               |
| 7-day tokens     | Access granted for 7 days after verification |
| Reset capability | Admin can change passcode anytime            |

### Setting a passcode

1. Go to brand detail → Client Hub tab
2. Toggle "Require passcode"
3. Enter 4-digit PIN
4. Save

Clients must enter the code before viewing hub content.

## Client requests

### Request flow

```
Client submits request
        │
        ▼
Request enters queue (/team/client-requests)
        │
        ▼
Operator reviews
        │
    ┌───┴───┐
    ▼       ▼
Approve   Decline (internal only)
    │
    ▼
Mark complete → Client sees "Done"
```

### Request statuses

| Status        | Client sees | Description         |
| ------------- | ----------- | ------------------- |
| `requested`   | Submitted   | New request         |
| `in_review`   | In Review   | Being reviewed      |
| `in_progress` | In Progress | Work started        |
| `done`        | Done        | Completed           |
| `declined`    | (hidden)    | Rejected internally |

<Note>
  "Declined" is internal-only. To remove from client view, delete the request.
</Note>

### Managing requests

Navigate to `/team/client-requests`:

* Filter by brand
* Change status via dropdown
* Add internal notes
* Delete to remove from client view

## API endpoints

| Method | Path                                     | Purpose          |
| ------ | ---------------------------------------- | ---------------- |
| GET    | `/api/public/client_hubs/:slug`          | Hub data         |
| POST   | `/api/public/client_hubs/:slug/verify`   | Verify passcode  |
| GET    | `/api/public/client_hubs/:slug/overview` | Overview metrics |
| GET    | `/api/public/client_hubs/:slug/roster`   | Creator roster   |
| POST   | `/api/public/client_hubs/:slug/requests` | Submit request   |

## Sharing the hub

Share the hub URL with clients:

```
https://dialed.evomarketing.co/hub/acme
```

If passcode is enabled, clients will be prompted to enter it before viewing.

## Best practices

1. **Use descriptive slugs** - `acme-summer-2026` over `abc123`
2. **Keep roster fresh** - Snapshot updates automatically
3. **Respond to requests** - Don't leave requests in queue
4. **Update strategy** - Keep strategy document current
5. **Review platforms** - Set defaults that match campaign focus

## Related documentation

* [Brands](/platform/brands) - Brand configuration
* [Platform guide](/platform/creators) - Creator overview
