Duvida sobre como direcionar para equipe correta

Pessoal tudo bem?

É o seguinte, tenho 3 chatbots e todos estão conectados a um router para serem direcionados a um único chatbot de atendimento humano.

Acontece que tenho 3 equipes e cada uma dessas equipes respondem um determinado tipo de cliente, que no caso tambem são 3: marca, revendedor e consumidor final.

Acontece que não to conseguindo direcionar eles para a equipe correta, pois como são 3 chatbots todos roteados para outro chatbot de atendimento humano, não sei qual regra preciso criar para irem corretamente para o seu respectivo atendente

1 Curtida

Ariane precisava entender qual a necessidade se ter 3 bots, e outra coisa, você quer direcionar no atendimento em si ou no fluxo ?

São 3 chatbots por 3 motivos:

1- O fluxo dos chatbots são muito longos e coloca-los em um unico lugar ficaria inviavel
2- Para cada cliente abrirá um menu diferente se for o cliente for uma marca, abrirá o chatbot de marca, se for Revendedor abrirá chatbot de vendedor e se for consumidor final, abrirá o chatbot de consumidor final.
3- Temos 2 aplicativos, um só para consumidor final e outro para marca e revendedor.

A equipe de atendimento humano é uma só e preciso concentrar todas as informações em um unico chatbot, optamos por criar um chatbot só de atendimento humano. Quero direcionar no atendimento através das regras de atendimento e no fluxo não sei como criar a regra e nem onde devo colocar essa regra.

1 Curtida

Ariane, não sei se fez o curso disponibilizado, mas está meio confuso, não quer marcar uma call? (eu acho mais facil para ver e entender seu problema) ou manda uns prints do fluxo, aparentemente é só configurar as regras de saida de cada bloco, mas acho que seria melhor fazer de outra forma essa sua regra de atendimento, e não fazer 3 bots separados

1 Curtida

@Ariane_Ferreira e @Pedro_Lucas, poderia fazer o o registro de uma variável no extras do contato com o tipo de cliente “tipoCliente” e após direcionar para o serviço “atendimento humano”. Com isso conseguiria fazer uma regra de direcionamento para a equipe mais adequada? Isso faz sentido pra vocês?

3 Curtidas

Faz e é essa a melhor solução.
@Ariane_Ferreira é só você Definir o contato em algum momento do seu fluxo (recomendo, por exemplo, assim que o contato selecionou a opção 1/2/3, no bloco seguinte você vai em Ações e adiciona um Definir Contato, criando um campo extras com nome “Menu” (por exemplo) e no valor você indica qual o menu escolhido.

Depois é mais fácil ainda, basta você ir lá no módulo Atendimento do blip, e em Regras para Atendimento você configura que:

  • SE a variável Extras.Menu for igual à 1, direcione para Equipe 1;
  • SE a variável Extras.Menu for igual à 2, direcione para Equipe 2;
  • SE a variável Extras.Menu for igual à 3, direcione para Equipe 3;

Caso o Pedrão não tenha lhe ajudado ainda, é só seguir esses passos.

4 Curtidas

Bom dia!
Até a parte a variavel ok. Minha dúvida é o seguinte, tenho a equipe1 e equipe2, no script como ajusto para saber a equipe. Até então dentro dos script so tenho uma equipe la dentro. Onde coloco as demais, teria de fazer um IF ELSE. se sim teria um exemplo.

2 Curtidas

Isso é muito relativo ao seu cenário, mas não entendi por que você usa o script pra duas equipes só… Definir a Variável de Contato não ajudaria? Por exemplo, você pode salvar a resposta do Menu em uma variável e o valor da sua variável de contato ser essa variável definida no menu.

Mas vamos lá, eu tinha uma situação aqui onde eu precisava direcionar entre 70 equipes conforme a cidade que o contato digitou, daí eu usava o script para ler a variável cidadeFilial (que era a resposta do contato):

function run(cidadeFilial){
cidadeFilial = cidadeFilial.toUpperCase();
switch(cidadeFilial){
    case 'CIDADE1':
      return 'Filial01';
    case 'CIDADE2':
      return 'Filial02';
    case 'CIDADE 3':
    case 'CIDADE3':
      return 'Filial03';
    case 'CIDADE4':
      return 'Filial04';
    case 'CIDADE5':
    case 'CIDADE 5':
      return 'Filial05';
  default:
  //executa quando não entrou em nenhum case
  return 'Central';
}
}


Daí eu armazenava o retorno do script em uma variável e essa variável eu definia no extras do meu contato.
Mas como disse no começo, acho que você não precisa disso se for só duas equipes. Sem contar que da forma que eu fiz, eu precisava tratar muitas variáveis e mesmo assim o contato acabava digitando algo que eu não tratei.

Obs: Inicialmente eu fiz com IF ELSE, como você sugeriu também, mas por fim utilizei o SWITCH,CASE por indicação de um dev da minha empresa.

3 Curtidas

O meu é mais simples ainda estou direcionando para outro bot. Só preciso direcionar para duas equipes ou seja duas regras de atendimento, onde a variave esta sendo salva em Extras Contato, o key: team e valor: {{team}}

Segue abaixo como estou tentando fazer com dois blocos, mas não deu certo ainda para equipe Default.

// Receive the variables as parameters
function run(result) {
result = JSON.parse(result)
let hasAttendant = false;

// Altere o valor da variável para o nome da equipe verificada
let team = 'Cliente';

if(result.resource && result.resource.total >= 1){
    hasAttendant  = result.resource.items.some(function(attendant){
        return (attendant.status === 'Online' && attendant.teams.includes(team));
    });
}
return hasAttendant;

}

// Receive the variables as parameters
function run(result) {
result = JSON.parse(result)
let hasAttendant = false;

// Altere o valor da variável para o nome da equipe verificada
let team = 'Defautl';

if(result.resource && result.resource.total >= 1){
    hasAttendant  = result.resource.items.some(function(attendant){
        return (attendant.status === 'Online' && attendant.teams.includes(team));
    });
}
return hasAttendant;

}

Ou da para usar só um bloco personalizando o script??

2 Curtidas

Ah sim, entendi errado a sua pergunta anterior. Na verdade você está validando se tem alguém online nessa equipe.

Recomendo personalizar o script em um bloco só, mesmo… mas confesso que ainda não entendi sua lógica por trás disso.

Acredito que você vai resolver isso passando a variável do time que você quer validar na entrada do Script, daí você não precisaria de definir manualmente a variável team… seria algo do tipo:

// Adicionei a variável aqui dentro do function:
function run(result,variavelDoTimeNaEntradaDoScript) {
result = JSON.parse(result)
let hasAttendant = false;
// Alterei aqui em baixo:
team = variavelDoTimeNaEntradaDoScript;

if(result.resource && result.resource.total >= 1){
    hasAttendant  = result.resource.items.some(function(attendant){
        return (attendant.status === 'Online' && attendant.teams.includes(team));
    });
}
return hasAttendant;
}

Acho que é só isso… só não se esqueça que o resultado da variável de entrada e o nome do seu time lá no módulo de atendimento, devem ser iguais.

3 Curtidas

Hunmm, saquei este escript e só para validar se tem alguém online!

Para direcionamento e só confere a regra de direcionamento e a variavel salva no extras contato.

Vou rever pois não esta sendo direcionado para equipe Default., estava pensando que era o script. Mas o scritp so checa se estão online.

3 Curtidas

Achei meu problema é o seguinte, quando clica no menu não direciona para equipe Default e vai para equipe de clientes. Mas quando digito a varivael “2” é direcionando, Esta condição no blip para regra de atendimento é case sensetive!? No menu esta desta forma = 2. Não sou cliente, mas na regra de atendimeto esta desta forma: 2. Não Sou Cliente, mas o interessante é que ao tentar adicionar outra variável da mesma forma que esta o menu fala que já existe então não é case sensetive.

2 Curtidas

Que bom que encontrou o problema!!
Essa é uma ótima pergunta, eu sinceramente sempre cuidei pra colocar todas variáveis exatamente igual… mas uma dica que posso te passar é usar a condição CONTÉM ao invés de IGUAL A.
Por exemplo, você colocou que SE for igual a “2. Não Sou Cliente” direciona pra equipe Default. Eu sempre opto em usar a condição contém da seguinte forma: SE contém “2” ou “Não” direciona para equipe Default.

Só precisa ficar atento pra não repetir uma das condições, pois como usa CONTÉM, a primeira regra que achar vai ser a que vai definir a equipe…

3 Curtidas

Confira meus prints, se eu digitar dois é direcionado, mas se clicar no botão (2. Não sou cliente), não esta redirecionando.

image



2 Curtidas

o problema tava na 1 regra de atendimento que tinha a função “contém” e o valor “Cliente”, o que sobrepunha a regra posterior, mas arrumamos de max ? @Lopac

2 Curtidas

Boa Pedrão, obrigado pela força de sempre! hahah

Tem que ter olhos de águia como os seus para achar essas coisas que passam despercebidas! :eagle:

2 Curtidas

eu sei por que vivo caindo nessas gaff kkkkkk

2 Curtidas