PreciosDocumentación
Empezar
Automatizaciones

Trabajo que comienza sin que nadie lo pida.

Un activador inicia una sesión sin ninguna persona presente. Un cron la activa según el reloj; un webhook firmado lo hace ante un evento. En ambos casos, el agente obtiene su propia computadora en la nube, su propia rama y la misma revisión al regresar.

Iniciar una sesiónLeer la documentación
ahora
daily-digest
invoice-sweep
oncall-handoff
próxima ejecución
invoice-sweepEurope/Berlin

El día 1 de cada mes a las 06:30

0 30 6 1 * *

X-Kortix-Signature: sha256=<hmac>
Dos tipos

Dos tipos. No hay un tercero.

Un activador es un reloj o una firma. Todo lo demás —con qué agente se ejecuta, qué indica y en qué sesión aterriza— usa la misma configuración en ambos casos.

cron

Se activa según el reloj

Una expresión cron de 6 campos —segundo, minuto, hora, día, mes y día de la semana— en cualquier zona horaria IANA. O una marca de tiempo run_at única, para algo que debe ocurrir una vez y después quedar inactivo.

webhook

Se activa ante un evento

Un servicio externo hace POST a la URL del activador. Kortix comprueba la firma, convierte la carga en el prompt e inicia la sesión. Una carga que no supera tu filtro se acepta y se ignora.

  • Ambos tipos indican el agente con el que se ejecutan y heredan el alcance de ese agente, denegado de forma predeterminada.
  • Ambos incluyen una plantilla de prompt que se convierte en el primer mensaje de la sesión.
  • Ambos son entradas en kortix.yaml, así que ambos tienen historial y autor.
La interfaz de cron

Una programación que puedes leer en una sola columna.

Cada activador de un proyecto es una fila: cómo se llama, cuándo se activa, en qué zona horaria, con qué agente y en qué sesión aterriza esa activación. Nada está oculto tras un estado que tengas que abrir.

TriggerCronTimezoneAgentSession
daily-digest0 0 9 * * 1-5Días laborables a las 09:00America/Los_Angeleskortixnuevo
invoice-sweep0 30 6 1 * *El día 1 de cada mes a las 06:30Europe/Berlinfinanzasreutilizar
oncall-handoff0 0 17 * * 5Viernes a las 17:00UTCsupportnuevo
roadmap-review0 0 8 * * 1Lunes a las 08:00America/New_Yorkplanificadorfijado
Las zonas horarias son reales
Un activador almacena un nombre de zona horaria IANA, no un desplazamiento, y usa UTC de forma predeterminada. Configura America/Los_Angeles y se mantendrá a las 09:00 locales incluso con el cambio al horario de verano. Una abreviatura como PST se rechaza en lugar de adivinar.
No tienes que escribir cron
La pantalla Schedules es un selector: cada pocos minutos, días laborables, cada mes o una vez en el momento que elijas. El cron sin procesar es la opción avanzada, no el precio de entrada.
Un interruptor pausa todo
Una pausa a nivel de proyecto detiene todos los activadores de una vez, además de la marca de habilitación propia de cada activador. Úsala cuando el mismo repositorio se ejecute en dos planos de control para que nada se active dos veces.
Un pico se pone en cola; no se descarta
De forma predeterminada, un proyecto ejecuta 3 sesiones activadas aprovisionadas a la vez. Una activación que supera ese límite queda en cola y se ejecuta cuando se libera un espacio, en lugar de fallar.
Declarado en el repositorio

Una automatización es un archivo, no una configuración del panel.

Los activadores viven en kortix.yaml junto a tus agentes e imágenes del sandbox. Cada uno indica su agente, su programación o secreto y la plantilla de prompt que se convierte en el primer mensaje de la sesión.

kortix.yaml
# fires on the clocktriggers:  - slug: daily-digest    type: cron    agent: kortix    cron: "0 0 9 * * 1-5"    timezone: America/Los_Angeles    session_mode: fresh    prompt: |      Summarize yesterday’s commits.      Open a change request against main. # fires on an event  - slug: new-lead    type: webhook    agent: sales    secret_env: WEBHOOK_SECRET    prompt: >-      A new lead arrived: {{ body.name }}      ({{ body.email }}). Add it to the CRM.
activadores de kortix
# add it, ship it, and the schedule is live$ kortix triggers add daily-digest --type cron \    --cron "0 0 9 * * 1-5" \    --timezone America/Los_Angeles \    --prompt "Summarize yesterday. Open a CR."$ kortix ship→ kortix.yaml pushed. daily-digest is scheduled. # see every trigger and when it last fired$ kortix triggers ls # do not wait for 09:00 to find out$ kortix triggers fire daily-digest→ session started

El prompt es una plantilla

Un prompt procesa {{ token.dotted.path }} contra la carga que lo activó. Un webhook obtiene {{ body.* }} y los encabezados de la solicitud; un cron obtiene {{ cron.schedule }}, {{ cron.timezone }} y {{ cron.scheduled_for }}. Un valor inexistente se procesa como vacío: sin error ni llaves sobrantes en el mensaje que lee tu agente.

Webhooks

Firmado o no se activa.

Cada activador webhook indica un secreto del proyecto que lo firma. Un activador sin secreto se rechaza durante la validación; no existe un webhook sin autenticación que puedas olvidar proteger más adelante.

POST /v1/webhooks/projects/{projectId}/{slug}

X-Kortix-Signature: sha256=<hmac>

HMAC-SHA256 sobre el cuerpo sin procesar de la solicitud, comparado en tiempo constante. El encabezado compatible con GitHub X-Hub-Signature-256 también funciona, así que un webhook de repositorio no necesita un adaptador.

202
Firma válida. La sesión se ejecutó, quedó en cola por el límite de concurrencia o se deduplicó contra una entrega que Kortix ya había visto.
200
Válido y omitido deliberadamente: el proyecto está pausado o el payload no coincidió con el filtro del trigger.
401
Faltan la firma y el token, o ambos son incorrectos. No se ejecuta nada.
404
No existe ese trigger, está desactivado o no es un trigger de webhook.
409
El secreto indicado por secret_env no tiene ningún valor configurado. Falla explícitamente en lugar de ejecutarse sin protección.

Un filtro es una ruta con puntos que se compara con el mismo payload que ve el prompt. Sirve para romper bucles: una fuente que informa de ambos lados de una conversación ejecutaría de otro modo el agente sobre su propia respuesta.

Estrategia de sesión

En qué sesión recae una ejecución.

De forma predeterminada, cada ejecución empieza de cero. Cuando el trabajo es un hilo en curso y no una tarea nueva, un trigger puede volver a solicitar una sesión que ya posee. Kortix prueba los modos en orden y pasa al siguiente si falla, para que una ejecución nunca desaparezca sin más.

  1. 01

    fijado

    Volver a solicitar una sesión exacta, identificada por id. Si esa sesión ya no existe o falló, pasa al siguiente modo.

  2. 02

    con clave

    Generar una clave a partir del payload y volver a solicitar la sesión saludable más reciente marcada con esa clave exacta. Un cliente, un hilo. Nunca pasa a la sesión de otra clave.

  3. 03

    reutilizar

    Volver a solicitar la sesión saludable más reciente creada por este trigger. Un trigger fijado recurre aquí antes de seguir avanzando.

  4. 04

    nuevo

    Crear una rama nueva e iniciar un ordenador cloud nuevo. Es el modo predeterminado y el último recurso para todos los demás modos.

Una sesión activada es visible para todo el proyecto, no solo para quien configuró el trigger. Se detiene tras 5 minutos de inactividad, así que una automatización que se ejecuta a las 3:00 no deja una máquina facturando hasta la mañana.

Durante la noche

Se ejecuta a las 3:00. Una persona sigue decidiendo.

Una automatización no obtiene privilegios que una persona no tendría. La misma separación, el mismo alcance limitado y el mismo único camino de vuelta a main.

Se ejecuta como agente
Un trigger identifica un agente y hereda exactamente sus permisos: los conectores, secretos y skills que su bloque en kortix.yaml enumera, y nada más. Un agente sin permisos no obtiene acceso.
Tiene su propio ordenador
Cada ejecución nueva inicia su propia máquina aislada en su propia rama, igual que una sesión iniciada manualmente. Nada de lo que instale o rompa afecta a otra sesión.
Nada se fusiona por sí solo
El trabajo solo llega a main mediante una solicitud de cambios que una persona revisa y aprueba. Lees el diff tomando café. La máquina nunca tiene la última palabra.
La propia automatización tiene historial
Un trigger es un bloque YAML en el repositorio. Quién añadió la tarea de las 3:00, cuándo y qué se le indicó decir queda registrado, igual que cualquier otro cambio.

Gestiona toda tu empresa desde un único repositorio que posees.

Empieza con una tarea y crece desde ahí.

Comenzar

Producto

  • Ordenador del agente
  • La empresa como código
  • Conectores
  • Automatizaciones
  • Canales
  • Agentes y habilidades
  • Seguridad
  • Autohospedado
  • Enterprise
  • Precios
  • Descargar

Soluciones

  • Ventas
  • Marketing
  • Ingeniería
  • Producto
  • Finanzas
  • Personas
  • IT
  • Ciencia de datos

Desarrolladores

  • Documentación
  • AI Operating System
  • CLI
  • SDK
  • Inicio rápido
  • Para desarrolladores
  • Marketplace
  • GitHub

Empresa

  • Acerca de
  • Empleo
  • Blog
  • Registro de cambios
  • Casos de uso
  • Marca

Conectar

  • X
  • LinkedIn
  • Discord
  • Estado
  • Soporte
  • Términos
  • Privacidad
©2026 Kortix