## Visão geral

O módulo de **Contratos** se integra aos motores de automação da plataforma para que você **gere e
envie contratos sozinho**, sem clicar a cada atendimento. As mesmas duas ações ficam disponíveis em
**três lugares**:

- **Automações de conversa** — disparam por evento/condição (ex.: mudou a etapa do negócio).
- **Macros** — você executa a ação manualmente, com um clique, sobre uma conversa.
- **Flow Builder** — o nó **Enviar contrato** dentro de um fluxo visual.

Em todos eles, a plataforma resolve o **template**, o **contato** e a **conversa** a partir do
contexto, preenche as variáveis automaticamente, **auto-assina a empresa emissora** (a parte
contratada) e entrega o **link de assinatura** ao contato quando há uma conversa vinculada.

## Pré-requisitos

- Módulo de Contratos **habilitado** e usuário com **permissão** para gerenciar contratos.
- Pelo menos um **template** de contrato já criado.
- Um **contato** (e, de preferência, uma **conversa**) no gatilho — é dele que sai o signatário.
- Uma **empresa emissora** cadastrada (usada como contratada padrão e para a auto-assinatura).
- Para entregar o link pelos canais, tenha uma **Caixa de Entrada** de WhatsApp ou e-mail.

## Passo a passo

### Automações de conversa

1. Vá em **Configurações → Automação** e crie ou edite uma regra.
2. Defina o **evento** e as **condições** que disparam a regra.
3. Em **Ações**, escolha uma das ações de contrato:
   - **Enviar contrato a partir de template** (`send_contract_from_template`): cria o contrato a
     partir do template **e já envia para assinatura**.
   - **Criar contrato a partir de template** (`create_contract_from_template`): apenas cria o
     contrato em **rascunho** para o agente revisar antes de enviar.
4. Informe o **template** na ação. Salve a regra.

### Macros

1. Vá em **Configurações → Macros** e crie uma macro.
2. Adicione a mesma ação de contrato (**Enviar** ou **Criar** a partir de template) e escolha o
   template.
3. Na conversa, execute a macro pelo menu de **Macros** para gerar/enviar o contrato manualmente.

### Flow Builder

1. No editor de fluxo, adicione o nó **Enviar contrato**.
2. Selecione o **template** (e, opcionalmente, um **título**).
3. Conecte a **saída de sucesso** ao próximo passo e a **saída de falha** a um tratamento
   alternativo (ex.: notificar um agente).
4. Publique o fluxo. Ao executar, o nó cria o contrato (auto-preenche variáveis, monta
   signatários/itens e escolhe a emissora padrão) e o envia.

## Configurações & opções

- **Parâmetros da ação**: `template_id` é obrigatório. Opcionalmente, `company_id` (empresa
  emissora), `crm_item_id` (negócio do CRM) e `title` (título do contrato). Quando você omite a
  empresa, a plataforma usa a **emissora padrão**; contato e conversa vêm do gatilho.
- **Mesma execução nos três lugares**: Automações e Macros compartilham exatamente o mesmo conjunto
  de ações, então o comportamento é idêntico — o que muda é só o disparo (automático, manual ou por
  fluxo).
- **Condições baseadas em contrato**: regras que respondem a **eventos de contrato** podem filtrar
  por `contract_status` (situação), `contract_tier` (nível de assinatura), `contract_company`
  (empresa emissora) e `contract_total` (soma dos itens, em valores **inteiros de reais**). Operadores
  disponíveis: igual a, diferente de, contém, não contém, está preenchido, não está preenchido, maior
  que, menor que. Uma regra **sem condições** sempre roda; uma condição mal configurada **falha de
  forma segura** (não dispara em tudo).
- **Saídas do nó do fluxo**: sucesso leva adiante (carregando o `contract_id` gerado); a falha sai por
  um caminho separado, identificado por `contracts_not_enabled`, `contracts_template_missing`,
  `contracts_no_contact` ou `send_contract_failed`.

## Casos de uso

- **Negócio ganho no CRM** → enviar automaticamente o contrato de prestação de serviço na mesma
  conversa.
- **Mudança de etapa** (ex.: "Em negociação" → "Fechamento") → criar o contrato em rascunho para o
  agente revisar antes de enviar.
- **Atendimento por fluxo**: ao final de um Flow Builder de qualificação, o nó **Enviar contrato**
  emite o documento e segue para uma etapa de cobrança no sucesso.

## Dicas, limites e boas práticas

- Use **Criar** quando quiser revisão humana antes do envio; use **Enviar** quando o fluxo já estiver
  validado e puder ir direto para a assinatura.
- Em **Automações e Macros**, as ações **degradam em silêncio**: se o módulo estiver desabilitado,
  faltar template ou não houver contato no gatilho, a ação simplesmente **não faz nada** e registra
  uma linha de log `[CONTRACTS_AUTOMATION]` — **nunca quebra** o restante da regra/macro.
- No **Flow Builder**, o mesmo problema **não interrompe** o fluxo: ele segue pela **saída de falha**,
  então sempre conecte esse caminho a um tratamento.
- Garanta que os **dados de origem** (contato, documento, negócio) estejam preenchidos para o
  auto-preenchimento das variáveis funcionar bem.
- Para a auto-assinatura da contratada, mantenha a **empresa emissora** correta (e o certificado A1
  vigente, no caso de assinatura qualificada).

## Solução de problemas

- **A regra rodou mas o contrato não apareceu**: provavelmente faltou **template**, faltou **contato**
  na conversa ou o **módulo está desabilitado**. Confira a linha `[CONTRACTS_AUTOMATION]` no log.
- **O contrato foi criado mas não enviado**: a ação usada foi **Criar a partir de template** (fica em
  rascunho). Use **Enviar a partir de template** para emitir e enviar de uma vez.
- **O fluxo seguiu pela saída de falha**: leia o motivo — `contracts_not_enabled` (módulo off),
  `contracts_template_missing` (template não definido), `contracts_no_contact` (sem contato) ou
  `send_contract_failed` (erro no envio).
- **O signatário não recebeu o link**: confirme que há uma **conversa vinculada** e que o **canal**
  (WhatsApp/e-mail) e os dados de contato estão corretos.

## Veja também

- [Visão geral de Contratos e Assinatura Eletrônica](/hc/ajuda/articles/contracts-esignature-overview-pt-br)
- [Templates, variáveis e auto-preenchimento](/hc/ajuda/articles/contracts-esignature-templates-variaveis-auto-fill-pt-br)
- [Assinatura interna e externa](/hc/ajuda/articles/contracts-esignature-assinatura-interna-externa-pt-br)
- [Empresas emissoras e certificado digital A1](/hc/ajuda/articles/contracts-esignature-empresas-emissoras-certificado-a1-pt-br)