# Un agente, doce clientes: cómo evitar que marcas, cuentas y enlaces se mezclen

_2026-09-29 · Cómo una agencia usa un solo agente de IA con muchos clientes en Shager: un espacio por cliente, carpetas de contexto, reglas de nombres y frenos a errores._

Un solo agente puede atender a muchos clientes sin riesgo si cada cliente vive en su propio espacio de trabajo de Shager, si cada tarea empieza por identificar y nombrar ese espacio, y si la voz, los datos y las reglas del cliente están en una carpeta de contexto aparte que el agente carga en cada sesión. El peligro no es que el agente no sepa hacerlo. Es que una sola clave puede ver todos los espacios de trabajo de la organización, así que la separación tiene que salir de la estructura y de los hábitos.

El error que todos temen es publicar la oferta del cliente A en las páginas del cliente B. No es un error exclusivo de los agentes: las personas también lo cometen. Las medidas de este artículo lo detectan en ambos casos.

## ¿Por qué un espacio de trabajo por cliente?

En Shager, un espacio de trabajo es un cliente o una marca. Cada cuenta conectada, grupo de cuentas, publicación y enlace con seguimiento vive dentro de un único espacio. Nada cruza de un espacio a otro por accidente: una llamada a `create_post` indica un solo `workspace_id`, y los canales y grupos a los que apunta salen de las listas de ese mismo espacio.

Crear uno es una sola llamada. Los campos son `name`, una `timezone` IANA (por defecto `Asia/Jerusalem`) y `approval_required`, que obliga a que el cliente apruebe antes de que se pueda programar cualquier cosa en ese espacio.

```json
{
  "tool": "create_workspace",
  "arguments": {
    "name": "Aurora Furniture",
    "timezone": "Europe/London",
    "approval_required": true
  }
}
```

Definir `approval_required` por cliente es el nivel de detalle correcto. Hay clientes que quieren ver cada publicación. Otros ya aprobaron un plan de contenido y no quieren veinte correos de aprobación por semana. El agente no tiene que recordar quién es quién, porque el espacio de trabajo lo hace cumplir.

Un agente en un entorno de prueba sin reclamar puede crear hasta cinco espacios de trabajo, suficiente para montar un piloto con algunos clientes antes de que una persona reclame la organización. El proceso está en [registro autónomo del agente y reclamo](/en/blog/agent-self-signup-and-claim).

## Conectar las cuentas de cada cliente sin contraseñas

Para cada espacio de trabajo, el agente llama a `create_connect_link` con un `label` que indica para quién es. El cliente abre el enlace, inicia sesión él mismo en la red (Facebook, Instagram, YouTube, X, LinkedIn o TikTok), elige las cuentas, y esas cuentas aparecen en `list_channels` solo para ese espacio. El cliente no necesita una cuenta de Shager y nadie comparte contraseñas.

```bash
curl -s https://app.shager.ai/api/v1/workspaces/ws_aurora/connect-links \
  -H "Authorization: Bearer $SHAGER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"label":"Aurora marketing manager"}'
```

Los enlaces de conexión requieren una organización reclamada. En [enlaces de conexión para clientes](/en/blog/client-connect-links) explico qué ve el cliente y qué conviene enviarle junto con el enlace.

## La carpeta de contexto: donde vive el cerebro de cada cliente

El espacio de trabajo separa los datos, no el conocimiento. Lo que el agente sabe del tono, los precios y las frases prohibidas de Aurora tiene que estar en algún lado, y si está en un único archivo largo de instrucciones con doce clientes dentro, se va a filtrar.

Esta es mi estructura, para Claude Code o Codex:

```text
agency/
  CLAUDE.md                 # agency-wide hard rules, no client facts
  clients/
    aurora/
      CLAUDE.md             # workspace name, voice, facts, do-not-say list
      brief-2026-w40.md
      crm/leads.csv
    beacon-dental/
      CLAUDE.md
      ...
```

Claude Code carga los archivos `CLAUDE.md` de forma jerárquica, y los de las subcarpetas se cargan cuando Claude trabaja en esas carpetas, como explica su [documentación sobre memoria](https://code.claude.com/docs/en/memory). Si abres la sesión dentro de `clients/aurora/`, el agente recibe las reglas de la agencia más el archivo de Aurora, y nada sobre Beacon Dental. Codex tiene una jerarquía parecida con [`AGENTS.md`](https://developers.openai.com/codex/guides/agents-md), que se concatena desde la raíz del proyecto hasta la carpeta de trabajo.

La primera línea del archivo de cada cliente es la más importante:

```text
Shager workspace: "Aurora Furniture". Act on this workspace only. If any tool
call would use a different workspace_id, stop and ask.
```

## Frenos que detectan la publicación en el cliente equivocado

La estructura reduce el riesgo. Estos hábitos cierran lo que falta.

1. **Identificar y repetir.** Cada tarea empieza con `list_workspaces`, identifica al cliente por su nombre e imprime el nombre y el ID antes de la primera escritura. Una persona que revisa la transcripción por encima ve "Aurora Furniture (ws_aurora)" y puede frenarlo.
2. **Un cliente por sesión.** No le pidas a un agente que "haga esta semana de Aurora y de Beacon". Dos sesiones, dos carpetas. No cuesta nada más y el contexto queda limpio.
3. **Etiquetas con el nombre del cliente.** Cada `create_post` lleva un `label` como "Aurora w40 sofa sale". En `list_posts` y en el panel, una etiqueta que no corresponde en el espacio equivocado salta a la vista.
4. **Una campaña por cliente.** El campo `campaign` se convierte en `utm_campaign`. Empieza su valor con el slug del cliente (`aurora-sofa-sale`), así una publicación fuera de lugar también aparece como una fila rara en la analítica del cliente.
5. **Una revisión aparte.** Una sesión de revisión con herramientas de solo lectura compara los borradores con la lista de frases prohibidas del cliente antes de aprobar nada. El prompt está en [prompts para un agente de contenido](/en/blog/prompts-for-a-content-agent).

## ¿Cada cliente debería tener su propia clave de API?

En Shager, las claves pertenecen a la organización y tienen permisos: `read`, `write` y `publish`. Una clave no limita a qué espacios de trabajo puede acceder. Por eso, una clave por cliente no crea un muro infranqueable, pero sí ayuda de dos maneras. Revocar una clave no detiene el trabajo con las demás, y el registro de auditoría de las llamadas de los agentes, en el panel de agentes, se lee mucho mejor cuando las sesiones de cada cliente usan su propia clave.

Lo que yo no haría es darle por defecto una clave con `publish` a cada sesión de cliente. La mayoría de las sesiones solo preparan borradores. La programación puede hacerse con otra clave que controla una persona. El modelo de permisos se explica en [claves de API, permisos y auditoría](/en/blog/api-keys-scopes-and-audit).

## Grupos dentro de un cliente

Dentro de un espacio de trabajo, los grupos de cuentas permiten que el agente apunte a varias cuentas con un solo campo. Un cliente con franquicias puede tener grupos por región, por idioma o por formato de tienda. `create_group` recibe un `name` y `channel_ids`; `create_post` acepta `group_ids` y suma todos los canales activos de esos grupos. Los grupos pertenecen a un espacio de trabajo como todo lo demás, así que el agente siempre debe listarlos dentro del espacio del cliente en lugar de reutilizar IDs de memoria.

## Capacidad y planes

Los planes de Shager se cobran según la cantidad de cuentas conectadas en toda la organización, con API, acceso por MCP y usuarios ilimitados en todos los planes. Para una agencia con una docena de clientes, la cifra que hay que vigilar es la cantidad de cuentas, no la de agentes ni la de usuarios. Los niveles están en la [página de precios](/en/pricing).

## Preguntas frecuentes

### ¿Pueden dos agentes trabajar con el mismo cliente a la vez?

Técnicamente, sí. Los dos ven el mismo espacio de trabajo y los dos pueden crear borradores. En la práctica, dale a cada uno un carril claro: uno redacta y el otro revisa, o uno se ocupa del video y el otro de las publicaciones de texto. Si los dos redactan la misma semana, vas a tener contenido duplicado.

### ¿Y si el cliente también gestiona sus propias publicaciones en Shager?

Puedes sumarlo como usuario de tu organización, porque todos los planes incluyen usuarios ilimitados. Asegúrate de que el agente llame a `list_posts` antes de redactar, para que vea lo que el cliente ya programó y no amontone publicaciones el mismo día.

### ¿Cómo doy de baja a un cliente?

Detén el trabajo del agente en ese espacio de trabajo, cancela las publicaciones programadas con `cancel_post` y pídele al cliente que desconecte sus cuentas. Archiva la carpeta de contexto fuera de la carpeta de trabajo del agente para que no se cargue por accidente más adelante.

## Por dónde seguir

Arma primero la estructura de carpetas, aunque tengas solo dos clientes. Es mucho más difícil separar después el conocimiento de doce clientes que empezar ordenado desde el principio. En la [puerta de entrada para agentes](/en/agents) tienes los datos de conexión que vas a necesitar para cada cliente.

---
Source: https://shager.ai/es/blog/one-agent-many-clients
