Executa sozinho
A chamada segue diretamente. Para leituras e gravações rotineiras que você já decidiu confiar.
gmail.list_messages
Conecte uma ferramenta uma vez, para toda a empresa. Os agentes a acessam por meio de um único token com escopo, intermediado pelo Kortix no servidor — assim, a credencial original nunca chega à máquina controlada pelo modelo.
connector.call("gmail", "send_email", {…})
KORTIX_TOKEN=kortix_pat_…
Um token limitado, e nada mais
Cada ação exposta por um conector recebe uma de três respostas, definidas por você. Uma ferramenta por vez ou um padrão que cubra cem — um glob por padrão, ou uma expressão regular quando você a envolve em barras.
A chamada segue diretamente. Para leituras e gravações rotineiras que você já decidiu confiar.
gmail.list_messages
A execução para na chamada e espera. Uma pessoa a aprova uma vez, aprova pelo restante da sessão ou a recusa.
gmail.send_email
A ação fica indisponível, e nenhuma aprovação pode liberá-la naquele momento. Excluir um cliente continua fora de questão.
stripe.delete_customer
Uma ferramenta deixada como Default não tem regra própria e segue para o padrão do projeto. Até você definir esse padrão como risco — leituras executam; gravações e ações destrutivas perguntam — um projeto intocado executa tudo.

Um bloqueio que gera erro ensina o agente a tentar contorná-lo. Um bloqueio do Kortix mantém a chamada aberta, então o agente ainda está no meio da tarefa quando você responde — e retoma exatamente de onde parou.
running
O agente redige a resposta e chega a send_email.
waiting
A chamada fica retida. Você vê a ação e seus argumentos.
approved
Você aprova. A mesma chamada é concluída e a execução continua.
Uma regra baseada no nome da ferramenta só pode perguntar “o agente pode enviar email?” — o que raramente é a pergunta certa. Uma condição aponta para um valor dentro da chamada e o compara com um glob ou uma expressão regular, permitindo autorizar envios para seu próprio domínio e bloquear todo o resto. Um argumento de lista só passa quando todas as entradas passam, então um único destinatário fora da lista já basta para reter a chamada. Tudo que a regra não consegue decidir é resolvido para menos acesso, nunca mais.
As regras de todo o projeto são avaliadas primeiro e não podem ser substituídas por quem adicionar um conector depois.
Um conector pertence ao projeto, não a um laptop ou login. Adicione-o uma vez e todas as sessões iniciadas por esse projeto poderão acessá-lo — sem uma segunda configuração e sem compartilhar a chave por mensagem direta.
Escolha o app, passe pela tela de OAuth e pronto. O Kortix armazena a conexão, não sua senha — Gmail, Notion, Linear, Salesforce, HubSpot, Zendesk, Google Drive e milhares de outros.
Aponte o Kortix para uma especificação OpenAPI ou Postman, um endpoint GraphQL, um servidor MCP remoto ou uma URL base HTTP simples. Ele lê a fonte, identifica a autenticação e transforma cada operação em uma ferramenta.
Slack e email se conectam da mesma forma, para que um agente possa ser acionado e responder onde o trabalho já acontece.

Um sandbox é uma máquina Linux real onde o modelo pode executar qualquer coisa. Por isso, não colocamos suas credenciais nele. O sandbox carrega exatamente um token do Kortix, limitado ao projeto, e cada chamada externa é montada do nosso lado do muro.
Cada chave fica no ambiente que o modelo lê. Revogar uma significa substituí-la em todos os lugares onde foi copiada, e qualquer uma delas pode acabar em uma linha de log.
Limitado a um projeto e restringido novamente pelo que o agente pode acessar. Desativar um conector entra em vigor na próxima chamada. Nada no sandbox precisa ser substituído, porque nenhum segredo seu jamais esteve nele.
connector.call("gmail", "send_email", {…})
O agente chama uma ferramenta. Ele informa o conector e a ação — não tem URL, host nem chave.
POST /v1/connectors/call
O gateway verifica se este agente pode usar este conector, resolve a política, descriptografa a credencial no servidor e a anexa à solicitação de saída.
Authorization: Bearer ••••••••
A API de terceiros vê uma solicitação autenticada normal. A resposta volta para o agente. A credencial permanece protegida.
As credenciais dos conectores são criptografadas com uma chave por projeto e armazenadas separadamente dos valores que um sandbox pode ler.
O segredo é anexado a uma única solicitação de saída e descartado. Ele nunca é gravado no ambiente do sandbox.
O modelo nunca vê uma credencial, e o registro armazena um hash das entradas, não as próprias entradas.
O acesso é concedido, não herdado. Um agente recebe os conectores que você lista para ele e nada mais, e o acesso efetivo é sempre a interseção do que a pessoa pode fazer com o que foi concedido ao agente.
Um conector vive em um projeto. Outro projeto não pode vê-lo, chamá-lo nem ler sua credencial — um projeto é seu próprio raio de impacto.
Cada agente lista os conectores que pode usar. O agente de suporte acessa Zendesk e Gmail; o agente de relatórios não acessa nenhum dos dois e não pode descobrir que eles existem.
Escolha a quem a conexão pertence: uma conta gerenciada pelo projeto e compartilhada por todos, ou uma autorização pessoal em que cada membro age como si mesmo e uma entidade automatizada não pode agir de forma alguma.
[[agents]]
name = "support"
connectors = ["zendesk", "gmail"]
[[agents]]
name = "recruiting"
connectors = ["greenhouse", "gmail"]
[[agents]]
name = "reporting"
connectors = ["warehouse"]As concessões são texto no repositório, então uma mudança em quem pode acessar o quê é um diff revisado por alguém — não uma configuração alterada silenciosamente.
O gateway que resolve a credencial também é o responsável por gravar o registro. Não existe caminho até uma ferramenta conectada que o ignore.
O conector e a ação exata chamada.
O agente e a pessoa ou gatilho por trás da sessão.
Executado, recusado, aguardando aprovação ou com erro.
Se a ação lê, grava ou destrói.
Quem liberou uma chamada retida e quando.
Um hash dos argumentos e um resultado com dados ocultos — nunca um segredo bruto.
Leia o histórico de qualquer sessão dentro do app. O acesso à auditoria faz parte do Enterprise.
Comece com uma tarefa e cresça a partir daí.