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.
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 estabelecidas.
Diagrama da integração de Leads/Oportunidades com origem no Exact Spotter para o TOTVS CRM
![Integrações > 7.1 - [TOTVS Corp] Exact Spotter - TOTVS CRM > image-2024-7-24_9-50-56.png](/download/attachments/859057685/image-2024-7-24_9-50-56.png?version=1&modificationDate=1721825764607&api=v2)
Diagrama da integração TOTVS CRM → Exact Spotter
![Integrações > 7.1 - [TOTVS Corp] Exact Spotter - TOTVS CRM > image-2024-7-24_9-51-34.png](/download/attachments/859057685/image-2024-7-24_9-51-34.png?version=1&modificationDate=1721825764493&api=v2)
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:
![Integrações > 7.1 - [TOTVS Corp] Exact Spotter - TOTVS CRM > image-2024-7-24_14-18-25.png](/download/attachments/859057685/image-2024-7-24_14-18-25.png?version=1&modificationDate=1721841505587&api=v2)
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 |
É 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": "event.leadqualified",
"url": "URL do Webhook do serviço Lead Exact Spotter to TOTVS CRM"
}
Adicione uma conta no aplicativo TOTVS CRM:
|
|
|---|
Adicione uma conta no aplicativo Exact Sales:
|
|---|
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:
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:
Segue os valores a serem preenchidos:
| Tipo de variável | Projeto | Chave | Valor exemplo * | Descrição |
| Projeto | Standard-CRM-Spotter-PRODUCAO | raizoportunidade | Caminho da oportunidade no CRM | |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_activity_type | e225924b-4895-4793-8d89-998b5fc735fb | ID tipo de atividade Formulário de investigação no CRM |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_addresstypeid | b604f287-36bf-4e6d-ae83-c75c46a2fbeb | ID Tipo de endereço equivalente a PRINCIPAL no CRM |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_content_type | application/json | |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_customerpersontype | 8cea3c86-1984-4c77-acf5-3f622c1efe5b | ID tipo de pessoa equivalente a Física |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_customerpersontype_pj | 40694c1a-44f9-4c3b-a5a8-aa63e0742c75 | ID tipo de pessoa equivalente a Jurídica |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_customfield_concorrenteprincipalnaoportunidade | d236bab5-341e-4297-b57c-cd9c51015d27 | |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_customfield_origemdaoportunidade | f6444472-d47b-4b32-910b-ad1c1d1f46a8 | |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_customfield_produto | 281bdf94-b137-4bc2-b350-720688fc197c | |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_emailtypeid | 7391c70e-aeb8-4c68-bd5c-7b5d30cf4d1d | |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_exact_lead_sending_stage_trigger | 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 |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_expecteddays | 90 | Prazo de conclusão previsto da oportunidade, considere data atual + totvs_crm_expecteddays |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_identification_document_cnpj | 651b2c32-aeca-4373-9cb9-96b132ba5020 | ID do documento equivalente a CNPJ |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_identification_document_cpf | 95839570-6791-49f4-88fe-68efd115213d | ID do documento equivalente a CPF |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_leadoriginid | 81aed0c3-9fb9-4e4b-8a54-7c21c637c072 | ID origem equivalente a Spotter no CRM |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_oportunity_stage | 0. Passagem de Bastão | Descrição da etapa (stage) no CRM |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_oportunity_type | Spotter | Descrição do tipo de oportunidade no CRM |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_phonetypeid_main | d870427c-bbad-4eb8-9af5-5183b47f648f | ID tipo de telefone equivalente a PRINCIPAL |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_pipeline | SQL Macro | Vendas Novas, UP & Cross ESN | Descrição da pipeline |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_url | URL das APIs de integração do CRM | |
| Projeto | Standard-CRM-Spotter-PRODUCAO | totvs_crm_url_exact | URL do Exact Spotter |
* É 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.
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:
| Nome | Gatilho | Ação | Filtros | URL |
| Exact Spotter - Oportunidade Perdida | Oportunidade perdida | Chamar um endpoint HTTP remoto | Empresa = UNIDADE DA CORP AND ID Externo contém SPOTTER | URL do serviço do IPAAS Opportunity TOTVS CRM to Lead Exact Spotter |
| Exact Spotter - Oportunidade Ganha | Oportunidade ganha | Chamar um endpoint HTTP remoto | Empresa = UNIDADE DA CORP AND ID Externo contém SPOTTER | URL do serviço do IPAAS Opportunity TOTVS CRM to Lead Exact Spotter |
| Exact Spotter - Oportunidade Descartada | Oportunidade descartada | Chamar um endpoint HTTP remoto | Empresa = UNIDADE DA CORP AND ID Externo contém SPOTTER | URL do serviço do IPAAS Opportunity TOTVS CRM to Lead Exact 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:
| Coluna | Valor de exemplo | Observação |
|---|---|---|
| DIAGRAMA IPAAS | TSE004 - TOTVS MINAS GERAIS | Nome do diagrama inicial para cada unidade de negócio |
| CRM COMPANYID | ab58f2c6-3e15-46a1-88a2-bce7f3d3a1da | Identificador no CRM da unidade de negócio, cadastrado como empresa |
| CRM ROLE ID | ddf7aab8-d605-475e-99c4-d7af93259963 | Identificador no CRM do papel do usuário |
| CRM BEARER TOKEN | Bearer eH90dnNfcHJvZHVjYW86MGIwNzEwZWMtMGE5MC00OTQzLTg3MGMtZGE1M2M4NzUxZTk4OjFkZGM4NGEwLWRhY2EtNDU4ZC1iMTgzLTI3OTY1MzE2OFU2Ng== | Token do usuário de integração do TOTVS CRM |
| 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 Spotter |
| 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 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 Spotter |
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