Quando uma lead passa para o estágio de bot, o bot preencherá automaticamente o campo com base nos resultados do cálculo.
Configurando um bot em um pipeline:
Selecione o estágio onde o bot funcionará e clique em + Adicionar gatilho.
Na lista, selecione Salesbot → configure as condições → clique em + Adicionar novo bot.
Nas configurações do bot, vá para a seção Widgets → selecione Fórmula.
Clique no ícone de lápis.
Selecione o campo no qual o resultado será escrito.
Insira a fórmula. Exemplo: lead['Preço do produto'] - lead['Custo do produto']
Adicione várias fórmulas, se necessário → repita as etapas.
Se necessário, adicione as etapas a seguir e encerre o bot. Em seguida, salve as configurações do bot e do pipeline.
Fórmulas em tempo real
As fórmulas em tempo real são configuradas nas configurações gerais do widget “Fórmulas” (não no Salesbot).
Abra as configurações gerais do widget Fórmulas.
Clique em Adicionar.
Insira/selecione o campo onde registrar o resultado.
Insira a fórmula.
Salve suas configurações.
Como funciona na frente:
Após a abertura de um cartão de lead, as fórmulas são executadas automaticamente.
Quando você altera os valores dos campos em um cartão, as fórmulas são recalculadas automaticamente.
O resultado é imediatamente registrado nos campos selecionados do mesmo cartão.
O recálculo é realizado com um ligeiro atraso para evitar recálculos desnecessários ao entrar.
⚡As fórmulas em tempo real são adequadas para cálculos online no cartão de lead: margem, descontos, bônus, custo, lucro planejado e outros indicadores derivados.
Operações matemáticas
Você pode usar qualquer operação matemática em fórmulas:
adição (+)
subtração (-)
multiplicação (*)
divisão (/)
A fórmula não se limita a duas variáveis. Você pode usar qualquer número de campos e valores necessários para calcular o resultado.
Valores constantes
Se precisar usar um valor constante em fórmulas, você pode defini-lo usando um gatilho:
Vá para o bot de fórmula.
Clique em Definir variáveis.
3. Crie uma nova variável, especificando:
Nome (somente letras latinas).
Valor (número ou texto).
Importante ao trabalhar com variáveis:
Se a variável não for um número, converta-a para um tipo numérico:
chislo(lead['Название поля с типом текст'])
Se a variável não for texto, converta-a para um tipo de texto:
text(lead['Название поля с типом число'])
Isso é necessário para que as fórmulas funcionem corretamente e para evitar erros nos cálculos.
Depois disso, a variável pode ser utilizada em fórmulas junto com os campos Kommo.
Dicas em fórmulas
No campo de entrada da fórmula, estão disponíveis dicas de ferramentas com os nomes dos campos que podem ser usados nos cálculos.
Para exibir uma dica de ferramenta, insira o símbolo "[". Depois disso, uma lista suspensa de campos disponíveis aparecerá.
Trabalho correto com números
Às vezes o Kommo trata os valores como texto, o que resulta em uma “cola” em vez de adição (por exemplo: 10+14+5 = 10145).
Para evitar isso, cada valor deve ser agrupado em parseInt().
Exemplo:
parseInt(lead['Сумма в договоре']) - parseInt(lead['Бюджет'])
Condições lógicas
Criando condições lógicas (if-else em uma linha)
Exemplo:
lead['поле1'] == 'успех' ? 'да' : 'нет'
Aqui:
se campo1 = "sucesso" → resultado "sim"
caso contrário → resultado "não"
Vários operadores de comparação são suportados:
>= - maior ou igual a
<= - menor ou igual
> - mais
< - menos
!== - diferente
Exemplo com condições:
lead['Расстояние до заказчика (в км)'] <= '50' ? '300р.' : '250р.'
Você pode verificar os valores dos campos e retornar resultados diferentes.
Condições aninhadas
Este exemplo mostra uma condição aninhada (operador ternário) - quando outra condição é usada dentro de uma condição.
🔹 Análise da fórmula:
lead['Расстояние до заказчика (в км)'] <= '10' ? '300р.' : (lead['Расстояние до заказчика (в км)'] <= '30' ? '1000' : '2000')
A condição é verificada: se a distância for ≤ 10 km → o resultado é “300 esfregar.”
Se a primeira condição não for atendida, verifica-se a segunda: se a distância for ≤ 30 km → resultado “1000”.
Se ambas as condições não forem atendidas: resultado padrão → “2000”.
Essencialmente, isto é um análogo de “se - caso contrário, se - caso contrário”:
Até 10 km → 300 rublos.
De 11 a 30 km → 1000
Mais de 30 km → 2000
Limitação de casas decimais
Às vezes, o resultado dos cálculos pode ser um número com um grande número de casas decimais. Para limitar seu número, use a função .toFixed(x), onde:
x é o número de casas decimais que devem permanecer.
Exemplo:
(lead['Сумма'] / lead['Количество']).toFixed(2)
Se soma = 105, quantidade = 7, então o resultado será 15,00 (2 casas decimais).
Chaves de campo
Leads (lead):
lead['ID'] — ID do lead
lead['Título'] — Nome comercial
lead['Orçamento'] — Orçamento
lead['status_id'] — ID do status
lead['pipeline_id'] — ID do pipeline
lead['status_name'] — Nome do status
lead['pipeline_name'] — Nome do pipeline
lead['Responsible'] - nome completo do responsável
lead['Field'] — Campo de lead adicional
Contato:
contato['ID'] — ID do contato
contato['Nome'] — nome do contato
contato['Nome'] — Nome
contato['Sobrenome'] — Sobrenome
contato['Responsável'] - nome completo do responsável
contact['Field'] — Campo de contato adicional
Empresa:
empresa['ID'] — ID da empresa
empresa['Nome'] — Nome da empresa
empresa['Responsável'] - nome completo do responsável
empresa['Campo'] — Campo adicional da empresa
Última fatura:
last_invoice['Status'] — Status
last_invoice['Legal. cara'] - Jur. face
last_invoice['Pagador'] — Pagador
last_invoice['Tipo de IVA'] — tipo de IVA
last_invoice['Data de pagamento'] — Data de pagamento
last_invoice['Itens da fatura'] — Itens da fatura
last_invoice['Itens da fatura']?.length — Número de itens
last_invoice['Comentário'] - Comentário
last_invoice['Custo'] — Custo
last_invoice['Link de pagamento'] - Link de pagamento
ℹ️Se precisar contar por empresa, substitua lead['contact_leads'] por lead['company_leads']. No exemplo com status 123123, especifique o ID do status desejado do seu pipeline.
Notas
As variáveis disponíveis nas fórmulas são lead['notes'] (uma matriz de todas as notas de lead) e lead['last_note_text'] (o texto da última nota).
O widget fornece funções para vincular automaticamente contatos e empresas a leads:
Vinculando contatos
Anexar contato por telefone - pesquise um contato por número de telefone
Anexar contato por e-mail - pesquise um contato por endereço de e-mail
Anexar um contato por campo personalizado - pesquise um contato por qualquer campo personalizado (por exemplo, TIN, ID interno, etc.)
Vinculando empresas
Anexar uma empresa por campo personalizado - pesquise uma empresa por qualquer campo personalizado (por exemplo, TIN, ID interno, etc.)
Usando essas funções, você pode encontrar e anexar automaticamente contatos/empresas a leads ou criar novos, caso não sejam encontrados. Você pode configurar isso usando o Salesbot.
Configurando vinculação por telefone ou e-mail
Na seleção de campos, encontre a seção Funções:
Na fórmula você precisa inserir um campo do qual você precisa pegar o telefone ou e-mail para criar um contato:
Configurando a vinculação usando um campo personalizado
Para vincular um contato ou empresa usando um campo personalizado, selecione o campo desejado na lista de campos disponíveis na interface do widget.
Exemplo 1: Vincule um contato usando o campo TIN:
Selecione "Opções" → "Anexar um contato usando um campo personalizado" → selecione o campo "TIN" da lista
Na fórmula, indique o campo de lead do qual será obtido o valor do TIN: return lead["TIN"]
Exemplo 2: Vincule uma empresa usando o campo "ID interno":
Selecione "Opções" → "Anexar empresa por campo personalizado" → selecione o campo "ID interno" da lista
Na fórmula, indique o campo da lead de onde obter o ID: return lead["Internal ID"]
Caso não seja encontrado um contato ou empresa com o valor do campo especificado, o sistema criará automaticamente uma nova entidade com este valor e vinculará-a ao lead.
Conversão de moeda
A função convertCurrency() está disponível em fórmulas para conversão automática de moeda às taxas oficiais do Banco Central da Federação Russa.
Formato da função:await convertCurrency(amount, "source_currency", "target_currency")
Moedas asiáticas: THB (Baht tailandês), VND (Dong vietnamita), IDR (Rupia indonésia), MMK (Kyat de Mianmar), BDT (Taka de Bangladesh)
Oriente Médio: AED (Dirham dos Emirados Árabes Unidos), SAR (Rial Saudita), QAR (Rial do Qatar), OMR (Rial de Omã), BHD (Dinar do Bahrein), EGP (Libra Egípcia), IRR (Rial Iraniano)
E outros: DZD, MNT, BOB, CUP, NGN, ETB, XDR
Exemplos de uso
Exemplo 1: converta 100 dólares em rublos
awaitconvertCurrency(100, "USD", "RUB")
Exemplo 2: Converta o orçamento da lead de dólares para euros