> ## Documentation Index
> Fetch the complete documentation index at: https://help.treble.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurações avançadas

> O que pode ser personalizado quando um campo precisa ser preenchido no momento exato em que o registro é criado, e quais limites essa personalização tem hoje.

Esta página explica a ferramenta que resolve o problema mais difícil da integração: **os campos que o Salesforce exige no próprio momento da criação**.

Se você ainda não se deparou com isso, provavelmente não precisa dela.

<div class="hr" />

## Os dois momentos em que o Treble escreve

É a distinção da qual saem quase todas as limitações.

| Momento | O que acontece | O que o controla |
| - | - | - |
| **Criação** | O Treble não encontra o registro da pessoa e o cria | Os campos obrigatórios que o Treble detecta automaticamente, mais as regras avançadas desta página |
| **Atualização** | O registro já existe e o Treble escreve um campo | Os blocos do seu fluxo |

Os blocos que você configura no construtor de conversas trabalham no **segundo** momento. Cada bloco escreve um campo **depois** que o registro existe.

Isso funciona perfeitamente enquanto o Salesforce permitir escrever esse campo depois. Deixa de funcionar quando o Salesforce exige algo **ao criar**.

<Warning>
  Os dois casos que mais aparecem:

  * **Uma regra de validação** que exige um valor para poder criar o registro (por exemplo, uma autorização de tratamento de dados).
  * **O tipo de registro**, em particular com [Person Accounts](/pt/docs/integrations/salesforce/features/person-accounts): uma conta não pode ser convertida em Person Account depois de criada.

  Nesses casos, o bloco do fluxo chega tarde por design.
</Warning>

<div class="hr" />

## Regras de criação

Para esses casos, o Treble pode aplicar **regras que são executadas no momento de criar** o registro, configuradas por objeto dentro da sua integração.

A propriedade-chave: uma regra de criação entra **sempre** na criação do registro, independentemente de o Salesforce reportar esse campo como obrigatório ou não. Por isso ela resolve o que um bloco não alcança.

### O que é possível fazer

<AccordionGroup>
  <Accordion title="Valor fixo">
    O mais comum: *"todos os registros que esta integração criar devem ter X neste campo"*.

    Serve para tipos de registro, sinalizadores de sim/não, origem do lead, país padrão, classificações internas e, em geral, qualquer campo obrigatório do seu modelo que não dependa da conversa.

    É também a mudança mais rápida de aplicar.
  </Accordion>

  <Accordion title="Valor derivado do contato do WhatsApp">
    O Treble conhece o contato e pode derivar valores dele: o nome do perfil do WhatsApp, o telefone em diferentes formatos, o e-mail se o tiver, ou um e-mail gerado quando não tiver.

    É a forma habitual de preencher campos obrigatórios de nome ou de e-mail em objetos que os exigem.
  </Accordion>

  <Accordion title="Lógica sob medida">
    Quando você precisa de uma transformação própria —cortar um documento a uma certa quantidade de dígitos, traduzir um valor para a sua nomenclatura interna, compor um campo a partir de vários dados— é possível escrever uma regra específica para a sua conta.

    Não é um caso excepcional, mas **requer desenvolvimento por parte do Treble**: é solicitada, programada e implantada.
  </Accordion>

  <Accordion title="Valores obtidos da conversa">
    Também é possível que uma regra use o que a pessoa respondeu durante a conversa e o inclua na criação do registro.

    É o caminho quando você precisa, por exemplo, que o tipo de registro dependa do que a pessoa escolheu no chat **e** que isso fique definido desde o momento da criação. Assim como o caso anterior, requer desenvolvimento.
  </Accordion>
</AccordionGroup>

<div class="hr" />

## Os limites que convém conhecer

São três, e vale a pena tê-los claros antes de desenhar algo em torno desta ferramenta.

<AccordionGroup>
  <Accordion title="1. Aplicam-se a toda a integração, não a um fluxo">
    Uma regra sobre o tipo de registro de `Account` afeta **todas** as contas que a integração criar, em **todos** os fluxos.

    Hoje não é possível ter "a campanha A cria com um tipo de registro e a campanha B com outro" usando regras de criação. É a limitação mais importante.

    <Info>
      Se esse é exatamente o seu caso, comente com o seu Customer Success Manager: é uma das coisas em que estamos trabalhando, e ajuda saber quantos clientes precisam disso.
    </Info>
  </Accordion>

  <Accordion title="2. Só se aplicam ao criar">
    Uma regra de criação não é executada quando o registro já existe. Para atualizar um registro existente, usam-se os blocos do fluxo, como sempre.
  </Accordion>

  <Accordion title="3. Ainda não são autogerenciáveis">
    Essas regras ficam na configuração da integração e são aplicadas pela equipe do Treble. Não podem ser editadas a partir da plataforma.

    Uma mudança costuma ser rápida —minutos, sem implantação, quando é um valor fixo— mas passa por nós.
  </Accordion>
</AccordionGroup>

<div class="hr" />

## Outras coisas que se configuram neste nível

<AccordionGroup>
  <Accordion title="O campo de telefone de busca e escrita">
    É o campo pelo qual o Treble busca a pessoa e, ao mesmo tempo, onde escreve o número quando cria o registro.

    <Warning>
      Hoje é **um único campo para as duas coisas**. Se você mudar o campo para que o número seja salvo em outro lugar, o Treble deixa de encontrar os registros que têm o número no campo anterior e começa a criar duplicados.

      Se você precisa buscar por um campo e escrever em outro, fale com o seu Customer Success Manager antes de mudar qualquer coisa.
    </Warning>
  </Accordion>

  <Accordion title="Tarefa ou Evento para o histórico">
    Define se o histórico da conversa é salvo como `Task` ou como `Event`.

    <a class="article-link" href="/pt/docs/integrations/salesforce/features/activities"><p>Histórico de conversa</p><Icon icon="arrow-up-right-from-square" iconType="solid" /></a>
  </Accordion>

  <Accordion title="Os objetos da integração multi-objeto">
    Quais objetos a integração usa e, para cada um, seu campo de telefone, de nome e de proprietário. É definido na instalação, e mudá-lo depois implica reinstalar.
  </Accordion>
</AccordionGroup>

<div class="hr" />

## Dois casos muito perguntados

<AccordionGroup>
  <Accordion title="Salvar o telefone em um formato diferente">
    Por padrão, o Treble escreve o número no formato internacional completo, com o código do país. É muito comum querer outra coisa: sem o código do país, com parênteses e espaços, ou separado em dois campos.

    Isso se resolve com uma **regra de criação** sobre o campo de telefone. Se o formato de que você precisa é uma transformação simples do número, é uma mudança rápida; se depende de regras próprias da sua operação, entra na categoria de lógica sob medida.

    <Warning>
      Atenção a um efeito colateral: o campo de telefone da integração é o mesmo pelo qual o Treble **busca** a pessoa. Se você mudar o formato do que é escrito, certifique-se de que a busca continue encontrando os registros existentes, ou você começará a criar duplicados.
    </Warning>
  </Accordion>

  <Accordion title="Com qual nome o contato é criado">
    Quando o Treble cria o registro, o nome vem do **perfil do WhatsApp** da pessoa. Mas esse nome nem sempre existe nem sempre serve: há usuários sem nome de perfil, e há perfis com emojis ou texto promocional.

    Você pode definir com uma regra de criação o que é escrito nesse caso: um valor de reserva fixo, o número de telefone ou uma combinação. É exatamente o que vários clientes fazem para que nenhum registro fique sem nome e para que os registros criados pelo Treble sejam identificáveis.

    <Info>
      Se o que você vê é o **texto de uma mensagem** no campo de nome, isso não é a criação: é um bloco de ação escrevendo a resposta da pessoa no campo errado. Revise [o bloco de ação](/pt/docs/integrations/salesforce/blocks/crm-action).
    </Info>
  </Accordion>
</AccordionGroup>

<div class="hr" />

## Como solicitar uma mudança

Para que seja rápido, escreva para o seu Customer Success Manager com estas informações:

<Steps>
  <Step title="O objeto">
    Por exemplo `Account`, `Lead` ou o nome de API do seu objeto personalizado.
  </Step>

  <Step title="O campo">
    O **nome de API** exato, não o rótulo que aparece na tela. Por exemplo `CC_Autorizacion__c`, não "Autorização de dados".
  </Step>

  <Step title="O valor">
    Se for um valor fixo, qual. Se for um tipo de registro, o **Id de 18 caracteres**, que você encontra em *Setup → Object Manager → seu objeto → Record Types*, na URL do tipo.
  </Step>

  <Step title="Por que um bloco não é suficiente">
    Normalmente: "há uma regra de validação que exige este campo ao criar", ou a mensagem de erro exata que o Salesforce retorna. Isso economiza uma rodada inteira de perguntas.
  </Step>
</Steps>

<div class="hr" />

## Próximos passos

<CardGroup cols={2}>
  <Card title="Tipos de registro" icon="layer-group" href="/pt/docs/integrations/salesforce/features/record-types">
    O caso mais comum de campo que deve ser preenchido ao criar.
  </Card>

  <Card title="Person Accounts" icon="user" href="/pt/docs/integrations/salesforce/features/person-accounts">
    Quando uma conta representa uma pessoa e não uma empresa.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.