Histórico da Página
Integração de Leads, Contatos, Oportunidades e Atividades do Exact Spotter para o TOTVS CRM
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.
Sistemas Envolvidos
- Exact Spotter
- iPaaSTOTVS IPAAS
- TOTVS CRM
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 usando a plataforma do TOTVS IPAAS, mediante pré requisitos e regras estabelecidas.
Escopo
Fluxo de dados do Exact Spotter para o CRM
Fluxo de dados do CRM para o Exact Spotter
Quando um lead/cliente é enviado ao TOTVS CRM?
Quando a reunião for agendada, ou seja, o lead/cliente entra na seção "Agendados" do funil, conforme imagem abaixo:
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 é agendado ou reagendado no Exact Spotter um evento é disparado para o IPAAS que integra as informações de Lead/Customer, Contact, Opportunity, Team Members, Activity-Default com o TOTVS CRM.
JSON de exemplo: json_lead_e_afins.txt
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 |
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 |
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 |
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 |
Activity (criada a partir do agendamento):
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 |
Activity (criada a qualquer momento após agendamento):
Toda vez que uma atividade é manipulada no Exact Spotter, um evento é disparado para o IPAAS que integra a mesma com o TOTVS CRM.
Quando a atividade for de origem Exact Spotter e a mesma for concluída ou cancelada no TOTVS CRM, essa atualização é enviada ao Exact Spotter.
JSON de exemplo: json_activity.txt
Exact Spotter | Formato | TOTVS CRM |
variável totvs_crm_activity_type | uuid | activityTypeId |
valor padrão false | boolean | allDay |
SPOTTER # Lead.SsnEin | uuid | customerId |
Lead.Atividade.title - Lead.Atividade.description | string | description |
data corrente + variável expecteddays | string(uuuu-MM-dd'T'HH:mm:ss.SSS'Z') | endDate |
SPOTTER # Lead.Atividade.leadId # Lead.Atividade.id | string | externalId |
SPOTTER # Lead.SsnEin | uuid | leadId |
Lead.Atividade.note | string | note |
valor padrão MEDIUM | string | priority |
data corrente | string(uuuu-MM-dd'T'HH:mm:ss.SSS'Z') | startDate |
Se Lead.Atividade.status = Planned activity Então OPEN Se Lead.Atividade.status = Delayed Então OPEN Senão SUCCESSFULLY_COMPLETED | string | status |
Lead.SalesRep.Email | uuid | userId |
Appointment.Reference | string | origin.description |
SPOTTER # Lead.SsnEin # Lead.Id | uuid | origin.id |
valor padrão OPPORTUNITY | string | origin.type |
Pré-requisitos Cliente
Pré-requisitos 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 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.schedule
{
"event": "event.schedule",
"url": "URL do Webhook do serviço Lead Exact Spotter to TOTVS CRM"
}
- event.reschedule
{
"event": "event.reschedule",
"url": "URL do Webhook do serviço Lead Exact Spotter to TOTVS CRM"
}
Para o serviço iPaaS IPAAS Activity Exact Spotter to TOTVS CRM:
- event.activitycreated
{
"event": "event.activitycreated",
"url": "URL do Webhook do serviço Activity Exact Spotter to TOTVS CRM"
}
- event.activitydeleted
{
"event": "event.activitydeleted",
"url": "URL do Webhook do serviço Activity Exact Spotter to TOTVS CRM"
}
- event.activitydone
{
"event": "event.activitydone",
"url": "URL do Webhook do serviço Activity Exact Spotter to TOTVS CRM"
}
- event.activityedited
{
"event": "event.activityedited",
"url": "URL do Webhook do serviço Activity Exact Spotter to 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.
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
Pré-requisitos iPaaS:
O primeiro passo é adicionar uma conta no aplicativo Exact SalesSpotter:
- Acesse o aplicativo Exact SalesSpotter
- Vá na aba Contas e clique em "Cadastrar Conta" e configure conforme a imagem abaixo:
O próximo passo é clonar do projeto padrão para a sua respectiva empresa no iPaaSIPAAS.
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
- Em seguida, procure pelo submenu "Variáveis" e selecione essa opção
- Procure o projeto clonado Standard - TOTVS CRM-SPOTTER
- Agora, você deve preencher os campos "Chave" e "Valor" para cada variável
Segue os valores a serem preenchidos:
Observação: É 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.
Tipo de variável | Projeto | Chave | Valor * | Descrição |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_exact_lead_sending_stage_trigger | Leia a descrição | 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 - TOTVS CRM-SPOTTER | raizoportunidade | Link padrão de oportunidades do TOTVS CRM | |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_leadsituationid | 1aa8633e-5ff3-4bc4-a7d5-1b63a879c4f2 | ID situação LEAD equivalente a ATIVO |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_phonetypeid_mobile | 67cd545a-cf05-441e-a0ec-635c44e60d41 | ID tipo de telefone equivalente a MÓVEL |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_stageid_qualificado | Leia a descrição | Preencher com o id da etapa de qualificado do Exact Spotter |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_phonetypeid_main | d870427c-bbad-4eb8-9af5-5183b47f648f | ID tipo de telefone equivalente a PRINCIPAL |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_addresstypeid | b604f287-36bf-4e6d-ae83-c75c46a2fbeb | ID Tipo de endereço equivalente a PRINCIPAL |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_default_user | Leia a descrição | Informar um e-mail existe existente no CRM para caso não seja encontrado o usuário responsável. OBS: este usuário deverá possuir um papel cadastrado, do contrário não será possível inserir o Lead/Cliente |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_pipeline | SQL - Sales Qualified Lead | Descrição da pipeline |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_oportunity_type | Nova venda | Descrição do tipo de oportunidade |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_oportunity_stage | Qualificados | Descrição da etapa (stage) |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_customerpersontype_pj | 40694c1a-44f9-4c3b-a5a8-aa63e0742c75 | ID tipo de pessoa equivalente a Jurídica |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_activity_type | e225924b-4895-4793-8d89-998b5fc735fb | ID tipo de atividade Formulário de investigação |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_token_exact | Leia a descrição | Token do Exact Spotter, localizado em: spotter/configuracoes/integracoes |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_leadoriginid | 81aed0c3-9fb9-4e4b-8a54-7c21c637c072 | ID origem equivalente a Spotter |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_preseller_default | Leia a descrição | Adicionar um e-mail padrão de um pré vendedor do Exact Spotter, para caso a integração não encontre o vendedor no TOTVS CRM. OBS: este pré vendedor deve ser cadastrado no TOTVS CRM |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_role_preseller | 417aeda6-f846-48bf-9f6c-23e1da9ce871 | ID do papel equivalente a Pré Vendedor |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_expecteddays | 7 | Prazo de conclusão da oportunidade, considere data atual + totvs_crm_expecteddays |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_identification_document_cnpj | 651b2c32-aeca-4373-9cb9-96b132ba5020 | ID do documento equivalente a CNPJ |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_identification_document_cpf | 95839570-6791-49f4-88fe-68efd115213d | ID do documento equivalente a CPF |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_lead_stage | 7a5600b1-7f7f-4460-853a-a8f2fb19b18e | ID da etapa do lead equivalente a Qualificado |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_content_type | application/json | - |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_emailtypeid | 7391c70e-aeb8-4c68-bd5c-7b5d30cf4d1d | ID tipo de e-mail |
Projeto | Standard - TOTVS CRM-SPOTTER | totvs_crm_customerpersontype | 8cea3c86-1984-4c77-acf5-3f622c1efe5b | ID tipo de pessoa equivalente a Física |
* É 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. (variável totvs_crm_default_user)
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 totvs_crm_preseller_default)
Crie os seguintes Workflows:
Nome | Gatilho | Ação | Filtros | URL |
Exact Spotter - Atividade Cancelada | Atividade cancelada | Chamar um endpoint HTTP remoto | - | URL do serviço do IPAAS Activity TOTVS CRM to Exact Spotter |
Exact Spotter - Atividade Concluída | Atividade concluída | Chamar um endpoint HTTP remoto | - | URL do serviço do IPAAS Activity TOTVS CRM to Exact Spotter |
Exact Spotter - Oportunidade Perdida | Oportunidade perdida | Chamar um endpoint HTTP remoto | Tipo de oportunidade igual a Nova venda | URL do serviço do IPAAS Opportunity TOTVS CRM to Lead Exact Spotter |
Exact Spotter - Oportunidade Ganha | Oportunidade ganha | Chamar um endpoint HTTP remoto | Tipo de oportunidade igual a Nova venda | URL do serviço do IPAAS Opportunity TOTVS CRM to Lead Exact Spotter |
Exact Spotter - Oportunidade Descartada | Oportunidade descartada | Chamar um endpoint HTTP remoto | Tipo de oportunidade igual a Nova venda | URL do serviço do IPAAS Opportunity TOTVS CRM to Lead Exact Spotter |
Exemplo do fluxo
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