Cadastrar dezenas ou centenas de indicadores de uma vez
Uma planilha ou um JSON cria os indicadores e traz o histórico deles.
As outras formas de integração conectam UMA fonte a UM indicador. Isso funciona bem para dez indicadores e vira inviável para trezentos. Esta página é para o outro caso: quando a empresa já tem os números num sistema próprio ou numa planilha grande e precisa trazer tudo de uma vez — inclusive criando os indicadores que ainda não existem no Orzon.
São três caminhos para a mesma coisa. Escolha pelo que o seu lado consegue fazer:
- Planilha: você tem os dados num arquivo e quer subir agora, sem programar nada.
- O seu sistema envia: alguém da TI programa o envio, e os números chegam sozinhos sempre que mudam.
- O Orzon busca: a TI publica um endereço que devolve os números, e o Orzon vai lá pegar de hora em hora ou uma vez por dia.
Todos os três usam o mesmo formato e passam pelas mesmas regras. Se você entender um, entendeu os três.
A carga em massa faz parte do plano Escala. Nos outros planos os botões aparecem com cadeado — as demais formas de integração (planilha do Google, coletor por API, webhook) continuam disponíveis conforme o seu plano.
Antes de começar: o código do indicador
É a única ideia nova aqui, e é o que separa uma integração que funciona de uma que duplica tudo toda noite. Cada indicador precisa de um código — o identificador que ELE já tem no seu sistema ou na sua planilha. Pode ser "COM-001", "RH.02", "receita_mensal": o que você já usa.
É por esse código que o Orzon reconhece o indicador. Na primeira carga ele cria; nas seguintes, atualiza o mesmo. Sem código, cada envio criaria tudo de novo.
Se você JÁ tem indicadores cadastrados no Orzon e vai passar a alimentá-los por aqui, preencha o código deles antes da primeira carga: abra o indicador, vá em "Opções avançadas" e escreva em "Código externo". Sem isso a carga cria cópias ao lado dos que já existem.
Maiúscula e minúscula importam: "SAU-1" e "sau-1" são dois indicadores diferentes.
Caminho 1 — importar uma planilha
O mais rápido, e não exige ninguém da TI. A planilha precisa ter uma linha por indicador.
- Vá em Configurações → Integrações e clique em "Importar planilha".
- Escolha o arquivo .csv, .xlsx ou .xls. Ele é lido aqui no navegador — nada sai do seu computador até você confirmar.
- O Orzon mostra o que entendeu de cada coluna. Confira e ajuste o que estiver errado no seletor ao lado de cada uma.
- Clique em "Conferir sem gravar". Isso é um ensaio: ele diz quantos indicadores SERIAM criados e atualizados, sem mexer em nada.
- Se o resultado bater com o esperado, clique em "Importar".

As colunas cujo título é uma data viram as medições. "jan/26", "2026-08", "T3 2026", "Agosto 2026" e "2026" são todas reconhecidas. Uma planilha assim:
Código | Indicador | Diretoria | Meta | jan/26 | fev/26 | mar/26
COM-001 | Conversão de propostas | Comercial | 35 | 28,4 | 31,2 | 32,0
LOG-002 | Prazo médio de entrega | Logística | 3 | 4,1 | 3,8 | 3,5Célula vazia é pulada, não vira zero. Linha em branco no fim da planilha é ignorada em silêncio — não precisa limpar o arquivo antes.
Caminho 2 — o seu sistema envia
Aqui alguém da TI programa o envio. O Orzon dá um endereço e um token; o sistema manda um JSON.
- Em Configurações → Integrações, no bloco "Receber indicadores de outro sistema", clique em "Gerar token".
- Dê um nome que diga de onde vêm os dados ("ERP da matriz"). É só para você reconhecer depois.
- Marque "Pode criar indicadores que ainda não existem" se esta for a carga inicial.
- Copie o token na hora — ele aparece uma única vez. Depois só ficam os primeiros caracteres, para você saber qual é qual.
- Entregue o token e o endereço para quem vai programar o envio.

O token é uma senha: quem o tiver pode gravar medições em toda a empresa. Não mande por e-mail nem cole em documento compartilhado. Se vazar, revogue e gere outro — o sistema que usava o antigo para de enviar na hora.

O corpo do envio tem esta forma:
{
"kpis": [
{
"external_key": "COM-001",
"name": "Taxa de conversão de propostas",
"panel": "Comercial",
"team": "Vendas",
"unit": "%",
"goal_direction": "increase_to",
"frequency": "monthly",
"target_value": 35,
"values": [
{ "period": "2026-07", "value": 28.4 },
{ "period": "2026-08", "value": 31.2 }
]
}
]
}O que cada campo significa
- external_key — o código do indicador no seu sistema. Obrigatório.
- name — o nome que aparece na tela. Obrigatório só quando o indicador ainda não existe.
- panel — o painel onde ele entra. Se não existir, é criado.
- team — o time dono. Precisa existir no Orzon: times não são criados por importação.
- unit — "%", "R$", "pessoas"… texto livre.
- goal_direction — increase_to (maior é melhor), decrease_to (menor é melhor), above ou below.
- frequency — monthly, quarterly, semi_annual ou annual.
- target_value — a meta.
- values — a lista de medições, cada uma com period e value.
A data da medição aceita "2026-08", "2026-08-15" e "15/08/2026". O valor aceita número ou texto, com vírgula ou ponto decimal: 91.2, "91,2" e "1.234,56" são todos entendidos.
Sempre faça o ensaio primeiro
Acrescente ?dry_run=1 ao endereço e o Orzon responde exatamente o que faria, sem gravar nada. É a forma de conferir uma carga de trezentos indicadores antes de deixá-la entrar.
curl -X POST 'https://SEU-PROJETO.supabase.co/functions/v1/kpi-ingest?dry_run=1' -H 'X-Ingest-Token: SEU_TOKEN_AQUI' -H 'Content-Type: application/json' -d '{"kpis":[{"external_key":"COM-001","name":"Conversão","panel":"Comercial","values":[{"period":"2026-08","value":31.2}]}]}'A resposta diz quantos foram criados, quantos atualizados, quantas medições entraram e o que ficou de fora:
{
"status": "partial",
"mode": "dry_run",
"kpis": { "received": 300, "created": 12, "updated": 285, "skipped": 3 },
"values": { "received": 3600, "imported": 3598, "skipped": 2 },
"not_found": [ { "kind": "team", "name": "Expedição" } ],
"errors": [ { "external_key": "COM-07", "code": "unknown_external_key" } ]
}Cada envio aceita até 200 indicadores e 3.000 medições. Uma carga maior é dividida em partes — a resposta avisa quando o limite é ultrapassado.
Caminho 3 — o Orzon busca
Quando o sistema de origem não consegue enviar sozinho, o caminho se inverte: a TI publica um endereço que devolve aquele mesmo JSON, e o Orzon vai lá buscar.
- Em Configurações → Integrações, no bloco "Buscar indicadores num sistema", clique em "Nova fonte".
- Informe o nome e o endereço. Se a API pedir autenticação, escreva a credencial no campo próprio e use {{secret}} onde ela deve aparecer — por exemplo, no cabeçalho Authorization como "Bearer {{secret}}".
- Salve e clique em "Testar": o Orzon busca e mostra o que recebeu, sem gravar.
- Escolha se ele deve buscar sozinho a cada hora, uma vez por dia, ou só quando você mandar.

O endereço precisa ser https e público na internet. Endereço interno da rede da empresa (192.168.x.x, localhost) é recusado de propósito — é a proteção que impede alguém de usar o Orzon para alcançar máquinas de dentro da sua rede.
A credencial é guardada cifrada e nunca volta para a tela: dá para trocar, nunca para ler de novo.
O que acontece quando você reenvia a mesma carga
Nada de ruim — e essa é a ideia. O Orzon reconhece cada indicador pelo código e atualiza no lugar. Reenviar a mesma planilha ou rodar a carga toda noite não cria nada em duplicidade e não polui o histórico: número que não mudou não vira registro novo.
A periodicidade do indicador não muda numa carga. Se você mandar "quarterly" para um indicador que está como mensal, o Orzon mantém o mensal e avisa — trocar a periodicidade reorganizaria a série inteira, e isso é decisão para tomar na tela, olhando.
Número lançado à mão por uma pessoa vence a carga automática naquele período. Se alguém corrigiu agosto na tela, a carga da noite não apaga a correção.
Quando alguma coisa não entra
O bloco "Últimas cargas", no fim da aba Integrações, mostra cada envio com o que entrou e o que ficou de fora. Os casos mais comuns:

- Time não encontrado — o indicador entra do mesmo jeito, sem time. Importação não cria times, porque time define quem lidera e quem enxerga o quê. Crie o time em Times e reenvie.
- Código não encontrado — o token não tem permissão de criar indicadores e recebeu um código que ainda não existe. Ou é erro de digitação no sistema de origem, ou falta gerar um token com essa permissão.
- Código repetido no mesmo envio — as duas linhas ficam de fora, de propósito. Escolher uma das duas esconderia o defeito.
- Data ou valor não reconhecidos — aquela medição é pulada e as outras do mesmo indicador entram normalmente.
Dica para a carga inicial: gere um token COM permissão de criar, faça a carga, e depois gere um segundo token SEM essa permissão para o dia a dia. Assim um erro de código no sistema de origem vira um aviso na tela, e não um indicador duplicado.




