La exportación al almacén de datos lleva los datos de 50heads de tu organización a donde ya trabaja tu equipo de datos. Hay dos formas:

  • Archivos en tu propio bucket. Cada hora, cada seis horas o cada día, 50heads escribe lo nuevo en tu bucket de Amazon S3, Cloudflare R2 o Google Cloud Storage. Carga los archivos en Snowflake, BigQuery, Redshift o cualquier almacén.
  • El flujo de eventos. Tu propio proceso, o una herramienta como Airbyte, lee los eventos a través de la API, página a página, y cada vez solo lo nuevo.

Estamos activando la exportación al almacén poco a poco. Si no ves Exportación al almacén de datos en Configuración, luego Organización, aún no está activa para tu organización. Escríbenos si la quieres.

Qué puedes enviar

  • Eventos: los mismos que envían los webhooks. Preguntas reservadas, terminadas, con menos respuestas de las pedidas, canceladas o rechazadas, con el resumen de resultados; créditos comprados, a punto de agotarse o de caducar; aprobaciones; personas y equipos que entran o salen. Cada evento tiene un id, un type, createdAt, updatedAt y sus data. Los eventos nunca dicen quién respondió.
  • Registro de auditoría: quién hizo qué en la organización, como en el registro de auditoría. El registro de auditoría también tiene que estar activo para tu organización.

Añadir un bucket

Los propietarios y administradores de uno de los equipos de la organización pueden añadir hasta cinco buckets. Añadir, pausar, cambiar las claves y eliminar requieren confirmar de nuevo que eres tú. Elige Confirmar que eres tú cuando se te pida. La confirmación dura 10 minutos.

  1. En tu cuenta en la nube, crea una clave que solo pueda escribir archivos en el bucket, dentro de la carpeta que vayas a usar. En Google Cloud Storage, crea una clave HMAC para una cuenta de servicio; en Cloudflare R2, un token de API de R2 con permiso de escritura en el bucket.
  2. Ve a Configuración, luego Organización y elige Abrir la exportación al almacén.
  3. En Añadir un destino, ponle un nombre y elige dónde: Amazon S3 (con su región, por ejemplo eu-west-2), Cloudflare R2 (con tu ID de cuenta de Cloudflare) o Google Cloud Storage.
  4. Escribe el bucket y la carpeta, por ejemplo 50heads/.
  5. Marca qué enviar y elige con qué frecuencia.
  6. Escribe el ID de clave de acceso y la clave secreta y elige Probar y guardar.

Al guardar, escribimos un pequeño archivo de prueba, _50heads/connection-test.json, en la carpeta. Si el bucket lo rechaza, no se guarda nada y la página te dice por qué. Guardamos las claves cifradas y no las volvemos a mostrar. La primera exportación se hace en menos de cinco minutos.

Qué llega al bucket

Cada exportación escribe JSON Lines (un objeto por línea) y después un manifiesto:

  • 50heads/events/dt=2026-10-13/<exportación>-0001.jsonl
  • 50heads/audit/dt=2026-10-13/<exportación>-0001.jsonl
  • 50heads/manifests/<hora>-<exportación>.json

El manifiesto lista cada archivo de la exportación, con su número de líneas y una suma SHA-256. Carga los archivos que lista un manifiesto. Un archivo sin manifiesto viene de una exportación que falló, y la siguiente vuelve a escribir sus líneas.

Cada exportación envía solo lo nuevo desde la última que funcionó. Carga por id para que un evento que llegue dos veces se guarde una sola vez. Aún no ofrecemos archivos Parquet.

Cuando una exportación falla

La página muestra las exportaciones recientes de cada bucket y el último error. Tras tres fallos seguidos, el bucket se marca como Con fallos, el registro de auditoría lo anota y los propietarios y administradores de la organización reciben un correo. Seguimos intentándolo: la próxima exportación que funcione continúa donde se quedó la última correcta, así que no se pierde nada si vuelve a funcionar en 90 días, que es lo que guardamos los eventos.

Usa Probar la conexión para comprobar las claves y Exportar ahora para lanzar una exportación en menos de cinco minutos.

Leer el flujo de eventos

Crea una clave de API con el permiso events:read, o dale ese permiso a una cuenta de servicio.

  • GET /v1/events lee la cuenta a la que pertenece la clave.
  • GET /v1/organizations/current/events lee todos los equipos de la organización. Necesita la clave de un administrador de la organización o una cuenta de servicio.

Los eventos llegan del más antiguo al más reciente. Cada página trae un nextCursor: envíalo como cursor para la página siguiente y guarda el último para leer solo lo nuevo la próxima vez. Con since empiezas en una hora concreta.

Hay una fuente de Airbyte para el flujo en nuestro repositorio de código, en packages/airbyte-source-50heads: importa su manifest.yaml en el Connector Builder de Airbyte. Toda la API está en la documentación para desarrolladores.

Quién ve qué

  • Solo los propietarios y administradores de la organización ven la página de exportación.
  • Las claves de API y las cuentas de servicio con organization:read pueden leer el estado de cada bucket, nunca sus claves, y no pueden cambiar nada.
  • El servidor MCP (la herramienta organization, acción warehouse) y la línea de comandos (50heads org warehouse) muestran el mismo estado.