Histórico da Página
Integração de Leads e Oportunidades do Exact Spotter para TOTVS CRM em unidades TOTVS Corp
Contexto
A integração entre o Exact Spotter e o TOTVS CRM por meio do TOTVS IPAAS foi desenvolvida para otimizar o fluxo de informações entre essas duas plataformas. Com a integração entre as ferramentas você pode automatizar o processo de envio de lead/oportunidades geradas no Exact Spotter para o TOTVS CRM. Isso significa que os dados dos potenciais clientes são enviados automaticamente, sem a necessidade de intervenção manual, o que reduz significativamente o tempo gasto nessa tarefa e elimina erros que poderiam ocorrer durante o processo.
- Exact SpotterEXACT SPOTTER
- TOTVS IPAAS
- TOTVS CRM
Unidades que usam este modelo de integração
- TOTVS Ibirapuera
- TOTVS SMB SP
- TOTVS SMB RJ
- TOTVS SMB BH
- TOTVS SMB RECIFE
O que esta integração faz?
O fluxo de integração tem por objetivo principal integrar leads/clientes, contatos, oportunidades e atividades do Exact Spotter com o TOTVS CRM , mediante pré requisitos e regras estabelecidaspara que o profissional de vendas continue o processo de evolução no TOTVS CRM de uma oportunidade inicialmente gerada com o uso do Exact Spotter por um assistente de vendas ou pré-vendedor.
Diagrama da integração de Leads/Oportunidades com origem no Exact Spotter para o TOTVS CRM
Diagrama da integração TOTVS CRM → Exact Spotter
Quando o lead/oportunidade entra na etapa "Lead Qualificado" do funil, é acionado um gatilho para que o registro seja enviado ao IPAAS para realizar a integração com o TOTVS CRM:
Quais campos podem ser integrados entre Exact Spotter e o TOTVS CRM?
Abaixo estão as entidades que vem do Exact Spotter e são integradas ao TOTVS CRM.
Em cada uma delas, temos também o JSON de exemplo para aprimorar o entendimento do leitor.
Sempre que um lead é qualificado no Exact Spotter um evento é disparado para o IPAAS que integra as informações de Lead/Cliente, Contato, Oportunidade, Equipe da oportunidade e Atividade com o TOTVS CRM.
JSON de exemplo: json_lead_e_afins.txt
Lead/Cliente (Lead/Customer):
Inserção do lead/cliente no TOTVS CRM.
| Exact Spotter | Formato | TOTVS CRM |
| valor padrão true | boolean | active |
Lead.Address.Address_Maps Se nulo Então Endereço Padrão | string | addresses.address |
| variável totvs_crm_addresstypeid | uuid | addresses.addressType.id |
| Lead.Address.AddAddressInformation | string | addresses.complement |
| Lead.Address.City | string | addresses.cityName |
| Lead.Address.Country | string | addresses.countryName |
| Lead.Address.State | string | addresses.stateName |
Lead.Address.Address_Maps Se nulo Então Endereço Padrão | string | addresses.description |
| SPOTTER #' Lead.SsnEin | string | addresses.externalId |
| Lead.Address.ZipCode | string | addresses.postalCode |
| Lead.Id | string | code |
| valor padrão false | boolean | converted |
Se mandou um CNPJ Então variável totvs_crm_customerpersontype_pj Se mandou um CPF Então variável totvs_crm_customerpersontype | uuid | customerPersonType.id |
| SPOTTER # Lead.SsnEin | string | externalId |
Lead.SsnEin | string | leadIdentificationDocuments.documentNumber |
SPOTTER # Lead.SsnEin | string | leadIdentificationDocuments.externalId |
Se mandou um CNPJ Então CNPJ Se mandou um CPF Então CPF | string | leadIdentificationDocuments.identificationDocumentAcronym |
Se mandou um CNPJ Então CNPJ Se mandou um CPF Então CPF | uuid | leadIdentificationDocuments.identificationDocumentId |
| valor padrão true | boolean | leadOrigin.defaultValue |
| variável totvs_crm_leadoriginid | uuid | leadOrigin.id |
| variável totvs_crm_lead_stage | uuid | leadStage.id |
| Lead.Industry.id | uuid | locationBusinessLine.id |
| Lead.Company | string | name |
| SPOTTER # Lead.SsnEin | string | phones.externalId |
| Lead.Phone | string | phones.number |
| variável totvs_crm_phonetypeid_main | uuid | phones.phoneTypeId |
| valor padrão true | boolean | phones.standard |
Lead.SalesRep.Email (busca por username no TOTVS CRM) Se nulo Então variável totvs_crm_default_user | uuid | professionalId |
Lead.SalesRep.Email (busca por username no TOTVS CRM) Se nulo/não encontrado Então variável totvs_crm_default_user | string | professionalName |
| Lead.Company | string | tradingName |
| Lead.Site | string | website |
Contato (Contact):
Inserção do contato do lead/cliente no TOTVS CRM.
| Exact Spotter | Formato | TOTVS CRM |
| valor padrão true | boolean | active |
| Lead.Contact.Email | string | emails.email |
| variável totvs_crm_emailtypeid | uuid | emails.emailTypeId |
| SPOTTER # Lead.Contact.Id | string | emails.externalId |
| valor padrão true | boolean | emails.standard |
| SPOTTER # Lead.Contact.Id | string | externalId |
Se Lead.Contact.TypeMessenger = Facebook Então facebook Se Lead.Contact.TypeMessenger = Instagram Então instagram Se Lead.Contact.TypeMessenger = LinkedIn Então linkedin Se Lead.Contact.TypeMessenger = Twitter Então twitter | string | facebook | instagram | linkedin | twitter |
| SPOTTER # Lead.SsnEin | uuid | leadId |
| Lead.Contact.Name | string | name |
| SPOTTER # Lead.Contact.Id | string | phones.externalId |
| Lead.Contact.Phone | string | phones.number |
| variável totvs_crm_phonetypeid_main | uuid | phones.phoneTypeId |
| valor padrão true | boolean | phones.standard |
| Lead.Contact.Position | string | role |
Oportunidade (Opportunity):
Inserção da oportunidade para o lead/cliente no TOTVS CRM.
| Exact Spotter | Formato | TOTVS CRM |
Se for um Lead Então valor padrão LEAD Se for um Lead Então valor padrão CUSTOMER | string | accountType |
| SPOTTER #' Lead.SsnEin | uuid | address.id |
| SPOTTER # Lead.Contact.Id | uuid | contacts.id |
| valor padrão Oportunidade criada para o Lead + Lead.Company | string | description |
| data corrente + variável totvs_crm_expecteddays | string(uuuu-MM-dd'T'HH:mm:ss.SSS'Z') | expectedAt |
| SPOTTER # Lead.SsnEin # Lead.Id | string | externalId |
| SPOTTER # Lead.SsnEin | uuid | leadId | customerId |
| valor padrão Lead no Spotter: + Lead.PublicLink | string | note |
| variável totvs_crm_oportunity_type | uuid | opportunityTypeId |
| variável totvs_crm_pipeline | uuid | pipelineId |
| variável totvs_crm_oportunity_stage | uuid | stageId |
| data corrente | string(uuuu-MM-dd'T'HH:mm:ss.SSS'Z') | startedAt |
| valor padrão PROGRESS | string | status |
| valor padrão 0 | number | totalRecurrentValue |
| valor padrão 0 | number | totalSingleValue |
| valor padrão 0 | number | totalValue |
Lead.SalesRep.Email (busca por username no TOTVS CRM) Se nulo/não encontrado Então variável totvs_crm_default_user | uuid | userId |
Equipe da oportunidade (Team Members):
Inserção do pré vendedor na oportunidade no TOTVS CRM.
| Exact Spotter | Formato | TOTVS CRM |
| valor padrão true | boolean | active |
| valor padrão READ, UPDATE, TRANSFER e SHARE | string | allowedActions |
| SPOTTER # Lead.SsnEin # Lead.Id | string | externalId |
| valor padrão 1 | number | percentageOfParticipation |
| valor padrão true | boolean | responsible |
| variável totvs_crm_role_preseller | uuid | roleId |
Lead.SDR.Email Se nulo/não encontrado Então variável totvs_crm_preseller_default | uuid | userId |
Atividade (Activity):
Esta atividade é criada/atualizada assim que o lead/cliente é agendado/reagendado no Exact Spotter, a mesma está vinculada com a oportunidade do funil.
| Exact Spotter | Formato | TOTVS CRM |
| variável totvs_crm_activity_type | uuid | activityTypeId |
| valor padrão false | boolean | allDay |
| Appointment.Reference + Appointment.MeetingType | string | description |
| Appointment.DateTimeEndDate | string(uuuu-MM-dd'T'HH:mm:ss.SSS'Z') | endDate |
| SPOTTER # Lead.SsnEin # Lead.Id | string | externalId |
| SPOTTER # Lead.SsnEin | uuid | leadId | customerId |
| valor padrão Link Feedback: + Appointment.LinkFeedback | string | note |
| Appointment.Reference | string | origin.description |
| SPOTTER # Lead.SsnEin # Lead.Id | uuid | origin.id |
| valor padrão OPPORTUNITY | string | origin.type |
| valor padrão MEDIUM | string | priority |
| Appointment.DateTimeStartDate | string(uuuu-MM-dd'T'HH:mm:ss.SSS'Z') | startDate |
| valor padrão OPEN | string | status |
Lead.SalesRep.Email (busca por username no TOTVS CRM) Se nulo/não encontrado Então variável totvs_crm_default_user | uuid | userId |
Pré-requisitos Cliente
É necessário contratar o pacote Essential ou superior do Exact Spotter.
Para que os leads, contatos, oportunidades e atividades sejam integrados corretamente, é necessário cadastrar alguns eventos no Exact Spotter que chamarão os Webhooks, enviado a informação da forma correta ao IPAAS e posteriormente para o TOTVS CRM.
Utilize a seguinte documentação para inserir os eventos: https://exactspotter.docs.apiary.io/#/reference/0/webhooks-insercao
Dica: você pode utilizar o programa Postman para inserir os eventos.
Os eventos padrão e os corpos da requisições são:
OBSERVAÇÃO: caso o cliente queira que o lead/cliente seja disparado para o TOTVS CRM em outra etapa diferente de Agendados e Reagendados, basta alterar/remover os dois eventos abaixo com a sua respectiva etapa.
Segue documentação dos eventos possíveis: https://exactspotter.docs.apiary.io/#/reference/0/webhooks-insercao
- event.leadqualified
{
"event": "event.leadqualified",
"url": "URL do Webhook do serviço Lead Exact Spotter to TOTVS CRM"
}
Pré-requisitos IPAAS:
Adicione uma conta no aplicativo TOTVS CRM:
- Acesse o aplicativo TOTVS CRM
- Vá na aba Contas e clique em "Cadastrar Conta"
- Você pode configurar de duas formas, via body ou via bearer token, conforme as imagens abaixo:
Adicione uma conta no aplicativo Exact Sales:
- Acesse o aplicativo Exact Sales
- Vá na aba Contas e clique em "Cadastrar Conta" e configure conforme a imagem abaixo:
O próximo passo é clonar o diagrama de uma unidade de negócio existente no projeto Standard - TOTVS CRM-SPOTTER-PRODUCAO no IPAAS. Como sugestão, clonar o diagrama TSE001 - TOTVS SAO PAULO.
Para isso, realize os seguintes procedimentos:
- Abra o seu navegador e acesse o site https://IPAAS.totvs.app/
- No menu do site, procure pela opção "Integrações" e clique nela
- Acessar Projetos e Pacotes e entrar no projeto Standard - TOTVS CRM-SPOTTER-PRODUCAO
- Clicar no botão dos três pontinhos no diagrama TSE001 - TOTVS SAO PAULO e após isto, DUPLICAR.
- Este diagrama que fará a inclusão da nova unidade na integração do Spotter para o CRM.
Em caso de uma nova unidade, não será necessário configurar variáveis no Spotter. Porém, se for uma nova instalação, pode ser preciso configurar variáveis através dos passos:
- Abra o seu navegador e acesse o site https://IPAAS.totvs.app/
- No menu do site, procure pela opção "Integrações" e clique nela;
- Em seguida, procure pelo submenu "Variáveis" e selecione essa opção
- Procure o projeto Standard - TOTVS CRM-SPOTTER-PRODUCAO
- Agora, você deve preencher os campos "Chave" e "Valor" para cada variável
Segue os valores a serem preenchidos:
Caminho da oportunidade no CRM
e225924b-4895-4793-8d89-998b5fc735fb
ID tipo de atividade Formulário de investigação no CRM
b604f287-36bf-4e6d-ae83-c75c46a2fbeb
ID Tipo de endereço equivalente a PRINCIPAL no CRM
application/json
8cea3c86-1984-4c77-acf5-3f622c1efe5b
ID tipo de pessoa equivalente a Física
40694c1a-44f9-4c3b-a5a8-aa63e0742c75
ID tipo de pessoa equivalente a Jurídica
d236bab5-341e-4297-b57c-cd9c51015d27
f6444472-d47b-4b32-910b-ad1c1d1f46a8
281bdf94-b137-4bc2-b350-720688fc197c
7391c70e-aeb8-4c68-bd5c-7b5d30cf4d1d
Reunião Realizada
Etapa delimitadora do Exact Spotter que envia os dados para o TOTVS CRM.
Exemplo: Entrada, Agendados, Qualificados, Vendidos e etc.
OBS: a variável é case sensitive
90
Prazo de conclusão previsto da oportunidade, considere data atual + totvs_crm_expecteddays
651b2c32-aeca-4373-9cb9-96b132ba5020
95839570-6791-49f4-88fe-68efd115213d
81aed0c3-9fb9-4e4b-8a54-7c21c637c072
0. Passagem de Bastão
Spotter
d870427c-bbad-4eb8-9af5-5183b47f648f
SQL Macro | Vendas Novas, UP & Cross ESN
* É importante salientar que os valores de ID fornecidos acima são exemplos baseados na configuração padrão do TOTVS CRM. Durante a implementação da integração, é fundamental revisar e ajustar os valores de ID de acordo com o tenant do cliente. Isso garante que a integração seja realizada corretamente.
Pré-requisitos TOTVS CRM:
Cadastre um e-mail existente no TOTVS CRM e Exact Spotter para caso não seja encontrado o usuário responsável ao cadastrar um lead/oportunidade (SPOTTER DEFAULT USER, quadro abaixo).
Cadastre um e-mail existente no TOTVS CRM e Exact Spotter para caso não seja encontrado o pré vendedor ao cadastrar um lead/oportunidade (variável SPOTTER DEFAULT PRE SELLER, quadro abaixo).
Cadastre um usuário no TOTVS CRM para a integração, este usuário deverá ser admin e ser marcado no banco como tal. Solicitar ao time de devOps da TOTVS CRM.
Crie os seguintes Workflows:
Empresa = UNIDADE DA CORP
AND
ID Externo contém SPOTTER
Empresa = UNIDADE DA CORP
AND
ID Externo contém SPOTTER
Empresa = UNIDADE DA CORP
AND
ID Externo contém SPOTTER
O fluxo de integração utiliza variáveis para que seja possível integrar mais unidades de negócio sem a necessidade de criar um projeto completo de integração.
As variáveis adotadas para cada unidade de negócio ficam armazenadas em um objeto personalizado do CRM, com o cadastro disponível em:
> Telas customizadas > Variáveis CRM x Spotter
Devem ser preenchidos os campos do formulário para cada unidade de negócio, abaixo:
E-mail do usuário padrão cadastrado como pré-vendedor, utilizado caso não encontre o email do pré-vendedor da oportunidade no Spotter
E-mail do usuário padrão cadastrado como vendedor, utilizado caso não encontre o email do pré-vendedor da oportunidade no Spotter
Exemplo do fluxo
Clone o diagrama de uma unidade de negócio existente no projeto Standard-CRM-Spotter-PRODUCAO, no IPAAS. Como sugestão, clonar o diagrama TSE001 - TOTVS SAO PAULO
Para isso, realize os seguintes procedimentos:
- Abra o seu navegador e acesse o site https://IPAAS.totvs.app/
- No menu do site, procure pela opção "Integrações" e clique nela
- Acessar Projetos e Pacotes e entrar no projeto Standard-CRM-Spotter-PRODUCAO
- Clicar no botão dos três pontinhos no diagrama TSE001 - TOTVS SAO PAULO e após isto, DUPLICAR
- No canto superior do diagrama clonado, altere o nome conforme a unidade a ser adicionada
- Configurar o diagrama conforme as imagens abaixo:
- Depois disso clique em publicar diagrama;
Pré-requisitos TOTVS CRM:
Cadastre um usuário no TOTVS CRM para a integração, este usuário deverá ser admin e ser marcado no banco como tal. Solicitar ao time de devOps da TOTVS CRM.
O fluxo de integração utiliza variáveis para que seja possível integrar mais unidades de negócio sem a necessidade de criar um projeto completo de integração.
As variáveis adotadas para cada unidade de negócio ficam armazenadas em um objeto personalizado do CRM, com o cadastro disponível em:
> Telas customizadas > Variáveis CRM x Spotter
Devem ser preenchidos os campos do formulário para cada unidade de negócio, abaixo:
| Coluna | Valor de exemplo | Observação |
|---|---|---|
| DIAGRAMA IPAAS | TSE000 - TOTVS TESTE | Nome do diagrama da unidade clonada no iPaaS |
| CRM COMPANYID | ab58f2c6-3e15-46a1-88a2-bce7f3d3a2dx | Identificador no CRM da unidade de negócio, cadastrado como empresa |
| CRM ROLE ID | ddf7aab8-d605-475e-99c4-d7af93259978 | Identificador no CRM do papel do usuário |
| CRM BEARER TOKEN | Bearer TOKEN | Token do usuário de integração do TOTVS CRM criado exclusivamente para a integração da unidade em questão. OBS: esse usuário é importante para diferenciar as demais unidades caso o time interno precise identificar problemas. OBS2: esse valor é pego da seguinte forma: |
| CRM ID AGRUPADOR DE VENDA | 0034 | Código do agrupador de venda padrão para a oportunidade, para a unidade de negócio |
| CRM DESCRIÇÃO AGRUPADOR DE VENDA | TRADICIONAL | Descrição do agrupador de venda padrão para a oportunidade, para a unidade de negócio |
| SPOTTER TOKEN EXACT | 5c895e3f-e498-4a6d-b191-819660cbe523 | Token do usuário de integração do Exact Spotter, localizado em: configuracoes/integracoes |
| SPOTTER DEFAULT PRE SELLER | [email protected] | E-mail do usuário padrão cadastrado como pré-vendedor, utilizado caso não encontre o email do pré-vendedor da oportunidade no Exact Spotter |
| SPOTTER DEFAULT USER | [email protected] | E-mail do usuário padrão cadastrado como vendedor, utilizado caso não encontre o email do pré-vendedor da oportunidade no Exact Spotter |
Após configurado as variáveis específicas da unidade, é necessário criar os Workflows que dispara a volta da atualização da oportunidade para o Exact Spotter
| Nome | Gatilho | Ação | Filtros | URL URL do serviço do IPAAS TSE000 - TOTVS TESTE |
| Exact - NOME_UNIDADE - Oportunidade Perdida | Oportunidade perdida | Chamar um endpoint HTTP remoto | Empresa = UNIDADE DA CORP AND Tipo de Oportunidade igual SPOTTER | |
| Exact - NOME_UNIDADE - Oportunidade Ganha | Oportunidade ganha | Chamar um endpoint HTTP remoto | Empresa = UNIDADE DA CORP AND Tipo de Oportunidade igual SPOTTER | |
| Exact - NOME_UNIDADE - Oportunidade Descartada | Oportunidade descartada | Chamar um endpoint HTTP remoto | Empresa = UNIDADE DA CORP AND Tipo de Oportunidade igual SPOTTER |
Pré-requisitos Exact Spotter
Para que o lead/cliente seja integrado corretamente com o TOTVS CRM, é necessário cadastrar o evento leadqualified no Exact Spotter que chamará o diagrama TSE000 - TOTVS TESTE que criamos acima como exemplo.
Utilize a seguinte documentação para inserir os eventos: https://exactspotter.docs.apiary.io/#/reference/0/webhooks-insercao
Dica: você pode utilizar o programa Postman para inserir o evento.
Segue documentação para auxilio: https://exactspotter.docs.apiary.io/#/reference/0/webhooks-insercao
O evento que vamos adicionar é:
- event.leadqualified
Com o seguinte body:
| Bloco de código |
|---|
{
"event": "event.leadqualified",
"url": "URL do Webhook do diagrama TSE000 - TOTVS TESTE"
} |
Após isso, todo lead qualificado no Exact Spotter será integrado com o TOTVS CRM.
FAQ
É possível customizar a integração para atender às necessidades específicas de um negócio?
Sim, é possível contemplar campos customizados de interesse do cliente, porém, será necessária uma contratação adicional do serviço. A inclusão desses campos personalizados exigirá uma modificação no diagrama/pipeline do IPAAS fornecido ao cliente específico.
É importante destacar que o modelo atual do IPAAS utiliza apenas os campos padrão disponibilizados pela API do TOTVS CRM. Portanto, qualquer adição de campos personalizados requer uma alteração no IPAAS, que será realizada através do atendimento da área de serviços.
Dessa forma, o cliente terá a oportunidade de personalizar a integração de acordo com suas necessidades específicas, incluindo campos customizados de interesse. O processo de alteração será coordenado pela equipe de serviços, garantindo a correta adaptação do TOTVS CRM e o bom funcionamento da integração com o Exact Spotter














