Uso por agente
Em 🤖 Agentes → 📊 Uso do mês e conversas, a tabela de uso mostra chamadas e tokens do mês por agente e por origem: script (site), api (outros sistemas) e painel (seus testes).
O agente que já atende no site é cadastrado uma vez em Harness → 🤖 Agentes e passa a ser executado por HTTP — de dentro do ERP, do CRM, do app da sua empresa ou do seu gateway de WhatsApp. O seu servidor manda a mensagem com a chave no cabeçalho e recebe a resposta em JSON, com o status, o texto, as ações pedidas e o consumo.
O agente é sempre o mesmo que já está cadastrado em 🤖 Agentes. A API HTTP não cria um agente novo: ela executa o agente existente e devolve o resultado em JSON.
POST …api.js?cmd=fp-agent-runstatus, texto, dados, acoes e consumoAuthorization: Bearer SUA_CHAVE, numa chamada feita pelo servidor do outro sistema — nunca numa página de navegador nem no aplicativo instalado no celular.Você ajusta as instruções no painel e a mudança vale para os canais que usam aquele agente. A conversa de cada canal é separada: no site ela costuma ser cliente-…, no WhatsApp wa-… e no seu sistema você escolhe o identificador.
Tudo é chamado em https://admin.flexpage.io/api.js, trocando o cmd na consulta. A autenticação é sempre o cabeçalho Authorization: Bearer <chave>.
| Comando | Método e corpo | Para quê |
|---|---|---|
fp-agent-run |
POST · { agente, entrada, esperar?, espera_segundos? } |
Envia uma mensagem ao agente. |
fp-agent-continue |
POST · { execucao, respostas: [{ id, resultado | erro }] } |
Devolve o resultado de uma função, quando a execução parou em requer_acao. |
fp-agent-status |
GET · ?cmd=fp-agent-status&execucao=…&espera_segundos=20 |
Consulta uma execução demorada, que voltou executando. |
fp-agent-cancel |
POST · { execucao } |
Cancela uma execução. |
fp-agent-history |
GET · ?cmd=fp-agent-history&agente=…&conversa=… |
Lê o histórico de uma conversa. |
fp-agent-forget |
POST · { agente, conversa } |
Apaga o histórico de uma conversa. |
fp-agent-list |
— | Lista os agentes cadastrados. |
O corpo de fp-agent-run aceita o nome de um agente cadastrado ("agente": "recepcionista") ou a definição completa do agente. Em entrada vão a mensagem e o identificador da conversa. Com esperar: false a resposta volta na hora com executando, para execuções longas.
curl -X POST 'https://admin.flexpage.io/api.js?cmd=fp-agent-run' \
-H "Authorization: Bearer SUA_CHAVE" \
-H 'Content-Type: application/json' \
-d '{"agente":"recepcionista","entrada":{"texto":"Vocês abrem domingo?","conversa":"app-123"}}'
{
"status": "concluido",
"texto": "Domingo nós fechamos. No sábado atendemos das 9h às 15h.",
"consumo": { "entrada": 812, "saida": 96, "chamadas": 1 }
}
Exemplo com valores fictícios. A resposta traz status — concluido, requer_acao, executando, falhou ou cancelado —, texto, dados (quando o agente tem saída estruturada), acoes e consumo. Em falhou, o motivo vem em erro.
O agente não escreve no seu banco nem no seu ERP. Ele pede: a execução pausa, o seu sistema decide o que fazer e devolve o resultado. É o mesmo mecanismo das funções do chat do site — só que agora quem responde é o outro sistema.
cancelar_agendamento com os argumentosstatus: "requer_acao"fp-agent-continueAs funções são declaradas no cadastro do agente, em Funções (JSON). Cada uma tem nome, descrição (é por ela que o agente decide quando usar) e parametros — "string", "number", "integer", "boolean", "array", "object", e um ? no fim torna o campo opcional. Uma função marcada com "confirmar": true sempre pede confirmação antes de acontecer.
{
"status": "requer_acao",
"execucao": "exe_0001",
"acoes": [
{
"id": "a1",
"nome": "cancelar_agendamento",
"confirmar": true,
"argumentos": { "codigo": "ABC-123" }
}
]
}
Cada item de acoes traz id, nome, argumentos e confirmar — e, quando a ação veio de um subagente, também agente. Exemplo com valores fictícios.
curl -X POST 'https://admin.flexpage.io/api.js?cmd=fp-agent-continue' \
-H "Authorization: Bearer SUA_CHAVE" \
-H 'Content-Type: application/json' \
-d '{"execucao":"exe_0001","respostas":[{"id":"a1","resultado":{"cancelado":true}}]}'
Quando a ação não foi aprovada — ou falhou no seu sistema —, use erro no lugar de resultado: {"id":"a1","erro":"O cliente não confirmou o cancelamento."}. Não esconda uma falha devolvendo sucesso: com o erro, o agente explica ao usuário em vez de inventar que deu certo.
Quem é o cliente nunca vem do que o agente manda. O agente pode ser induzido a escrever “cancele o horário do cliente 42”: a identidade e a permissão saem do cadastro que o seu sistema já conhece, e os argumentos da ação são conferidos antes de executar. Ação com efeito — cancelar, estornar, alterar cadastro, enviar mensagem — é função com "confirmar": true.
# execução demorada: consulta com espera de 20 segundos
curl 'https://admin.flexpage.io/api.js?cmd=fp-agent-status&execucao=exe_0001&espera_segundos=20' \
-H "Authorization: Bearer SUA_CHAVE"
# cancelar uma execução que ninguém vai continuar
curl -X POST 'https://admin.flexpage.io/api.js?cmd=fp-agent-cancel' \
-H "Authorization: Bearer SUA_CHAVE" -H 'Content-Type: application/json' \
-d '{"execucao":"exe_0001"}'
# ler o histórico de uma conversa
curl 'https://admin.flexpage.io/api.js?cmd=fp-agent-history&agente=recepcionista&conversa=app-123' \
-H "Authorization: Bearer SUA_CHAVE"
# apagar o histórico de uma conversa
curl -X POST 'https://admin.flexpage.io/api.js?cmd=fp-agent-forget' \
-H "Authorization: Bearer SUA_CHAVE" -H 'Content-Type: application/json' \
-d '{"agente":"recepcionista","conversa":"app-123"}'
Uma execução parada em requer_acao ou executando que o seu sistema não vai continuar deve ser cancelada com fp-agent-cancel. Execução pendente ocupa a conversa por até 15 minutos, e nesse tempo todas as mensagens seguintes daquela conversa falham.
Execução tem prazo, e requisição tem código de erro. Tratar os dois evita que o seu sistema fique esperando uma resposta que não vem.
| Situação | O que a API devolve | O que fazer no seu sistema |
|---|---|---|
| Passou do tempo do script | status: "executando" com execucao |
Consultar de novo com fp-agent-status, usando espera_segundos quando quiser segurar a conexão. |
| Falhou | status: "falhou" com erro |
Registrar o motivo no log do seu lado e mostrar uma mensagem genérica ao usuário. |
| Cancelado | status: "cancelado" |
Encerrar a conversa ou a fila daquele item. |
| Chave errada ou revogada | HTTP 401 |
Conferir a chave no servidor (não no navegador). |
| Agentes desligados no site | HTTP 403 |
Ligar em Harness → 🤖 Agentes com ▶ Liberar. |
| Execução não encontrada | HTTP 404 |
O identificador de execucao expirou ou está errado: comece uma execução nova. |
| Limites atingidos | HTTP 429 |
Segurar a chamada e tentar mais tarde. |
Os limites do agente são definidos no cadastro: passos, tokens e segundos (padrão de 60 segundos, máximo de 600). Com subagentes, aumente o tempo. O consumo vem somado em consumo — { entrada, saida, chamadas }.
Em 🤖 Agentes → 📊 Uso do mês e conversas, a tabela de uso mostra chamadas e tokens do mês por agente e por origem: script (site), api (outros sistemas) e painel (seus testes).
Na mesma tela, escolha o agente e veja as conversas guardadas: 👁 Ver mostra as trocas e 🗑️ apaga — útil quando um cliente pede para remover a conversa dele.
Os agentes usam a IA e o limite mensal de tokens de quem liberou no painel. Quando o limite do mês acaba, a execução falha com a mensagem “limite mensal de tokens do dono do site atingido”.
os agentes do Harness não foram liberados para este site — falta liberar em 🤖 Agentes.agente não cadastrado neste site — nome errado no campo agente, ou o agente só existe no código de outro script.esta conversa já tem uma execução em andamento — duas mensagens seguidas na mesma conversa; espere e acompanhe com fp-agent-status.o conector "x" não está liberado para agentes de app — o administrador libera em 🔌 Conectores, com as ferramentas de leitura em Livre.Conte de onde vem a chamada (ERP, CRM, app próprio, WhatsApp) e o que o agente precisa fazer. A resposta vem com o cadastro do agente, o exemplo de requisição e a função que o seu código executa.
Continue lendo: banco de dados da empresa · automações e rotinas · home da FlexPage