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

# Agency Guide

> How agencies run GEO monitoring across multiple client brands in Qwairy — isolation, access, branding, and client reporting in one place.

This guide is for agencies and consultancies running GEO monitoring for more than one client brand in Qwairy. It connects the pieces you'll actually reach for: how to isolate each client's account, how much access to give them, how to make the experience look like yours, and how to report back to them.

Before onboarding your first client, make three decisions:

1. **Isolation model** — does each client get their own contained account, or do you manage every brand under one team?
2. **Access model** — does the client just view reports, or do they actively manage their own brand?
3. **Branding** — does the client see Qwairy, or does the experience look like your agency's own product?

The rest of this guide walks through each decision and the setup that follows from it.

***

## Choosing an Access Model

The core decision is how much a client sees and controls. Qwairy gives you two mechanisms, and they serve different situations:

|                | **Virtual Teams (sub-team)**                                             | **Viewer role**                                                           |
| -------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
| **Scope**      | Full sub-team: its own members, workspaces, and credit pool              | Single brand, read-only                                                   |
| **Client can** | Actively manage the brand — prompts, competitors, settings               | View dashboards and reports only                                          |
| **Isolation**  | Complete — client never sees the rest of your organization               | None — client is a member of your organization, scoped to specific brands |
| **Billing**    | Inherits your organization's plan; sub-team draws from allocated credits | N/A — no separate credit pool                                             |
| **Best for**   | Clients who need hands-on management of their own brand                  | Stakeholders who just need to check numbers                               |

As [Virtual Teams](/documentation/team/virtual-teams) puts it: use a transfer (rather than the Viewer role) when the client needs to actively manage the brand, not just read it. Viewer access stays read-only and brand-scoped within your organization, while a sub-team transfer gives full management in an isolated team.

If neither fits — for example, you're a small team managing a handful of client brands yourself, with no client logins at all — you can simply keep everything under one team and control brand access per [team member](/documentation/team/manage-members) instead.

<Note>
  Virtual Teams is available on **Business and Enterprise plans**.
</Note>

***

## Setting Up a Client

To give a client a fully isolated, self-service account for their brand:

<Steps>
  <Step title="Create a sub-team for the client">
    Go to **Team Management > Virtual Teams** and click **Create**. Name it after the client, and allocate a credit amount and workspace quota from your organization's pool.
  </Step>

  <Step title="Move or create the client's workspace in it">
    Either tick the workspace under **Move existing workspaces** while creating the sub-team, or move it afterwards with **Move workspace**. The workspace's full monitoring history travels with it — nothing resets.
  </Step>

  <Step title="Invite the client's team members">
    Switch to the client's sub-team and go to **Team Management > Members** to invite them. They'll only ever see workspaces inside that sub-team, never the rest of your organization.
  </Step>
</Steps>

Only Owners and Managers of your parent organization can move workspaces, and they retain access to every sub-team automatically without a separate invitation.

<Tip>
  If you'd rather keep the client's brand inside your own organization and just let a stakeholder check the numbers, skip the sub-team and add them as a [Viewer](/documentation/workspace/viewers) scoped to that one brand instead.
</Tip>

***

## White-Labeling the Experience

Once a client is set up, you can make the whole experience look like your agency's own product instead of Qwairy's:

<CardGroup cols={3}>
  <Card title="Custom Logo" icon="image" href="/agencies/logo">
    Replace the Qwairy logo across the dashboard, shared reports, and login.
  </Card>

  <Card title="Custom Domain" icon="globe" href="/agencies/custom-domain/overview">
    Serve the dashboard and login from your own subdomain, e.g. `analytics.yourcompany.com`.
  </Card>

  <Card title="Remove Branding" icon="eye-slash" href="/agencies/remove-branding">
    Hide "Powered by Qwairy" across the dashboard, shared links, and exports.
  </Card>
</CardGroup>

White-labeling is an **Enterprise** capability, configured under **Team Management > White Label**. See [Agencies overview](/agencies/introduction) for the full picture, including fully white-labeled authentication via SSO.

***

## Reporting to Clients

Two ways to get results in front of clients, depending on whether they have a Qwairy login:

* **[Shared links](/documentation/workspace/shared-links)** — generate a public URL for a dashboard, brand perception snapshot, GEO Matrix, competitor comparison, or prompt signals view. No Qwairy account needed on the client's end, and links can be set to expire or revoked at any time.
* **[Weekly report emails](/agencies/notifications)** — enable the per-workspace weekly report so clients get a recurring summary without checking the dashboard.
* **Outbound webhooks** — if your agency has its own reporting systems, route Qwairy's notification events to your own endpoint as signed JSON instead of Qwairy emails. This is an Enterprise capability; see [Developers > Webhooks](/developers/webhooks) for the payload format and setup, which starts in the same **Team Management > Notifications** screen as the weekly report.

***

## Related Pages

* [Virtual Teams](/documentation/team/virtual-teams) — sub-teams, credit allocation, and workspace transfers
* [Viewers](/documentation/workspace/viewers) — read-only, brand-scoped access
* [Shared Links](/documentation/workspace/shared-links) — public report links for clients without an account
* [Agencies Overview](/agencies/introduction) — white-label capabilities at a glance
* [Custom Domain Overview](/agencies/custom-domain/overview) — serve Qwairy from your own subdomain
* [Developers: Webhooks](/developers/webhooks) — outbound notification events for your own systems
