Ação de IA do Salesforce Collect Leads
Neste guia, mostraremos como usar uma ação personalizada de IA para enviar novos leads e as transcrições de bate-papo do Social Intents para o Salesforce automaticamente quando um bate-papo for concluído ou quando suas regras de qualificação forem atendidas. Use as intenções de IA para qualificar e criar leads de forma inteligente diretamente no Salesforce. Não são necessários softwares ou conectores adicionais.
O que essa integração de IA do Salesforce faz
Quando seu bot identifica um visitante qualificado, ele cria um lead no Salesforce e inclui a transcrição do bate-papo. Você pode implementar isso de duas maneiras: Web-to-Lead (mais simples) ou a API REST do Salesforce (recomendada para escala e registros mais ricos, como tarefas ou arquivos).
Pré-requisitos
- Conta de intenções sociais com ações de IA.
- Para Web-to-Lead: sua ID de organização do Salesforce.
- Para API REST: um Salesforce Connected App e um token de acesso (por exemplo, via Credenciais do Cliente ou JWT). Armazene o token no Social Intents como um segredo.
Dados que você coletará no chat
Configure sua IA para capturar: nome, sobrenome, e-mail, telefone, empresa e contexto opcional, como URL da página ou campanha. A transcrição pode ser enviada como uma descrição, anexada como uma tarefa ou carregada como um arquivo com a opção REST.
Adicionar uma ação personalizada em Social Intents
Crie uma nova ação personalizada → Chamar solicitação de API. Dê a ela um nome descritivo (por exemplo, create_salesforce_lead) e defina quando acionar (por exemplo, no final do chat).
Opção A - Web-to-Lead (configuração mais rápida)
- Tipo de ação: Acionamento automático no final do bate-papo
- Método da API: POST
- URL do ponto de extremidade:
https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8
- Tipo de conteúdo:
application/x-www-form-urlencoded
- Campos obrigatórios:
oid
(Org Id) esobrenome
ouempresa
POST https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8
Content-Type: application/x-www-form-urlencoded
oid=YOUR_ORG_ID
&last_name={{lastName}}
&first_name={{firstName}}
&email={{email}}
&phone={{phone}}
&company={{company|Website Visitor}}
&lead_source=Chat
&description={{transcript}}
Use essa opção quando quiser uma integração rápida e sem autenticação. Se precisar exceder os limites diários de Web-to-Lead ou anexar registros mais ricos, use a Opção B.
Opção B - API REST do Salesforce (recomendado)
Crie o lead via REST e, opcionalmente, adicione a transcrição como uma tarefa (simples e pesquisável) ou carregue-a como um arquivo. Adicione um cabeçalho Authorization com seu token Bearer e defina Content-Type como application/json.
B1) Criar lead
POST https://YOUR_INSTANCE.salesforce.com/services/data/v60.0/sobjects/Lead
Authorization: Bearer {{secrets.salesforceAccessToken}}
Content-Type: application/json
{
"LastName": "{{lastName}}",
"FirstName": "{{firstName}}",
"Company": "{{company|Website Visitor}}",
"Email": "{{email}}",
"Phone": "{{phone}}",
"LeadSource": "Chat",
"Description": "Chat ended on {{endedAt}} via {{widgetName}}"
}
B2) Anexe a transcrição como uma tarefa
POST https://YOUR_INSTANCE.salesforce.com/services/data/v60.0/sobjects/Task
Authorization: Bearer {{secrets.salesforceAccessToken}}
Content-Type: application/json
{
"WhoId": "{{tools.createLead.id}}",
"Subject": "Chat Transcript",
"Status": "Completed",
"Priority": "Normal",
"Description": "{{transcript}}"
}
B3) (Opcional) Fazer upload da transcrição como um arquivo
POST https://YOUR_INSTANCE.salesforce.com/services/data/v60.0/sobjects/ContentVersion
Authorization: Bearer {{secrets.salesforceAccessToken}}
Content-Type: application/json
{
"Title": "Chat_Transcript_{{chatId}}",
"PathOnClient": "transcript_{{chatId}}.txt",
"VersionData": "{{base64(transcript)}}"
}
POST https://YOUR_INSTANCE.salesforce.com/services/data/v60.0/sobjects/ContentDocumentLink
Authorization: Bearer {{secrets.salesforceAccessToken}}
Content-Type: application/json
{
"ContentDocumentId": "{{tools.uploadTranscript.ContentDocumentId}}",
"LinkedEntityId": "{{tools.createLead.id}}",
"ShareType": "V"
}
Configurações de intenções sociais recomendadas
- Acionador: Quando o chat termina (ou condicional com base na qualificação do lead).
- Colete insumos:
firstName
,lastName
,e-mail
,telefone
,empresa
,transcrição
,widgetName
,endedAt
. - Segredos: loja
salesforceAccessToken
(opção REST). - Para encadeamento REST: salve o Lead retornado
id
da primeira chamada e o referencia na segunda ação por meio de{{tools.createLead.id}}
.
Exemplos de casos de uso
Sempre crie um lead ao concluir o bate-papo
Configure a ação para ser executada automaticamente quando um bate-papo terminar, para que cada conversa seja capturada no Salesforce com sua transcrição. Essa é a configuração mais infalível para equipes que desejam cobertura completa do chat para o CRM.
Configurações de intenções sociais
- Acionador: Quando o bate-papo termina
- Nome da ação:
criar_salesforce_lead
- Insumos coletados:
firstName
,lastName
,e-mail
,telefone
,empresa
,transcrição
,widgetName
,endedAt
- Segredos:
salesforceAccessToken
(se estiver usando a API REST)
Opção A - Web-to-Lead (sem autenticação)
Cria um lead e armazena a transcrição do chat no campo Descrição.
POST https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8
Content-Type: application/x-www-form-urlencoded
oid=YOUR_ORG_ID
&last_name={{lastName}}
&first_name={{firstName}}
&email={{email}}
&phone={{phone}}
&company={{company|Website Visitor}}
&lead_source=Chat
&description={{transcript}}
Dica: Adicione campaign_id=YOUR_CAMPAIGN_ID
para atribuir chats a campanhas.
Opção B - API REST (recomendada)
Crie o lead e, em seguida, registre a transcrição como uma tarefa concluída para um melhor acompanhamento da atividade.
B1) Criar lead
POST https://YOUR_INSTANCE.salesforce.com/services/data/v60.0/sobjects/Lead
Authorization: Bearer {{secrets.salesforceAccessToken}}
Content-Type: application/json
{
"LastName": "{{lastName}}",
"FirstName": "{{firstName}}",
"Company": "{{company|Website Visitor}}",
"Email": "{{email}}",
"Phone": "{{phone}}",
"LeadSource": "Chat",
"Description": "Chat ended on {{endedAt}} via {{widgetName}}"
}
B2) Criar tarefa com transcrição
POST https://YOUR_INSTANCE.salesforce.com/services/data/v60.0/sobjects/Task
Authorization: Bearer {{secrets.salesforceAccessToken}}
Content-Type: application/json
{
"WhoId": "{{tools.createLead.id}}",
"Subject": "Chat Transcript",
"Status": "Completed",
"Priority": "Normal",
"Description": "{{transcript}}"
}
Aprimoramentos opcionais
- Encaminhamento do proprietário: Conjunto
OwnerId
no Lead (REST) com base na região ou no produto coletado no chat. - Eliminação de duplicação: Use o processo/fluxo ou regras de correspondência para mesclar leads por e-mail.
- Arquivos em vez de Descrição: Carregue a transcrição como um arquivo via
Versão do conteúdo
e vinculá-lo aContentDocumentLink
.
Criar um lead somente para visitantes qualificados
Adicione verificações de intenção e qualificação em seu fluxo de IA. Acione a ação somente quando o visitante corresponder aos seus critérios (por exemplo, orçamento >= limite, tamanho da empresa, território, intenção de demonstração, e-mail de trabalho etc.).
Lógica de qualificação (exemplo)
Em seu fluxo de bot, reúna campos como useCase
, companySize
, país
, e-mail
e intenção
.
Em seguida, defina uma condição para executar a ação do Salesforce somente quando as regras forem atendidas.
// Pseudocode for your bot's conditional action
IF intent == "book_demo"
AND companySize >= 50
AND email CONTAINS "@"
AND NOT email ENDSWITH ".edu" OR ".gmail.com"
THEN run create_salesforce_lead
ELSE continue chat and offer resources
Carga útil Web-to-Lead (somente quando qualificado)
POST https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8
Content-Type: application/x-www-form-urlencoded
oid=YOUR_ORG_ID
&last_name={{lastName}}
&first_name={{firstName}}
&email={{email}}
&company={{company}}
&lead_source=Chat - Qualified
&description=Intent: {{intent}} | Use case: {{useCase}} | Size: {{companySize}} | Transcript: {{transcript}}
Considere adicionar campos ocultos como utm_source
, utm_campaign
ou page_url
para atribuição.
Cargas de API REST (somente quando qualificadas)
B1) Criar um lead com campos de qualificação
POST https://YOUR_INSTANCE.salesforce.com/services/data/v60.0/sobjects/Lead
Authorization: Bearer {{secrets.salesforceAccessToken}}
Content-Type: application/json
{
"LastName": "{{lastName}}",
"FirstName": "{{firstName}}",
"Company": "{{company}}",
"Email": "{{email}}",
"Phone": "{{phone}}",
"LeadSource": "Chat - Qualified",
"Description": "Intent={{intent}} | UseCase={{useCase}} | Size={{companySize}} | From={{pageUrl}}"
}
B2) Adicionar transcrição como tarefa (opcional)
POST https://YOUR_INSTANCE.salesforce.com/services/data/v60.0/sobjects/Task
Authorization: Bearer {{secrets.salesforceAccessToken}}
Content-Type: application/json
{
"WhoId": "{{tools.createLead.id}}",
"Subject": "Qualified Chat Transcript",
"Status": "Completed",
"Priority": "Normal",
"Description": "{{transcript}}"
}
Opcional: rota e pontuação
- Roteamento do território: Conjunto
OwnerId
por país/região coletados no chat. - Pontuação MQL: Incluir um
Pontuação do Chat__c
campo personalizado derivado de intent/size/keywords. - Interesse pelo produto: Captura
Produto__c
(por exemplo, "Service Cloud") da conversa para relatórios e cadências.
- Teste um caminho qualificado e um não qualificado.
- Verificar se os leads são criados somente quando as regras coincidem.
- Confirme se o conteúdo da transcrição é exibido (Tarefa ou Descrição).
- Assegure-se de que qualquer vínculo de proprietário/atribuição ou campanha funcione conforme o esperado.