Agente de Contato CRM do Jitterbit
Visão geral
O Jitterbit fornece o Agente de Contato CRM aos clientes através do Jitterbit Marketplace. Este agente usa IA para gerenciar registros de contato em sistemas CRM como Salesforce através de uma interface conversacional, ajudando equipes de vendas a encontrar, criar e atualizar contatos com mais eficiência. O agente utiliza a técnica de Geração Aumentada por Recuperação (RAG), que combina raciocínio de LLM com acesso a ferramentas e fontes de dados externas.
O agente recebe solicitações em linguagem natural através do Slack e determina a intenção do usuário usando Azure OpenAI. Com base em cada solicitação, o agente pesquisa contatos existentes no Salesforce, recupera dados de contato de ZoomInfo e realiza operações de criação ou atualização no Salesforce mediante aprovação do usuário. O agente mantém o histórico de conversa no Jitterbit Cloud Datastore para fornecer respostas contextualmente relevantes durante uma sessão.
O agente executa as seguintes tarefas:
- Recebe solicitações em linguagem natural de usuários através do Slack.
- Usa Azure OpenAI para extrair o nome da conta e determinar a intenção de cada solicitação.
- Pesquisa contatos existentes no Salesforce associados à conta especificada.
- Consulta ZoomInfo para dados de contato ainda não presentes no Salesforce, incluindo títulos de cargo, números de telefone e endereços de e-mail.
- Compara registros de contato do Salesforce com dados do ZoomInfo para identificar informações desatualizadas ou faltando.
- Apresenta listas de contatos e recomendações de atualização ao usuário no Slack para aprovação antes de fazer alterações no Salesforce.
- Cria ou atualiza registros de contato no Salesforce mediante aprovação do usuário.
- Armazena o histórico de conversa no Cloud Datastore para manter o contexto entre mensagens dentro de uma janela de sessão de 30 minutos.
- Envia notificações do Slack para um canal de alertas de vendas configurado quando um contato é identificado como não mais vinculado à empresa.
Este documento explica como configurar e operar este agente de IA. Ele cobre arquitetura e pré-requisitos, orientação sobre como fazer prompts ao agente e etapas para instalar, configurar e operar o agente de IA.
Arquitetura do agente de IA
Este agente de IA gerencia contatos do Salesforce através de uma interface conversacional do Slack. Uma interação típica segue estas etapas:
- Um usuário envia uma mensagem em linguagem natural ao Agente de Contato CRM através do Slack.
- O agente recupera o histórico de conversa do Cloud Datastore para manter o contexto da sessão, depois chama Azure OpenAI para extrair o nome da conta da solicitação.
- O agente consulta o Salesforce para validar o nome da conta e recuperar o ID da conta do Salesforce.
- O agente chama Azure OpenAI uma segunda vez, com ferramentas disponíveis, para determinar a intenção do usuário e selecionar a ferramenta apropriada para executar.
- A ferramenta selecionada consulta Salesforce e ZoomInfo conforme necessário para coletar dados de contato.
- Para operações que criam ou atualizam contatos, o agente apresenta um resumo ao usuário no Slack e aguarda aprovação antes de tomar uma ação no Salesforce.
- O agente chama Azure OpenAI sem ferramentas para formatar a resposta final usando um prompt específico do contexto, depois publica a resposta de volta ao usuário no Slack.
- O histórico de conversa é salvo no Cloud Datastore para uso em mensagens subsequentes dentro da mesma sessão.
Diagrama de fluxo de trabalho
O diagrama a seguir mostra o fluxo de trabalho principal de manipulação de solicitações para o Agente de Contato CRM.
Jitterbit
CRM Contact Agent" } SLK[fab:fa-slack
Slack] SF[fab:fa-salesforce
Salesforce] ZI[ZoomInfo API] AZR[Azure OpenAI REST call] AZM@{ shape: hex, label: "Azure OpenAI model" } CD@{ shape: hex, label: "fas:fa-database
Cloud Datastore" } SLK -->|1. User request| JSP JSP <-->|2. Session history| CD JSP <-->|3. Account lookup| SF JSP -->|4. Conversation and prompt| AZR AZR --> AZM AZM --> AZR AZR -->|5. Intent + tool selection| JSP JSP <-->|6. Contact data| SF JSP <-->|7. Contact data| ZI JSP -->|8. Response| SLK
Pré-requisitos
Você precisa dos seguintes componentes para usar este agente de IA.
Componentes do Harmony
Você deve ter uma licença do Jitterbit Harmony com acesso aos seguintes componentes:
- Jitterbit Studio.
- Jitterbit Cloud Datastore para armazenar histórico de conversa e dados de contato em preparo.
- Agente de Contato CRM do Jitterbit adquirido como complemento de licença.
Endpoints suportados
O agente de IA se conecta aos seguintes endpoints. Você pode adaptar outros sistemas modificando as configurações de endpoints e workflows do projeto.
Modelo de linguagem grande (LLM)
O agente de IA usa Azure OpenAI como provedor de LLM. Para usar Azure OpenAI, você precisa de uma assinatura do Microsoft Azure com permissões para criar um recurso Azure OpenAI com um modelo implantado.
Dica
Para informações de preços, consulte a página de preços do Azure OpenAI.
Sistema CRM
O agente consulta e atualiza registros de contatos no Salesforce. Para usar Salesforce, você precisa de uma conta Salesforce com acesso à API e permissões para ler e escrever registros de contatos.
Provedor de dados de contatos
O agente recupera dados de contatos do ZoomInfo para complementar registros Salesforce existentes. Para usar ZoomInfo, você precisa de uma conta ZoomInfo com credenciais de acesso à API.
Plataforma de mensagens
O agente usa Slack como sua interface conversacional e canal de notificações. Para usar Slack, você precisa de um workspace Slack com um app Slack configurado para receber e responder mensagens. Para instruções detalhadas sobre como criar um app Slack, consulte Criar um app Slack.
Prompts do agente
O Agente de Contato CRM recebe todas as solicitações como mensagens em linguagem natural enviadas para o app Slack. Esta seção descreve as regras para prompts eficazes e fornece exemplos de prompts.
Diretrizes de prompts
Siga estas diretrizes ao enviar mensagens para o agente:
-
Inclua o nome da conta em cada prompt. O LLM tenta inferir o nome da conta do histórico de conversas (limpo a cada 30 minutos), mas incluí-lo explicitamente em cada mensagem produz resultados mais confiáveis.
-
Para criar novos contatos, você deve primeiro pedir ao agente que os encontre usando um prompt de Novos contatos. O agente apresenta uma lista de contatos para aprovação antes de criar registros no Salesforce.
-
Para atualizar contatos existentes, você deve primeiro executar uma verificação de atualização usando um prompt de Higiene de dados e atualizações. O agente apresenta recomendações de atualização para sua aprovação antes de escrever as alterações no Salesforce.
Exemplos de prompts
Os seguintes exemplos de prompts mostram os tipos de prompts que o agente pode manipular. Substitua {Account Name} pelo nome da conta Salesforce e {list of roles} por uma lista separada por vírgulas de títulos de cargos relevantes.
Novos contatos
Use estes prompts para encontrar e criar novos contatos para uma conta usando dados do ZoomInfo:
Prompts
Find New Contacts for Account - {Account Name}Find New Contacts for Account - {Account Name}, only include contacts with roles related to {list of roles}Create new contacts for account - {Account Name}
Higiene de dados e atualizações
Use estes prompts para identificar dados de contato desatualizados ou ausentes e aplicar atualizações:
Prompts
Run a hygiene check for Account - {Account Name}Run an update for existing contacts for account - {Account Name}
Contatos existentes
Use estes prompts para pesquisar e relatar contatos já no Salesforce:
Prompts
Find Existing Contacts for Account - {Account Name}Find last 3 contacts created for Account - {Account Name}When was the last time we spoke with a contact from {Account Name}Flag contacts with no activity in Salesforce for account {Account Name}Find any duplicate contacts for account - {Account Name}Find contacts missing titles, emails, phone numbers for account - {Account Name}Compare Salesforce contacts against ZoomInfo for account - {Account Name}Locate a contact for account {Account Name} that we usually reach out to
Prompts de acesso especial
Os seguintes prompts exigem acesso em nível de administrador, conforme configurado no script set.user.roles. Essas operações consomem créditos do ZoomInfo da sua cota de conta:
Prompts
Run an enriched hygiene check for Account - {Account Name}Enrich missing phone numbers for account - {Account Name}
Instalação, configuração e operação
Siga estas etapas para instalar, configurar e operar este agente de IA:
- Baixar e instalar o projeto
- Criar recursos do Microsoft Azure
- Criar o app do Slack
- Verificar a URL de requisição do Slack
- Configurar Cloud Datastore
- Configurar variáveis do projeto
- Testar conexões
- Implantar o projeto
- Atualizar a API customizada do Jitterbit
- Analisar workflows do projeto
- Disparar os workflows do projeto
Para orientação sobre solução de problemas, consulte Solução de problemas.
Baixar e instalar o projeto
Siga estas etapas para instalar o projeto do Studio para o agente de IA:
-
Faça login no portal Harmony em https://login.jitterbit.com e abra o Marketplace.
-
Localize o agente de IA chamado Jitterbit CRM Contact Agent. Para localizá-lo, use a barra de pesquisa ou, no painel Filters, em Type, selecione AI Agent para limitar a exibição apenas aos agentes de IA.
-
Clique no link Documentation do agente para abrir sua documentação em uma guia separada. Mantenha a guia aberta para consultá-la depois de iniciar o projeto.
-
Clique em Start Project para abrir um diálogo de configuração com duas etapas.
Nota
Se você ainda não adquiriu o agente de IA, Get agent será exibido. Clique nele para abrir um diálogo informativo e, em seguida, clique em Submit para que um representante entre em contato com você sobre a compra do agente de IA.
-
Na etapa de configuração 1, Download Customizations, baixe todos os arquivos de configuração fornecidos.
-
Clique em Next.
-
Na etapa de configuração 2, Create a New Project, selecione um ambiente onde o projeto do Studio será criado e clique em Create Project.
-
Após o diálogo de progresso indicar que o projeto foi criado, use o link do diálogo Go to Studio ou abra o projeto diretamente da página Projects do Studio.
Criar recursos do Microsoft Azure
Crie os seguintes recursos do Microsoft Azure e anote as informações para configurar o agente de IA. Para criar e gerenciar esses recursos, você deve ter uma assinatura do Microsoft Azure com as permissões apropriadas.
Você deve criar um recurso do Azure OpenAI e implantar um modelo através do portal do Azure AI Foundry.
Anote o nome da implantação, a URL do endpoint e a chave de API. Insira esses valores quando configurar variáveis do projeto.
Para encontrar esses valores, siga estas etapas:
-
No portal do Azure AI Foundry, abra o recurso específico do OpenAI.
-
Na página de destino do recurso, copie a URL do endpoint (para a variável do projeto
Openai.token) e a chave de API. -
No menu de navegação, em Shared resources, selecione Deployments. Copie o nome da implantação (para a variável do projeto
Openai.model).
Criar o app do Slack
Para ativar a interface do Slack do agente, siga estas etapas:
-
Crie um app do Slack e instale-o ao seu workspace do Slack.
-
Obtenha o token do bot e retenha-o para a variável do projeto
Slack.token. -
Identifique o canal do Slack onde o agente responderá às mensagens do usuário e retenha-o para a variável do projeto
Slack.channel. -
Identifique o canal do Slack designado para receber notificações do executivo de contas e retenha-o para a variável de projeto
salesforce.sales.alerts.channel.
Verificar a URL de solicitação do Slack
Após criar o app do Slack, é necessário passar por um desafio de verificação de URL do Slack na página Event Subscriptions. O projeto inclui uma operação chamada Slack Enable para lidar com essa verificação. Para passar no desafio, implante o projeto e crie uma API customizada temporária apontando para a operação Slack Enable. Depois que a URL for verificada, conclua as etapas restantes de configuração e atualize a API para apontar para o manipulador de solicitação final.
Siga estas etapas para verificar a URL de solicitação do Slack:
-
Implante o projeto do Studio. Para implantar o projeto, use o menu de ações do projeto e selecione Deploy.
-
Crie uma API customizada para a operação Slack Enable usando estas configurações:
Configuração Valor Nome do serviço slackApiRequestHandlerOperação Slack Enable Caminho /slackApiRequestHandlerMétodo POSTTipo de resposta System VariableApós configurar o serviço, publique a API customizada.
-
Copie a URL do serviço de API. Para encontrar a URL do serviço, acesse a gaveta de detalhes da API na aba Services, passe o mouse sobre a coluna Actions do serviço e clique em Copy API service URL.
-
Na configuração do seu app do Slack, navegue até Features > Event Subscriptions e ative eventos. Cole a URL do serviço de API no campo Request URL. O Slack envia um desafio de verificação e uma mensagem de sucesso confirma que a URL foi verificada. Clique em Save Changes.
-
Continue com as etapas restantes de configuração. Após concluí-las, atualize a API customizada para apontar para a operação Receiver - Slack API request handler em Update the Jitterbit custom API.
Configurar Cloud Datastore
O agente usa três armazenamentos de chaves do Cloud Datastore para gerenciar o histórico de conversas e dados de contatos em estágio:
| Armazenamento de chaves | Finalidade |
|---|---|
| Slack agent AI | Armazena o histórico de conversas para cada usuário do Slack. |
| Contact cache | Coloca em estágio dados de contato quando um usuário aprova uma ação de criação ou atualização. |
| LLM token cost | Registra o uso de tokens para cada chamada de API do Azure OpenAI. |
Para cada armazenamento de chaves, siga estas etapas:
- Crie o armazenamento de chaves com o nome e os campos personalizados especificados abaixo. Os campos
Key,AlternativeKeyeValueestão presentes por padrão. - Na aba Components do projeto do Studio em Endpoints, localize cada atividade do Cloud Datastore associada a esse armazenamento. Cada atividade é prefixada com o nome do armazenamento de chaves (por exemplo,
CONTACT CACHE - Delete Items Cache CDS). Clique duas vezes para abrir, atribua o nome do armazenamento e salve.
Slack agent AI
Crie um armazenamento de chaves nomeado Slack agent AI. Adicione os seguintes campos personalizados:
| Nome do campo | Tipo | Descrição |
|---|---|---|
Key |
Text | Preenchido automaticamente. O identificador da sessão de conversa para o usuário do Slack. |
AlternativeKey |
Text | Não utilizado. |
Value |
Text | Não utilizado. |
system_content_big |
Big Text | O conteúdo do prompt do sistema LLM para a conversa. |
created_on |
Text | Preenchido automaticamente. O timestamp quando o registro do histórico de conversas foi criado. |
slack_channel_id |
Text | O ID do canal do Slack associado à conversa. |
user_content |
Text | O conteúdo da mensagem do usuário. |
Use este armazenamento para todas as atividades do Cloud Datastore prefixadas com SLACK AGENT AI.
Cache de contatos
Crie um armazenamento de chave denominado Cache de contatos. Adicione os seguintes campos personalizados:
| Nome do campo | Tipo | Descrição |
|---|---|---|
Key |
Texto | Preenchido automaticamente. O ID da conta do Salesforce associado aos dados de contato preparados. |
AlternativeKey |
Texto | Não utilizado. |
Value |
Texto | Não utilizado. |
create_or_update |
Texto | Indica se os dados preparados destinam-se a uma ação de criação ou atualização de contato. |
jsonbody |
Texto grande | Os dados brutos do contato recuperados do ZoomInfo ou Salesforce, em formato JSON. |
contactbody |
Texto grande | A lista de contatos estruturada apresentada ao usuário para aprovação. |
Use este armazenamento para todas as atividades do Cloud Datastore prefixadas com CONTACT CACHE.
Custo de token do LLM
Crie um armazenamento de chave denominado Custo de token do LLM. Adicione os seguintes campos personalizados:
| Nome do campo | Tipo | Descrição |
|---|---|---|
Key |
Texto | Preenchido automaticamente. Um identificador para a chamada da API do Azure OpenAI. |
AlternativeKey |
Texto | Não utilizado. |
Value |
Texto | Não utilizado. |
total_tokens |
Texto | O número total de tokens usados na chamada da API. |
prompt_tokens |
Texto | O número de tokens usados no prompt. |
completion_tokens |
Texto | O número de tokens usados na conclusão. |
createdDate |
Texto | Preenchido automaticamente. O timestamp de quando o registro de uso de token foi criado. |
content |
Texto grande | O conteúdo da chamada da API, registrado para rastreamento de uso de token. |
Use este armazenamento para todas as atividades do Cloud Datastore prefixadas com LLM TOKEN COST.
Configurar variáveis do projeto
No projeto do Studio instalado do Marketplace, defina valores para as seguintes variáveis do projeto.
Para configurar variáveis do projeto, use o menu de ações do projeto e selecione Variáveis do projeto para abrir o painel de configuração.
ZoomInfo
| Nome da variável | Descrição |
|---|---|
zoom.username |
Nome de usuário da conta da API do ZoomInfo. |
zoom.password |
Senha da conta da API do ZoomInfo. |
Salesforce
| Nome da variável | Descrição |
|---|---|
salesforce.username |
Nome de usuário da instância do Salesforce. |
salesforce.url |
URL da instância do Salesforce. |
salesforce.token |
Token de segurança da conta do Salesforce. |
salesforce.password |
Senha da instância do Salesforce. |
salesforce.sales.alerts.channel |
Canal do Slack que recebe notificações quando um contato vinculado a uma conta do Salesforce já não está na empresa. |
Slack
| Nome da variável | Descrição |
|---|---|
slack.token |
O token do bot do Slack obtido após criar o app do Slack, usado para o campo Bot User OAuth Token da conexão do Slack. |
slack.channel |
Canal do Slack onde o agente ouve e responde às mensagens do usuário. |
slack.bot.userId |
O ID de usuário do seu bot do Slack. Usado para filtrar as próprias chamadas de API do bot dos logs de eventos do Slack. |
Azure OpenAI
| Nome da variável | Descrição |
|---|---|
openai.token |
Chave de API usada para autenticar solicitações ao serviço Azure OpenAI. |
openai.temperature |
Controla a aleatoriedade da saída do modelo. Defina como 1 ao usar o modelo o4-mini. Caso contrário, use um valor de 0.5 ou inferior para respostas mais consistentes. |
openai.model |
Nome de implantação do modelo Azure OpenAI a ser usado. |
Cloud Datastore
| Nome da variável | Descrição |
|---|---|
clouddatastore.token |
Token de autenticação do Cloud Datastore, obtido na página Access Tokens do Console de Gerenciamento. |
Configurações de conversa
| Nome da variável | Descrição |
|---|---|
cleanup.historytime |
Duração em segundos que o histórico de conversa é retido antes da limpeza. O padrão é 1800 (30 minutos). Valores mais longos enviam mais contexto ao LLM por solicitação. |
Testar conexões
Teste as configurações do endpoint para verificar a conectividade usando os valores de variáveis de projeto definidos.
Para testar conexões, acesse a aba Endpoints e conectores do projeto na paleta de componentes de design, passe o mouse sobre cada endpoint e clique em Testar.
Implantar o projeto
Implante o projeto do Studio.
Para implantar o projeto, use o menu ações do projeto e selecione Implantar.
Atualizar a API personalizada do Jitterbit
Atualize a API personalizada criada em Verificar a URL de solicitação do Slack para usar a operação Receiver - Slack API request handler no fluxo de trabalho Main Entry - Slack API Request Handler.
Atualize essas configurações do serviço:
| Configuração | Valor |
|---|---|
| Nome do serviço | slackApiRequestHandler |
| Operação | Receiver - Slack API request handler |
| Caminho | /slackApiRequestHandler |
| Método | POST |
| Tipo de resposta | System Variable |
Após atualizar o serviço, publique a API personalizada.
Dica
Você também pode adicionar um perfil de segurança para autenticação.
Revisar fluxos de trabalho do projeto
O projeto do Studio contém 18 fluxos de trabalho que implementam a funcionalidade do CRM Contact Agent, organizados em cinco grupos funcionais.
Ponto de entrada
| Fluxo de trabalho | Descrição |
|---|---|
| Main Entry - Slack API Request Handler | Recebe mensagens de Slack recebidas e inicia o script do controlador principal. |
Ponto de entrada principal - Slack API Request Handler
Este workflow recebe mensagens do Slack e executa o script do controlador principal (controller.receiver.async). O controlador orquestra todo o processo de tratamento de requisições: recupera o histórico de conversa do Cloud Datastore, chama o Azure OpenAI para extrair o nome da conta e determinar a intenção, roteia a requisição para a ferramenta apropriada, formata a resposta do LLM e publica o resultado de volta ao usuário do Slack.
Integrações de API
| Workflow | Descrição |
|---|---|
| API - Slack Handler | Gerencia todas as interações com a API do Slack, incluindo publicação de mensagens e exclusão de indicadores de digitação. |
| API - Azure Open AI | Contém ambos os tipos de chamadas de API do Azure OpenAI: com ferramentas para detecção de intenção e sem ferramentas para formatação de resposta. |
| API - Zoom Info | Hospeda operações de API do ZoomInfo para busca de contatos, autenticação e recuperação de dados de contatos. |
API - Slack Handler
Este workflow contém todas as operações de API do Slack usadas pelo agente, incluindo consulta do perfil do Slack do usuário, publicação de um indicador de "digitando...", publicação da resposta final e exclusão do indicador de digitação após o envio da resposta.
API - Azure Open AI
Este workflow contém dois tipos de chamadas de API do Azure OpenAI:
- Open AI - Prompt HTTP With Tools: Envia uma requisição ao Azure OpenAI com uma lista de ferramentas disponíveis. Esta chamada é usada para extrair o nome da conta da mensagem do usuário e para determinar a intenção da requisição.
- Open AI - Prompt HTTP No Tools: Envia uma requisição ao Azure OpenAI sem ferramentas, após a ferramenta selecionada ter coletado todos os dados necessários. Esta chamada gera a resposta final pronta para o Slack usando um prompt específico do contexto.
As duas chamadas usam históricos de conversa separados. A chamada de determinação de intenção usa o histórico específico da conta, enquanto a chamada de extração do nome da conta usa o histórico completo da conversa. Esta separação mantém o contexto enviado ao LLM focado e reduz o uso desnecessário de tokens.
API - Zoom Info
Este workflow hospeda todas as operações de API do ZoomInfo. As operações são organizadas por tipo de dados em vez de por ferramenta, tornando-as reutilizáveis em múltiplas ferramentas. Todas as operações do ZoomInfo exigem que você configure a variável de projeto core.zoom.resource com um valor válido. Os valores válidos a partir de março de 2026 são contact, authenticate, enrich_contact e scoop.
O script core.Load Zoom API Resource centraliza todas as URLs de base de API e objetos web, tornando simples alternar para um provedor diferente de dados de contato, se necessário. Todas as chamadas de dados de contato compartilham a atividade padrão POST do ZoomInfo. A chamada de autenticação usa uma atividade separada.
Memória e estado
| Workflow | Descrição |
|---|---|
| Memory - Cloud Datastore | Gerencia operações de leitura e escrita do Cloud Datastore para histórico de conversa e dados de staging de contatos. |
| Conversation Cleanup Controller | Remove o histórico de conversa anterior ao limite cleanup.historytime configurado. |
| Scheduler Task Manager | Gerencia operações configuradas para serem executadas de acordo com um cronograma. |
Memory - Cloud Datastore
Este fluxo de trabalho gerencia quatro tipos de operações do Cloud Datastore distribuídas em três armazenamentos do Cloud Datastore:
- Get Account Specific Slack History: Recupera o histórico de conversa para uma conta específica do Salesforce, fornecendo ao LLM um contexto focado relevante para a solicitação atual.
- Get Master Slack History: Recupera o histórico completo de conversa do usuário do Slack. O agente usa isso apenas ao chamar o LLM para extrair o nome da conta.
- Cache Last Message Controller: Armazena dados de contato logo antes de uma ação de criação ou atualização ser aprovada. O agente indexa dados por uma combinação do ID do usuário do Slack e do ID da conta do Salesforce, garantindo que a lista de contatos correta seja referenciada quando o usuário aprova uma ação. Se a chave armazenada no cache não corresponder à conta atualmente referenciada, o agente relata uma incompatibilidade e não prossegue.
- Store Token Costs to Cache: Registra o uso de tokens de cada chamada da API do Azure OpenAI para revisão do cliente e relatório de custos.
Conversation Cleanup Controller
Este fluxo de trabalho remove o histórico de conversa que excede o limite de cleanup.historytime. Quando o LLM recebe mais dados de conversa do que consegue processar efetivamente, pode ser incapaz de determinar a intenção da solicitação atual. Neste caso, o agente reduz a janela de histórico para 10 minutos e pede ao usuário que reenvie o prompt.
Scheduler Task Manager
Este fluxo de trabalho gerencia qualquer operação configurada para executar em cronogramas de operação.
Duas operações têm requisitos de agendamento específicos:
-
Conversation Cleanup Controller: Agende para executar no mínimo a cada 5 minutos. Isso controla com que proximidade a retenção real corresponde ao limite de
cleanup.historytime. Quanto menos frequentemente executar, mais tempo o histórico pode persistir além do limite configurado. -
Account Executive Notifications: Agende para executar uma vez por dia. A consulta padrão está limitada aos dados desse dia, portanto executar mais de uma vez retorna duplicatas.
Para configurar um cronograma, abra o menu de ações da operação e selecione Settings > Schedules.
Utilities
| Workflow | Description |
|---|---|
| Utility Tools | Contém scripts utilitários reutilizáveis para pesquisas de contas do Salesforce e verificações de comunicação por email. |
| Tools Supervisor | Roteia solicitações para o fluxo de trabalho de ferramenta apropriado com base na intenção retornada pelo Azure OpenAI. |
Utility Tools
Este fluxo de trabalho contém scripts utilitários reutilizáveis que podem ser chamados em vários fluxos de trabalho de ferramentas:
Utility- Get Account id from Salesforce: Pesquisa um ID de conta do Salesforce pelo nome da conta.Utility- Check for Email COMs by Name: Pesquisa no Salesforce conversas por email pelo nome e domínio do contato. Requer que um nome de contato e domínio sejam definidos como argumentos antes de o script ser chamado.Utility- Get Number of Contacts for SF Account: Retorna o número de contatos associados a uma conta do Salesforce. Este utilitário não está sendo usado atualmente.Utility- Check Empty Email Contacts: Itera por um dicionário de contatos que não possuem endereço de email no Salesforce e chama a verificação de comunicações por email para cada um, pesquisando qualquer atividade de email relacionada.
Tools Supervisor
Este fluxo de trabalho lê o valor de intenção retornado pelo Azure OpenAI (armazenado na variável de projeto openai.response.route) e usa uma instrução case para rotear a solicitação para o fluxo de trabalho de ferramenta apropriado. Se um nome de conta é encontrado, mas nenhuma rota pode ser determinada (normalmente devido a um histórico de conversa longo), o agente limpa o histórico e pede ao usuário que reenvie o prompt.
Ferramentas de Agent
| Workflow | Descrição |
|---|---|
| Search Existing Contact | Recupera todos os contatos de uma conta Salesforce especificada. |
| Search New Contacts | Consulta o ZoomInfo para contatos ainda não presentes no Salesforce e faz referência cruzada dos resultados com registros existentes. |
| Confirm Contact Creation | Apresenta uma lista de novos contatos ao usuário no Slack para aprovação antes de criar registros no Salesforce. |
| Execute Contact Creation | Cria registros de contatos aprovados no Salesforce usando uma operação de upsert com chave de endereço de email. |
| Hygiene Check | Compara registros de contatos do Salesforce com dados do ZoomInfo para identificar discrepâncias de cargo e informações ausentes. |
| Enriched Hygiene Check | Realiza uma comparação detalhada dos registros de contatos do Salesforce e ZoomInfo para administradores. Este workflow consome créditos do ZoomInfo. |
| Account Executives Notifications | Envia notificações do Slack ao canal de alertas de vendas quando um contato é identificado como não mais vinculado à empresa. |
| Confirm Contact Update | Apresenta recomendações de atualização de contato ao usuário no Slack para aprovação antes de aplicar alterações no Salesforce. |
| Execute Contact Update | Aplica atualizações de contato aprovadas no Salesforce e relata sucesso ou falha de volta ao usuário. |
Search Existing Contact
Este workflow recupera todos os contatos de uma conta especificada no Salesforce. O nome do script é search_existing_contact - controller. O workflow armazena dados de contato em salesforce.response.body, escreve em $tool.response para processamento por LLM e define a verificação de resposta como master_prompt.
Search New Contacts
Este workflow recupera dados de contato do ZoomInfo para uma conta especificada. O nome do script é search_new_contact Controller. O workflow faz uma chamada de API do ZoomInfo por cargo configurado na variável do projeto $zoom.query_jobTitle. Limite esta variável a quatro ou cinco funções para manter os tempos de resposta aceitáveis.
O workflow executa primeiro uma busca aberta sem filtros de cargo para recuperar uma lista de contatos sem restrições, depois faz chamadas específicas por cargo. O workflow mapeia os resultados para um esquema JSON compartilhado (contactdata.json) usado em outras ferramentas. O workflow faz referência cruzada de cada novo contato com o Salesforce para verificar se ele já existe para a conta. A ferramenta também verifica atividade de email para contatos encontrados através do ZoomInfo usando o utilitário Utility- Check Empty Email Contacts.
Confirm Contact Creation
Este workflow recupera a lista de contatos armazenada pelo workflow Search New Contacts do armazenamento de chave Cloud Datastore Contact cache e a envia ao Azure OpenAI com um prompt confirm_create_contact. O LLM infere endereços de email dos dados do Salesforce disponíveis e apresenta uma lista de contatos estruturada ao usuário no Slack, solicitando aprovação antes de criar registros. O workflow armazena os dados de contato aprovados novamente no Contact cache para uso no workflow Execute Contact Creation.
Executar Criação de Contato
Este fluxo de trabalho recupera a lista de contatos aprovados da chave de armazenamento Cloud Datastore Contact cache e compara o ID da conta Salesforce na chave de cache com a conta atualmente referenciada na conversa. Se os IDs corresponderem, o fluxo de trabalho cria registros de contato no Salesforce usando uma operação upsert indexada por endereço de e-mail. Se houver uma incompatibilidade, o agente notifica o usuário e não prossegue com a criação.
Verificação de Higiene
Este fluxo de trabalho recupera todos os contatos de uma conta Salesforce e consulta o ZoomInfo para cada contato a fim de identificar incompatibilidades de cargo ou informações ausentes. O fluxo de trabalho adiciona contatos sem endereço de e-mail no Salesforce a um dicionário e os verifica quanto a atividade de e-mail usando o utilitário Utility- Check Empty Email Contacts. O fluxo de trabalho armazena dados do Salesforce e do ZoomInfo em $tool.response e define a verificação de resposta como hygiene_check.
Verificação de Higiene Enriquecida
Este fluxo de trabalho funciona de forma similar ao fluxo de trabalho Verificação de Higiene, mas é restrito aos administradores, conforme configurado no script set.user.roles. Este fluxo de trabalho consome créditos do ZoomInfo da sua cota de permissão. Este fluxo de trabalho define a verificação de resposta como enriched_hygiene_check.
Notificações dos Executivos de Conta
Este fluxo de trabalho envia uma notificação Slack para o canal configurado em salesforce.sales.alerts.channel quando o agente identifica um contato associado a uma conta Salesforce conhecida como não mais pertencente àquela empresa.
Confirmar Atualização de Contato
Este fluxo de trabalho recupera todos os contatos da conta Salesforce especificada e consulta o ZoomInfo para cada contato a fim de verificar se o cargo foi alterado. Também verifica o Salesforce para atividade de e-mail associada a cada contato. Com base nessas verificações, uma transformação atribui a cada contato uma de três ações recomendadas: recommend_update, recommend_donotupdate ou recommend_delete. O agente apresenta essas recomendações ao usuário para aprovação antes de tomar qualquer ação. Observe que o CRM Contact Agent não exclui contatos do Salesforce; a ação recommend_delete indica ao usuário que um contato pode precisar ser removido.
Executar Atualização de Contato
Este fluxo de trabalho recupera dados de atualização aprovados da chave de armazenamento Cloud Datastore Contact cache, verifica se a conta sendo referenciada corresponde ao ID da conta armazenado na chave de cache e aplica as atualizações aprovadas aos registros de contato Salesforce. O fluxo de trabalho relata o sucesso ou a falha de cada atualização ao usuário no Slack.
Ativar os fluxos de trabalho do projeto
O CRM Contact Agent é acionado por mensagens recebidas do aplicativo Slack conectado ao fluxo de trabalho Main Entry - Slack API Request Handler. Você não precisa executar manualmente uma operação para iniciar o agente; o aplicativo Slack cuida do acionamento automaticamente quando os usuários enviam mensagens.
O fluxo de trabalho Scheduler Task Manager suporta agendas de operação para qualquer operação que você escolha executar em base recorrente. Para configurar uma agenda, abra o menu de ações da operação e selecione Settings > Schedules.
Solução de Problemas
Se você encontrar problemas, revise os logs a seguir para obter informações detalhadas de solução de problemas:
Para assistência adicional, entre em contato com o suporte do Jitterbit.