PreçosDocumentação
Começar
Automações

Trabalho que começa sem ninguém pedir.

Um gatilho inicia uma sessão sem a presença de uma pessoa. Uma programação cron dispara no horário; um webhook assinado dispara a partir de um evento. Em ambos os casos, o agente recebe seu próprio computador na nuvem, sua própria branch e a mesma revisão no retorno.

Iniciar uma sessãoLeia a documentação
agora
daily-digest
invoice-sweep
oncall-handoff
próxima execução
invoice-sweepEurope/Berlin

No primeiro dia do mês às 06:30

0 30 6 1 * *

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

Dois tipos. Não há um terceiro.

Um gatilho é um horário ou uma assinatura. Todo o resto — em qual agente ele executa, o que diz, em qual sessão chega — é a mesma configuração nos dois casos.

cron

Dispara no horário

Uma expressão cron de 6 campos — segundo, minuto, hora, dia, mês, dia da semana — em qualquer fuso horário IANA. Ou um único timestamp run_at, para algo que deve acontecer uma vez e depois permanecer quieto.

webhook

Dispara em um evento

Um serviço externo faz POST para a URL do gatilho. O Kortix verifica a assinatura, transforma o payload em prompt e inicia a sessão. Um payload que não passa pelo seu filtro é aceito e ignorado.

  • Ambos identificam o agente em cujo nome executam e herdam o alcance desse agente, negado por padrão.
  • Ambos carregam um template de prompt que se torna a primeira mensagem da sessão.
  • Ambos são entradas em kortix.yaml, portanto ambos têm histórico e autor.
A interface do cron

Uma programação que você lê em uma única coluna.

Cada gatilho em um projeto é uma linha: como é chamado, quando dispara, em qual fuso horário, como qual agente e em qual sessão esse disparo chega. Nada é um estado oculto que você precise abrir.

TriggerCronTimezoneAgentSession
daily-digest0 0 9 * * 1-5Dias úteis às 09:00America/Los_Angeleskortixnovo
invoice-sweep0 30 6 1 * *No primeiro dia do mês às 06:30Europe/Berlinfinançasreutilizar
oncall-handoff0 0 17 * * 5Sextas-feiras às 17:00UTCsuportenovo
roadmap-review0 0 8 * * 1Segundas-feiras às 08:00America/New_Yorkplanejadorfixado
Fusos horários são reais
Um gatilho armazena um nome de fuso horário IANA, não um deslocamento, e usa UTC por padrão. Defina America/Los_Angeles e ele permanecerá às 09:00 locais mesmo durante uma mudança para o horário de verão. Uma abreviação como PST é rejeitada em vez de ser presumida.
Você não precisa escrever cron
A tela de Agendamentos é um seletor — a cada poucos minutos, dias úteis, todo mês ou uma vez no momento que você escolher. O cron bruto é a alternativa avançada por trás dela, não uma barreira de entrada.
Um interruptor pausa tudo
Uma pausa no nível do projeto interrompe todos os gatilhos de uma vez, além da própria sinalização de ativação de cada gatilho. Use-a quando o mesmo repositório for executado em dois planos de controle, para que nada dispare duas vezes.
Um pico entra na fila; não é descartado
Um projeto executa 3 sessões acionadas em paralelo por padrão. Um disparo além desse limite entra na fila e executa quando uma vaga é liberada, em vez de falhar.
Declarado no repositório

Uma automação é um arquivo, não uma configuração de dashboard.

Os gatilhos ficam em kortix.yaml, junto dos seus agentes e imagens de sandbox. Cada um identifica seu agente, sua programação ou seu segredo e o template de prompt que se torna a primeira mensagem da sessão.

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.
gatilhos do 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

O prompt é um template

Um prompt renderiza {{ token.dotted.path }} usando o payload que o acionou. Um disparo de webhook recebe {{ body.* }} e os headers da solicitação; um disparo cron recebe {{ cron.schedule }}, {{ cron.timezone }} e {{ cron.scheduled_for }}. Um valor ausente é renderizado como nada — sem erro e sem chaves sobrando na mensagem lida pelo agente.

Webhooks

Assinado ou não dispara.

Todo gatilho de webhook identifica um segredo do projeto que o assina. Um gatilho sem segredo é rejeitado na validação — não existe webhook não autenticado para você esquecer de proteger depois.

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

X-Kortix-Signature: sha256=<hmac>

HMAC-SHA256 sobre o corpo bruto da solicitação, comparado em tempo constante. O header X-Hub-Signature-256, compatível com o GitHub, também funciona, portanto um webhook de repositório não precisa de adaptador.

202
Assinatura válida. A sessão foi iniciada, entrou na fila por causa do limite de concorrência ou foi deduplicada contra uma entrega que a Kortix já havia visto.
200
Válido e ignorado deliberadamente — o projeto está pausado ou o payload não correspondeu ao filtro do trigger.
401
Assinatura e token ausentes ou incorretos. Nada é executado.
404
Esse trigger não existe, está desativado ou não é um trigger de webhook.
409
O segredo indicado por secret_env não tem valor definido. Falha explicitamente em vez de executar sem proteção.

Um filtro é um caminho pontilhado correspondido pelo mesmo payload que o prompt recebe. Ele existe para interromper loops: uma fonte que relata os dois lados de uma conversa acionaria o agente na própria resposta.

Estratégia de sessão

Em qual sessão uma execução será feita.

Por padrão, toda execução começa do zero. Quando o trabalho é uma conversa em andamento, e não uma tarefa nova, um trigger pode enviar um novo prompt para uma sessão que já possui. A Kortix tenta os modos na ordem e passa ao próximo em caso de falha, para que uma execução nunca simplesmente desapareça.

  1. 01

    fixado

    Enviar um novo prompt para uma sessão específica, indicada pelo id. Se essa sessão não existir ou tiver falhado, passar ao próximo modo.

  2. 02

    por chave

    Gerar uma chave a partir do payload e enviar um novo prompt para a sessão saudável mais recente marcada com essa chave exata. Um cliente, uma conversa. Nunca passa para a sessão de outra chave.

  3. 03

    reutilizar

    Enviar um novo prompt para a sessão saudável mais recente criada por este trigger. Um trigger fixado recorre a este modo antes de continuar.

  4. 04

    novo

    Criar uma nova ramificação e iniciar um novo computador na nuvem. Este é o padrão e o último recurso para todos os outros modos.

Uma sessão acionada fica visível para todo o projeto, não apenas para quem configurou o trigger. Ela é encerrada após 5 minutos de inatividade, para que uma automação executada às 3h não mantenha uma máquina gerando custos até de manhã.

Durante a noite

É executada às 3h. Uma pessoa ainda decide.

Uma automação não recebe privilégios que uma pessoa não receberia. O mesmo isolamento, o mesmo alcance delimitado, o mesmo caminho de volta para a branch principal.

Ela é executada como um agente
Um trigger nomeia um agente e herda exatamente as permissões desse agente — os conectores, segredos e habilidades listados pelo bloco dele em kortix.yaml, e nada mais. Um agente sem permissões não tem acesso.
Ela recebe seu próprio computador
Uma nova execução inicia sua própria máquina isolada em sua própria branch, assim como uma sessão iniciada manualmente. Nada que ela instale ou danifique afeta outra sessão.
Nada faz merge sozinho
O trabalho só chega à branch principal por meio de uma solicitação de alteração revisada e aprovada por uma pessoa. Você lê o diff enquanto toma café. A máquina nunca tem a palavra final.
A própria automação tem um histórico
Um trigger é um bloco YAML no repositório. Quem adicionou a tarefa das 3h, quando e o que foi instruído a dizer ficam registrados no log — como qualquer outra alteração.

Opere toda a sua empresa a partir de um único repositório que pertence a você.

Comece com uma tarefa e cresça a partir daí.

Começar

Produto

  • Computador do agente
  • Empresa como código
  • Conectores
  • Automações
  • Canais
  • Agentes e skills
  • Segurança
  • Auto-hospedado
  • Enterprise
  • Preços
  • Baixar

Soluções

  • Vendas
  • Marketing
  • Engenharia
  • Produto
  • Finanças
  • Pessoas
  • IT
  • Ciência de dados

Desenvolvedores

  • Documentação
  • AI Operating System
  • CLI
  • SDK
  • Início rápido
  • Para desenvolvedores
  • Marketplace
  • GitHub

Empresa

  • Sobre
  • Carreiras
  • Blog
  • Registro de alterações
  • Casos de uso
  • Marca

Conectar

  • X
  • LinkedIn
  • Discord
  • Status
  • Suporte
  • Termos
  • Privacidade
©2026 Kortix