Adicionar mais dados ao TaskRouter
O Insights já tem uma integração básica com seus dados de Tarefas subjacentes, mas você pode optar por fornecer dados adicionais ao TaskRouter para aprimorar seus relatórios do Flex Insights.
Ao alterar sua implementação do Flex Insights, você deve sempre usar uma conta da Twilio separada para testar. Quando as coisas estiverem funcionando conforme o esperado, você poderá implementar suas alterações em sua conta de produção. Recomendamos muito testes extensivos em ambientes que não sejam de produção devido ao impacto de dados inesperados na geração de relatórios.
O Flex Insights mantém os dados de entrada em forma textual como um backup. Qualquer solicitação para corrigir ou modificar dados adicionados programaticamente requer o envolvimento das equipes de engenharia da Twilio. Essas solicitações são priorizadas caso a caso. As solicitações podem ser rejeitadas dependendo do esforço estimado para implementá‐las e dos impactos que elas têm.
Aprimore seus dados de conversa
O Flex Insights extrai dados diretamente dos atributos do TaskRouter. Esses atributos extraídos funcionam sem que nenhuma implementação adicional seja feita por você. No entanto, você pode fornecer informações adicionais ao Insights ou substituir valores padrão extraídos do TaskRouter.
O Insights extrai atributos dos seguintes eventos:
reservation.created
reservation.rejected
reservation.timeout
reservation.canceled
reservation.rescinded
reservation.completed
A alteração dos atributos da tarefa durante o ciclo de vida da tarefa não afetará os dados no Flex Insights. Os atributos da tarefa que são definidos quando a tarefa é concluída ou cancelada são passados para o Flex Insights. Nenhuma atualização posterior dos atributos da tarefa terá impactos sobre os atributos e as medidas no Flex Insights.
Os links de mídia (links para gravações, por exemplo) podem ser atualizados dois minutos após a conclusão da tarefa. Após dois minutos, a tarefa é excluída no TaskRouter e não é mais possível atualizar os links de mídia. Saiba mais sobre como adicionar atributos de tarefa usando a API TaskRouter.
Tarefas canceladas e concluídas pela Twilio
Ao cancelar ou concluir uma tarefa pela API TaskRouter da Twilio, você pode informar o motivo pelo qual a tarefa foi concluída ou cancelada. Isso permite que você segmente e filtre conversas por resultado e os motivos pelos quais uma conversa foi cancelada ou concluída. Saiba mais sobre atualizar e encerrar tarefas.
Adicionar links às gravações
You can append links to call recordings to a task's attributes automatically. This allows your users to listen to calls in the Insights Player.
Para ativar a adição de URL de gravações automáticas nos atributos da tarefa, acesse o Console da Twilio > Flex > Configurações e habilite a configuração Gravação de Chamadas.
Se você optar por gravar chamadas de voz ou vídeo, precisará estar em conformidade com determinadas leis e regulamentos, incluindo aqueles relacionados à obtenção de consentimento para gravar (como a Lei de Invasão de Privacidade da Califórnia e leis semelhantes em outras jurisdições). Informações adicionais sobre as implicações legais da gravação de chamadas podem ser encontradas aqui.
A configuração Gravação de Chamadas no Console da Twilio está usando o recurso Criar uma API REST da Twilio de gravação no back‐end. Ele registra a tarefa/conferência completa.
Se você quiser gravar apenas uma parte da chamada, use a lógica personalizada para a gravação. Isso requer as mesmas atualizações de endpoint de API. Recomendamos desativar a configuração Gravação de Chamadas no Console da Twilio. Nesse caso, para anexar uma gravação a uma tarefa, adicione o objeto conversations
ao atributo da tarefa. Em seguida, coloque uma chave segment_link
no objeto conversations
com um valor contendo o URL da gravação relacionada.
"conversations": {
"segment_link": "https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings/REXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
Você pode enviar o segment_link
após a conclusão de uma tarefa através de uma atualização de tarefa assim que a Twilio disponibilizar o link para a gravação. No entanto, você está limitado a dois minutos após a conclusão da tarefa.
O link para seu áudio gravado deve ser acessível publicamente ou incluir as informações de autorização no URL do link, no caminho do URL ou na consulta do URL.
Vincular tarefas a uma conversa
No Insights, uma conversa abrange o atendimento de um cliente.
A conversa é dividida em segmentos de tipos diferentes, por exemplo, "Conversa" ou "Fila" (consulte o artigo sobre Estrutura de Conversa para obter mais detalhes). Quando um agente de atendimento, canal de comunicação ou fila muda, um novo segmento começa. Isso geralmente acontece quando os agentes transferem clientes para outros departamentos ou outros agentes.
Uma conversa pode consistir em vários segmentos e, portanto, normalmente contém várias tarefas do TaskRouter.
Para vincular tarefas a uma única conversa, adicione o objeto conversations
aos atributos da tarefa. Em seguida, coloque a propriedade conversation_id
no objeto conversations
com um valor igual para todas as tarefas relacionadas à conversa. Recomendamos o uso do SID da Tarefa da primeira tarefa como conversation_id
. Você não precisa definir conversation_id
para a primeira tarefa.
"conversations": {
"conversation_id": "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
Você pode fornecer detalhes adicionais sobre conversas individuais usando a propriedade task_attributes
da Twilio. Os atributos da tarefa personalizados ajudam você a criar uma imagem mais completa do que está acontecendo em seu contact center.
Adicione atributos e medidas personalizados
Você pode configurar até dez medidas de conversa personalizadas (valores numéricos) e configurar até dez atributos de conversa personalizados (valores de texto) para armazenar dados de campos personalizados ao lado de conversas. O exemplo de código abaixo mostra um exemplo de atributos da tarefa que você pode adicionar a tarefas usando a API TaskRouter da Twilio. Atributos da tarefa desconhecidos são ignorados silenciosamente.
Recomendamos usar Rótulos para atributos personalizados numerados se você armazenar IDs ou valores semelhantes de alta cardinalidade em atributos personalizados. Valores de alta cardinalidade são valores que são muitas vezes exclusivos para uma determinada conversa, cliente ou agente.
Todos os atributos personalizados são opcionais. Quanto mais detalhes você fornecer, mais detalhes estarão disponíveis para análise.
{
"conversations" : {
"segment_link" : "https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings/REXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"abandoned" : "No",
"abandoned_phase" : null,
"activity" : "On a Break",
"campaign" : "Pension Insurance 2",
"case" : "Retention #24567",
"channel" : "Call",
"content" : "bonus retention",
"conversation_id" : "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"conversation_attribute_1" : "Attribute Value 1",
"conversation_attribute_2" : "Attribute Value 2",
"conversation_attribute_3" : "Attribute Value 3",
"conversation_attribute_4" : "Attribute Value 4",
"conversation_attribute_5" : "Attribute Value 5",
"conversation_attribute_6" : "Attribute Value 6",
"conversation_attribute_7" : "Attribute Value 7",
"conversation_attribute_8" : "Attribute Value 8",
"conversation_attribute_9" : "Attribute Value 9",
"conversation_attribute_10" : "Attribute Value 10",
"conversation_label_1" : "Label 1",
"conversation_label_2" : "Label 2",
"conversation_label_3" : "Label 3",
"conversation_label_4" : "Label 4",
"conversation_label_5" : "Label 5",
"conversation_label_6" : "Label 6",
"conversation_label_7" : "Label 7",
"conversation_label_8" : "Label 8",
"conversation_label_9" : "Label 9",
"conversation_label_10" : "Label 10",
"destination": "External Queue",
"direction" : "Outbound",
"external_contact" : "+18001234567",
"followed_by" : "External Transfer",
"handling_department_id" : "1",
"handling_department_name" : "Department 1",
"handling_department_name_in_hierarchy" : "Company ▸ Department 1",
"handling_team_id" : "2",
"handling_team_name" : "Sales 2",
"handling_team_name_in_hierarchy" : "London ▸ Sales ▸ Sales 2",
"hang_up_by" : "Customer",
"in_business_hours" : "Yes",
"initiated_by" : "Customer",
"initiative" : "Leader in Insurance",
"ivr_path" : "1 ▸ 2",
"language" : "English",
"order" : 1,
"outcome" : "Retention - Success",
"preceded_by" : "Warm Transfer",
"productive" : null,
"queue" : "Outbound Dialer - England",
"service_level" : "OK",
"source": "Waiting Room",
"virtual" : "No",
"workflow" : "Outbound UK",
"activity_time" : null,
"average_response_time": 13,
"conversation_measure_1" : 101,
"conversation_measure_2" : 102,
"conversation_measure_3" : 103,
"conversation_measure_4" : 104,
"conversation_measure_5" : 105,
"conversation_measure_6" : 106,
"conversation_measure_7" : 107,
"conversation_measure_8" : 108,
"conversation_measure_9" : 109,
"conversation_measure_10" : 110,
"first_response_time": 30,
"focus_time": 20,
"hold_time" : 0,
"ivr_time" : 0
},
"customers" : {
"name" : "John Doe",
"customer_link" : null,
"customer_attribute_1" : "Attribute Value 1",
"customer_attribute_2" : "Attribute Value 2",
"customer_attribute_3" : "Attribute Value 3",
"customer_label_1" : "Label 1",
"customer_label_2" : "Label 2",
"customer_label_3" : "Label 3",
"acquisition_date" : null,
"category" : "VIP",
"customer_manager" : "Financial Partners Corp.",
"email" : "john.doe@gmail.com",
"gender" : "Male",
"geo_location":"-22.5743922;17.0790688",
"market_segment" : "Pensioners",
"organization" : "Prosperity Inc.",
"phone" : "+44xxxxxxxxx",
"year_of_birth" : "1947",
"zip" : "ZC000000",
"acquisition_cost" : 150,
"business_value" : 7500
}
}
Para saber mais sobre atributos da tarefa individuais, consulte nossa documentação sobre conjuntos de dados de conversas e clientes.
Ao passar valores de atributo de conversão através de atributos da tarefa, evite usar valores de alta cardinalidade. Valores de alta cardinalidade são valores diferentes para cada ou quase todas as conversas ou clientes. Normalmente, os IDs são atributos de alta cardinalidade. O uso desses valores de atributo pode fazer com que as cargas nos Relatórios históricos levem mais tempo. Isso pode impedir que você carregue dados a cada 15 minutos ou até mesmo exigir uma retenção de dados mais curta.
Os valores de atributo podem ter no máximo 128 caracteres. Para valores com mais de 128 caracteres, somente os primeiros 128 caracteres são carregados nos Relatórios históricos.
Todas as datas e horários devem estar no intervalo de 1901 a 2049 (ambos inclusos).
Se o team_id
não for fornecido, o SID da fila será usado como o ID único. O atributo team_id
é necessário para exibir o team_name
.
The department_id
attribute is required to display department_name
.
Aprimorar dados do agente
Você pode fornecer detalhes adicionais sobre os dados do agente através de atributos do funcionário personalizáveis. Esses dados aprimoram o Conjunto de dados do agente no Modelo de dados.
Observe que o termo funcionário do TaskRouter é convertido em um atributo de agente mais amigável no Insights. Para saber mais sobre o mapeamento de pontos de dados, consulte dados do TaskRouter no Flex Insights ou consulte o Dicionário do Insights .
O exemplo de código a seguir mostra como você pode preencher seus atributos de Funcionário usando o Console da Twilio ou a API. Atributos de agente desconhecidos são ignorados silenciosamente. Você pode usar seus próprios atributos com os suportados no Insights.
{
"agent_id": "Custom Agent ID 123",
"agent_attribute_1": "Attribute 1",
"agent_attribute_2": "Attribute 2",
"agent_attribute_3": "Attribute 3",
"agent_label_1": "Label 1",
"agent_label_2": "Label 2",
"agent_label_3": "Label 3",
"full_name": "Mary Smith",
"department_id": "1",
"department_name": "Sales",
"department_name_in_hierarchy": "London ▸ Sales",
"email": "mary.smith@company.com",
"location": "London",
"manager": "Adam Shepherd",
"phone": "+15555555555",
"role": "Agent - Level 2",
"state": "Active",
"team_id": "2",
"team_name": "Sales 2",
"team_name_in_hierarchy": "London ▸ Sales ▸ Sales 2"
}
If no team_id
is provided, then the queue SID is used as the unique ID. The team_id
attribute is required to display team_name
.
The department_id
attribute is required to display department_name
.
Agents with new attributes must log in to Flex and change their status in order to trigger an Agent Status segment and load new data into Flex Insights.
Opção 1: Configurar Agentes através da API TaskRouter
Você pode usar a API TaskRouter da Twilio para definir os atributos do funcionário enviando uma solicitação de POST para todos os funcionários que você deseja aprimorar com esses dados. Esse é o método recomendado, pois pode ser automatizado e bem integrado com o restante de seus sistemas.
POST /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}
Opção 2: Configurar Agentes pelo Console da Twilio
Você pode configurar os detalhes do agente manualmente pelo Console da Twilio.
Não recomendamos o uso desse método em uma implantação de produção. A atualização manual de centenas e até mesmo milhares de agentes está sujeita a erros. Esse método é útil para uma avaliação rápida de se os atributos do funcionário funcionam bem para você.
For Flex accounts with SSO enabled, the agent attributes need to be set on the Identity Provider (IdP) site. Attributes set via Twilio Console or TaskRouter API will be overwritten once the agent logs in Flex with SSO.
Para editar atributos do funcionário:
- Navegue até a Área de trabalho do Console da Twilio.
- Clique na Área de trabalho que inclui os agentes que você deseja configurar.
- Clique em Funcionários na navegação à esquerda.
- Clique no agente cujos atributos você deseja atualizar.
- Edite os Atributos com as propriedades que deseja fornecer.
- clique em Save (Salvar).
Congratulations! More details about your agents will show up in Flex Insights shortly.
Note that you need to wait until the next set of data loads into Flex Insights (once per hour by default) in order to see the new information in reports.
Aprimorar dados do cliente
Para clientes que estão criando fluxos de trabalho compatíveis com a HIPAA, a Twilio irá elaborar quaisquer Atributos do TaskRouter que possam conter PII (por definição do campo Atributo) a partir da entrada no Flex Historical Insights. Para obter mais informações sobre a HIPAA para Flex Insights, consulte nossa documentação detalhada.
O Flex Insights faz referência a cada conversa com um cliente com base em um número de telefone ou outras informações de contato. Você pode definir atributos da tarefa adicionais para fornecer detalhes sobre o cliente.
Usando dados adicionais do cliente, você pode segmentar e filtrar por dados demográficos no Flex Insights:
"customers" : {
"name" : "John Doe",
"customer_link" : "https://crm.company.com/customer/123",
"customer_attribute_1": "Attribute 1",
"customer_attribute_2": "Attribute 2",
"customer_attribute_3": "Attribute 3",
"customer_label_1": "Label 1",
"customer_label_2": "Label 2",
"customer_label_3": "Label 3",
"category" : "VIP",
"customer_manager" : "Financial Partners Corp.",
"email" : "john.doe@gmail.com",
"external_id": "YourIdToLinkCustomers",
"gender" : "Male",
"market_segment" : "Pensioners",
"organization" : "Prosperity Inc.",
"phone" : "+44xxxxxxxxx",
"year_of_birth" : "1947",
"zip" : "ZC000000",
"acquisition_cost" : 150,
"business_value" : 7500
}
Vincular comunicações comuns a um único cliente
A vinculação de todas as comunicações relacionadas ao mesmo cliente permite que você use métricas para segmentar relatórios por clientes e visualizar jornadas de clientes por canais nos Relatórios históricos.
O Flex Insights vincula conversas com base em atributos da tarefa. O Flex Insights usa os seguintes atributos para vincular conversas, em ordem de prioridade:
- Atributos do cliente
customers.external_id
- Atributos do cliente
customers.phone
- Atributos do cliente
customers.email
- Atributos da tarefa padrão do TaskRouter
from
eto
(dependendo da direção) - Atributo de conversa
conversations.conversation_id
, usado como um fallback. Isso leva à criação de um novo cliente para cada conversa.
O Insights usa essas propriedades para gerar um ID do Cliente, que oferece alguma flexibilidade na forma como você vincula as comunicações a um único cliente.
Vincular comunicações com ID externo
O atributo do cliente external_id
representa um ID conforme definido a partir de sua própria lógica de aplicativo. É a maneira mais limpa de vincular todas as conversas relacionadas a um único cliente em uma única unidade, pois representa a definição exclusiva da sua organização sobre quem é um cliente. Todas as conversas (e, portanto, segmentos) que têm o mesmo valor no atributo external_id
serão vinculadas ao mesmo cliente no conjunto de dados Customers
. Você também pode usar o external_id
para conectar conversas com clientes em diferentes canais (por exemplo, conectando SMS, bate‐papo, e‐mail e conversas de voz através de um ID externo.)
Você precisa fornecer um atributo external_id
antes que o primeiro segmento seja concluído para usá‐lo para conectar todas as conversas. Caso contrário, o Flex Insights usará o valor do próximo atributo da tarefa disponível para gerar o ID do Cliente.
Vincular conversas que não têm um ID externo
Em alguns cenários, um ID externo pode não estar disponível em conversas. Por exemplo:
- Conversas criadas antes do Flex Insights introduzir suporte para o
external_id
- Conversas para as quais não foi possível fornecer
external_id
antes de a primeira atividade ser concluída
Você pode conectar novas conversas a essas conversas existentes que não têm uma propriedade external_id
configurando o external_id
para:
- um número de telefone
- um endereço de e‐mail
- Um
conversation_id
da conversa que não tem nenhum conjunto deexternal_id
.
O Flex Insights usará esse valor para gerar um ID do Cliente que corresponda às conversas anteriores.
Por exemplo, digamos que um agente já teve uma chamada telefônica com um cliente que tinha o número de telefone 1-555-123-4567. Não havia nenhum parâmetro de external_id
, então o Insights usou o número de telefone do cliente como um fallback para gerar o ID do Cliente. Uma conversa subsequente ocorre por e‐mail e você está ciente do número de telefone do cliente. Portanto, você fornece o seguinte external_id
nos atributos da tarefa:
"customers" : {
"external_id": "+15551234567"
}
O Insights usará o external_id
para gerar o ID do Cliente, que, obviamente, corresponde ao ID do Cliente da chamada telefônica. Como os IDs de clientes são compatíveis, o Flex Insights vinculará as conversas.
Próximas etapas
- Saiba como usar rótulos para organizar seus dados
- Comece implementando uma área de trabalho do TaskRouter
- Saiba como o Modelo de dados do Flex Insights ajuda você com as necessidades analíticas do seu contact center
Precisa de ajuda?
Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.