Pré-requisitos

Atualmente, esse recurso se aplica apenas a agentes.

Antes de integrar o Webex Contact Center ao console ServiceNow CRM, assegure-se de ter os seguintes itens:

  • Acesso ao Webex Contact Center.

  • O acesso do administrador ao Hub de controle no https://admin.webex.com e no Webex Contact Center Management Portal. As URLs do Portal de Gerenciamento são específicas à sua região.

  • Um agente com acesso à Área de trabalho. A URL da Área de trabalho é específica à sua região.

  • O acesso do agente ao seguinte domínio adicionado na Lista de permitidos de diretivas de segurança de conteúdo:

    • *.service-now.com

    Para obter mais informações sobre como definir a lista de permitidos, consulte as Configurações de segurança do artigo Webex Contact Center.

  • Uma conta do portal de desenvolvedor ServiceNow. Para criar uma conta, vá para o portal de desenvolvedor ServiceNow em https://developer.servicenow.com/dev.do e clique em Sign up and Start Building.

  • Acesse os seguintes arquivos em https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:

    • ServiceNow Update Set (XML)

    • Layout do ServiceNow Contact Center Desktop (JSON)

  • As edições do ServiceNow que Webex Contact Center suportam são Vancouver, Utah, Tokya, Washington e Xanadu. Para obter mais informações, consulte Webex Contact Center Integração com o ServiceNow.

Siga um dos dois métodos abaixo:

Para casos de desenvolvedor, recomendamos seguir as etapas sob o guia de instância do desenvolvedor.

Se você possuir uma instância licenciada por empresa, siga as diretrizes para instâncias licenciadas por empresa.

Não recomendamos misturar o aplicativo licenciado pela empresa com instâncias de caixa de areia de desenvolvedor.

As seções a seguir descrevem as etapas para instalar o conector ServiceNow para instâncias do desenvolvedor.

1

Inicie uma sessão na sua conta do portal de desenvolvedor ServiceNow e abra o console de administração .

2

Na área Minha instância do menu Conta , clique em Iniciar construção.

ServiceNow developer portalcabeça com o botão 'Start Building' destacado.

3

No caso do seu desenvolvedor, no campo Filtrar navegador no canto superior esquerdo da janela, vá para Plugins.

Instância do desenvolvedor ServiceNow mostrando uma pesquisa do navegador do filtro 'plugins'.

4

Procure o plug-in Openframe que possui o título Openframe. Pode ser necessário percorrer a lista.

Instância do desenvolvedor ServiceNow na tela Aplicativos, mostrando a pesquisa e os resultados de 'OpenFrame'.

5

Clique em Instalar para instalar o plug-in Openframe.

6

Na caixa de diálogo Ativar plug-in, clique em Ativar.

Instância do desenvolvedor ServiceNow mostrando o pop-up de plug-up OpenFrame com o botão 'Ativar' realçado.

7

Quando a ativação do plug-in estiver concluída, clique em Fechar > Recarregar formulário na caixa de diálogo Ativação do plug-in .

Instância do desenvolvedor ServiceNow mostrando o carregamento da ativação de plug-in OpenFrame.

Instância do desenvolvedor ServiceNow mostrando a janela de sucesso de ativação de plug-in OpenFrame com o botão 'Fechar &reload Form' realçado.

8

Para verificar a ativação do plug-in, no campo Filtro do navegador no canto superior esquerdo da janela, navegue até OpenFrame.

9

Clique em Configurações e assegure-se de que o plug-in OpenFrame apareça na lista Configurações de estrutura aberta.

Instância do desenvolvedor ServiceNow mostrando Configurações OpenFrame na pesquisa do navegador de filtro.

1

Faça o download do arquivo XML mais recente do Conjunto de Atualizações do Sistema disponívelnol. neste local: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Nome do arquivo: webexcc-servicenow-update-setV(X).XML

Tbsphub repo tbsp para Webex Contact Center integrações CRM - ServiceNow.

2

Em sua instância ServiceNow, no campo Navegador de filtro , na parte superior esquerda da janela, navegue até Conjuntos de atualização do sistema> Conferências de Configurações para Confirmar.

Instância do desenvolvedor ServiceNow mostrando uma pesquisa no navegador do filtro na opção 'Todos' Tab para 'Conjunto de Atualizações' e 'Atualizar Conjuntos para Confirmar' realçada.

3

Clique no link Importar atualização do conjunto de XML .

Instância do desenvolvedor ServiceNow na página de resultados Atualizar conjuntos com 'Links relacionados: Importar conjunto de atualizações de XML' realçada.

4

Clique em Escolher arquivo, selecione o conjunto de atualização do sistema XML arquivo e clique em Carregar.

ServiceNow developer instance import XML tela.

O portal de desenvolvedor ServiceNow recuperou a lista de conjuntos de atualizações.

O conjunto de atualização aparece na lista Conjuntos de atualização recuperados e está no estado Carregado .
5

Na lista Conjuntos de atualização recuperados, clique no Nome do arquivo do conjunto de atualizações (link) para abrir o Conjunto de atualizações.

O ServiceNow developer portal recuperou lista de conjuntos de atualizações para um arquivo atualizado.

6

No canto superior direito da janela, clique em Visualizar atualização definido para verificar o conjunto de atualizações dos problemas.

O portal de desenvolvedor ServiceNow recuperou lista de conjuntos de atualizações para um arquivo atualizado com o botão 'Conjunto de atualização de visualização' realçado.

7

Clique em Fechar , na caixa de diálogo Atualizar visualização do conjunto, depois que a visualização for concluída.

ServiceNow developer portal com a notificação de sucesso de visualização do conjunto de atualizações.

8

Clique em Confirmar conjunto de atualização.

O portal de desenvolvedor ServiceNow recuperou lista de conjuntos de atualizações para um arquivo atualizado com o botão 'Confirmar conjunto de atualizações' realçado.

9

Clique em Fechar , na caixa de diálogo Atualizar conjunto de confirmação , depois que a realização do Conjunto de Atualizações for concluída.

ServiceNow developer portal com a notificação de sucesso de comprometimento do conjunto de atualizações.

1

No campo Filtro do navegador no canto superior esquerdo da janela, digite sys_properties.list e pressione Enter.

Instância do desenvolvedor ServiceNow mostrando uma pesquisa no navegador do filtro no Tab 'Todos' para 'sys_properties.list'

2

Na página Propriedades do sistema, classifique as propriedades pela data atualizada. Verifique se você pode ver as seguintes propriedades do Webex Contact Center:

Página de propriedades do sistema de instância do desenvolvedor ServiceNow.

3

Clique em agentdesktop_url para abrir a página agentdesktop_url de propriedade do sistema.

4

No campo Valor , insira a URL da área de trabalho Webex Contact Center de acordo com a região da operação.

Detalhes de propriedade do sistema de instância do desenvolvedor ServiceNow para agentdesktop_url.

5

Clique em Atualizar para salvar as alterações.

6

(Opcional) Para alterar o nome da tabela Atividade, edite as propriedades da webexccitytable conforme necessário.

Na página Propriedades do sistema, clique em Webexccitytable.

Altere o campo Valor conforme necessário.

Detalhes da propriedade do sistema de instância do desenvolvedor ServiceNow para Webexactivitytable.

7

(Opcional) Adicione grupos de usuários das seguintes maneiras:

  1. No campo Filtro do navegador no canto superior esquerdo da janela, navegue para Grupos em Segurança do sistema.

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. Crie um novo grupo de usuários ou use um existente.

    Página de grupo de instância do desenvolvedor ServiceNow para WebexccAgentsGroup.

  3. Clique em Editar.

  4. Procure sn_openframe_user na Coleção e mova-o para seu grupo de usuários.

    A página de editar membros do grupo de instância do desenvolvedor ServiceNow mostrando uma pesquisa de uma coleção.

    A página de membros de edição do grupo de instância do desenvolvedor ServiceNow mostrando uma coleção movida para a lista de funções.

  5. Clique em Save (Salvar).

  6. Adicione o usuário como um membro do grupo.

    Página de grupo de instância do desenvolvedor ServiceNow com funções de usuário atribuídas.

1

No campo Navegador de filtro , navegue até OpenFrame > Configurações.

A instância do desenvolvedor ServiceNow filtra o navegador com 'openframe' no campo de pesquisa e 'Configurações' em 'OpenFrame' realçado nos resultados.

2

Clique em Novo.

Instância do desenvolvedor ServiceNow OpenFrame Configurations com 'Novo' destacado.

3

Digite as seguintes propriedades para o URL:

  • Nome: Webex Contact Center Desktop

  • Título: Webex Contact Center

  • Largura: 550 (recomendado)

  • Altura: 600 (recomendado)

4

À direita do campo URL , clique no botão Bloquear e adicione agentdesktop.do como URL. (Faça essa etapa para apontar a configuração para a página UI)

Instância do desenvolvedor ServiceNow OpenFrame Configurations – Página Novo registro com o ícone de cadeado realçado.

5

(Opcional) Selecione o Usuário/Grupos de Agentes para atribuir a configuração.

Instância do desenvolvedor ServiceNow OpenFrame Configurations – Seleção do grupo de usuários New Record.

6

Clique em Enviar. A URL é exibida como um link.

Instância do desenvolvedor ServiceNow OpenFrame Configurations – Página Novo registro mostrando o link da URL exibido após enviar as seleções do grupo de usuários.

7

Antes de tentar usar o telefone OpenFrame, assegure-se de fazer o upload do arquivo JSON de Layout de Área de Trabalho personalizado ServiceNow no Webex Contact Center Management Portal. Para obter mais informações, consulte Configurar o ServiceNow Desktop Layout em Webex Contact Center.

1

Faça o download do layout de Desktop para ServiceNow de https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Tela Diagrama grande para Webex Contact Center Integrações do CRM – Layouts de Desktop – ServiceNow.

2

Atualize as propriedades no arquivo Layout de área de trabalho, se necessário.

3

Acesse o Webex Contact Center Management Portal.

4

Na barra de navegação do Portal de Gerenciamento, escolha Layout de Provisionamento >Desktop.

Webex Contact Center página de provisionamento do Portal de Gerenciamento com o Layout de Desktop destacado na navegação à esquerda.

5

Clique em Novo Layout e insira os detalhes do layout da área de trabalho.

6

Carregue o arquivo JSON de layout de área de trabalho ServiceNow.

7

Clique em Salvar para salvar a configuração.

Agora você pode iniciar o Webex Contact Center Desktop no console ServiceNow.

8

No campo Navegador de filtro , navegue até a área de trabalho de operações de serviço.

ServiceNow página Home com Webex Contact Center Agent Desktop integrado ao ServiceNow.

As seções a seguir descrevem as etapas para instalar o conector ServiceNow para instâncias empresariais licenciadas.

1

Inicie uma sessão na sua conta do portal de desenvolvedor ServiceNow e abra o console de administração .

2

Na área Minha instância do menu Conta , clique em Iniciar construção.

ServiceNow developer portalcabeça com o botão 'Start Building' destacado.

3

No caso do seu desenvolvedor, no campo Filtrar navegador no canto superior esquerdo da janela, vá para Plugins.

Instância do desenvolvedor ServiceNow mostrando uma pesquisa do navegador do filtro 'plugins'.

4

Procure o plug-in Openframe que possui o título Openframe. Pode ser necessário percorrer a lista.

Instância do desenvolvedor ServiceNow na tela Aplicativos, mostrando a pesquisa e os resultados de 'OpenFrame'.

5

Clique em Instalar para instalar o plug-in Openframe.

6

Na caixa de diálogo Ativar plug-in, clique em Ativar.

Instância do desenvolvedor ServiceNow mostrando o pop-up de plug-up OpenFrame com o botão 'Ativar' realçado.

7

Quando a ativação do plug-in estiver concluída, clique em Fechar > Recarregar formulário na caixa de diálogo Ativação do plug-in .

Instância do desenvolvedor ServiceNow mostrando o carregamento da ativação de plug-in OpenFrame.

Instância do desenvolvedor ServiceNow mostrando a janela de sucesso de ativação de plug-in OpenFrame com o botão 'Fechar &reload Form' realçado.

8

Para verificar a ativação do plug-in, no campo Filtro do navegador no canto superior esquerdo da janela, navegue até OpenFrame.

9

Clique em Configurações e assegure-se de que o plug-in OpenFrame apareça na lista Configurações de estrutura aberta.

Instância do desenvolvedor ServiceNow mostrando Configurações OpenFrame na pesquisa do navegador de filtro.

1

No campo Filtrar navegador no canto superior esquerdo da janela, digite sys_properties.list.

Instância do desenvolvedor ServiceNow mostrando uma pesquisa no navegador do filtro no Tab 'Todos' para 'sys_properties.list'

2

Na página Propriedades do sistema, classifique as propriedades pela data atualizada. Verifique se você pode ver as seguintes propriedades do Webex Contact Center:

Resultados da página propriedades do sistema de instância do desenvolvedor ServiceNow.

3

Clique em agentdesktop_url para abrir a página agentdesktop_url de propriedade do sistema.

4

No campo Valor , insira a URL da área de trabalho Webex Contact Center de acordo com a região da operação.

Página de detalhes da propriedade do sistema de instância do desenvolvedor ServiceNow para agentdesktop_url.

5

Clique em Atualizar para salvar as alterações.

6

(Opcional) Para alterar o nome da tabela atividade, edite as propriedades x_caci_webexcc.webexccitytable conforme necessário.

  1. Na página Propriedades do sistema, clique em x_caci_webexcc.webexccitytable.

    Resultados da página de propriedades do sistema de instância do desenvolvedor ServiceNow para x_caci_webexcc.webexccitytable.

  2. Altere o campo Valor conforme necessário.

    ServiceNow página de propriedade do sistema de instância do desenvolvedor para x_caci_webexcc.webexccitytable.

7

(Opcional) Adicione grupos de usuários das seguintes maneiras:

  1. No campo Filtro do navegador no canto superior esquerdo da janela, navegue para Grupos em Segurança do sistema.

    Os resultados do navegador do filtro de instância do desenvolvedor ServiceNow para 'Grupos'.

    Página de grupo de instância do desenvolvedor SeviceNow para o grupo de webexccagentsgroup.

  2. Clique em Editar e adicione as seguintes funções:

    • sn_openframe_user

    • x_caci_webexcc.agente

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

    Página de grupo de instância do desenvolvedor SeviceNow para grupo de webexccagentsgroup com rolos adicionados.

1

No campo Navegador de filtro , navegue até OpenFrame > Configurações.

A instância do desenvolvedor ServiceNow filtra o navegador com 'openframe' no campo de pesquisa e 'Configurações' em 'OpenFrame' realçado nos resultados.

2

Clique em Novo.

Instância do desenvolvedor ServiceNow OpenFrame Configurations com 'Novo' destacado.

3

Digite as seguintes propriedades para o URL:

  • Nome: Webex Contact Center Desktop

  • Título: Webex Contact Center

  • Largura: 550 (recomendado)

  • Altura: 600 (recomendado)

4

À direita do campo URL , clique no botão Bloquear e adicione x_caci_webexcc_agentdesktop.do como a URL. (Faça essa etapa para apontar a configuração para a página UI)

Instância do desenvolvedor ServiceNow OpenFrame Configurations – Página Novo registro com o ícone de cadeado realçado.

5

(Opcional) Selecione o Usuário/Grupos de Agentes para atribuir a configuração.

Instância do desenvolvedor ServiceNow OpenFrame Configurations – Seleção do grupo de usuários New Record.

6

Clique em Enviar. A URL é exibida como um link.

Instância do desenvolvedor ServiceNow OpenFrame Configurations – Novo registro com URL adicionado.

7

No campo Navegador de filtro , navegue até a área de trabalho de operações de serviço.

ServiceNow página Home com Webex Contact Center Agent Desktop integrado ao ServiceNow.

8

(Opcional) Na lista Grupo de usuários, mova os grupos de usuários que podem acessar o Webex Contact Center Desktop de Disponível para Selecionado.

9

Antes de tentar usar o telefone OpenFrame, assegure-se de fazer o upload do arquivo JSON de layout de área de trabalho personalizado ServiceNow no Webex Contact Center Management Portal. Para obter mais informações, consulte Configurar o ServiceNow Desktop Layout em Webex Contact Center.

1

Faça o download do layout de Desktop para ServiceNow de https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Tela Diagrama grande para Webex Contact Center Integrações CRM – Layouts de Área de Trabalho – ServiceNow.

2

Atualize as propriedades no arquivo Layout de área de trabalho, se necessário.

3

Acesse o Webex Contact Center Management Portal.

4

Na barra de navegação do Portal de Gerenciamento, escolha Layout de Provisionamento >Desktop.

Webex Contact Center página de provisionamento do Portal de Gerenciamento com o Layout de Desktop destacado na navegação à esquerda.

5

Clique em Novo Layout e insira os detalhes do layout da área de trabalho.

6

Carregue o arquivo JSON de layout de área de trabalho ServiceNow.

7

Clique em Salvar para salvar a configuração.

Agora você pode iniciar o Webex Contact Center Desktop no console ServiceNow.

8

No campo Navegador de filtro , navegue até a área de trabalho de operações de serviço.

ServiceNow página Home com Webex Contact Center Agent Desktop integrado ao ServiceNow.

1

No campo Filtrar navegador , navegue até Incidentes > Abrir Incidente.

2

Clique com o botão direito do mouse no campo de chamador e clique em Configurar Dicionário.

Janela Incidentes da instância do desenvolvedor ServiceNow com a opção Configurar diretório realçada.

3

Adicionar Atributos Separados por Vírgula"ref_contributions=show_phone,.

Janela incidente de chamada de instância do desenvolvedor do ServiceNow para uma Entrada do Diretório.

Agora você pode começar a usar o Webex Contact Center Desktop no console ServiceNow.

4

No campo Navegador de filtro , navegue até a área de trabalho de operações de serviço.

ServiceNow página Home com Webex Contact Center Agent Desktop integrado ao ServiceNow.

Suportamos iniciar a sessão em Agent Desktop usando o WebRTC for Salesforce (SFDC) e Microsoft Dynamics (MS Dynamics) Connectors apenas.

Agent Desktop no console ServiceNow

Antes de efetuar chamadas efetuadas, assegure-se de fazer o seguinte:

  • Crie o ponto de entrada de saída e configure uma estratégia de ponto de entrada de saída.

  • Ative a ANI de saída para o Perfil do agente.

  • Defina o ANI de saída para um mapeamento de Ponto de discagem número-entrada.

Para obter mais informações, consulte o capítulo Provisionamento do Cisco Webex Contact Center Guia de Configuração e Administração.

No campo Navegador de filtro , navegue até a área de trabalho de operações de serviço.

ServiceNow página Home com Webex Contact Center Agent Desktop integrado ao ServiceNow.

Para obter informações sobre como usar a Área de trabalho, consulte o Tab Agente na ajuda Webex Contact Center.

Visão geral

Este artigo aborda várias maneiras de personalizar as regras de negócios para o conector ServiceNow CRM. Ele detalha como você pode personalizar os casos de uso com base em regras comerciais que são específicas ao ServiceNow.

O cliente deve auto-gerenciar esses casos de uso no ServiceNow. A configuração é específica do ServiceNow e não do software Webex Contact Center ou da experiência.

Esta é uma documentação de referência para ajudar na modificação das regras comerciais. Os desenvolvedores do ServiceNow criarão e gerenciarão as regras comerciais e fornecerão suporte.

Cisco fornece apenas a documentação de exemplo.

As seções a seguir fornecem detalhes sobre como configurar, habilitar e gerenciar ações do widget para instâncias do desenvolvedor e da empresa.

Confirmar o conjunto de atualização para ações do Widget

Para instâncias empresariais licenciadas, instale o aplicativo Webex Contact Center mais recente da loja ServiceNow.

Para configurar o widget Ações para as instâncias do desenvolvedor, faça o download do arquivo XML mais recente Configuração do Sistema disponível no novo local: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. O nome do arquivo é Webexcc-servicenow-update-setv7-1-ActionsWidget.XML. Para confirmar o conjunto de atualização para o widget Ações, consulte as etapas 2 a 9 em Confirmar o Conjunto de Atualizações.

Habilitar widget Ações

Use a propriedade isWidgetDisplayEnabled para habilitar o widget Ações. Você não deve modificar o valor dessa propriedade na seção sem cabeça do layout de desktop personalizado. A propriedade sempre é definida como falsa na seção sem cabeça do layout de desktop personalizado. Você deve atualizar o valor da propriedade apenas na seção do painel do layout de área de trabalho personalizado.

Depois de habilitar o widget Ações no layout personalizado da área de trabalho, você pode executar as seguintes ações:

  • Gerenciar registros de atividades—Clique em Exibir/Editar Registro de Atividade para exibir a lista de registros de atividades associados ao chamador.
  • Associar objetos CRM—Clique em Associar aos registros de atividades para adicionar objetos CRM, como tipo de chamada (entrada ou saída), objeto de chamada, notas de chamada e assim por diante no registro de atividade.
  • Gerenciar incidentes—Clique em Criar incidente. Um novo incidente é criado com os detalhes do chamador preenchidos automaticamente. Você pode fazer as atualizações necessárias para o incidente. Você pode optar por modificar o tipo de registro de incidente para caso, módulo de RH e assim por diante, com base em seus requisitos. Para alterar o tipo de registro, modifique o valor da propriedade typeOfRecord na configuração do widget Ações. Por exemplo:
    { "comp": "md-tab-panel", "attributes": { "slot": "panel", "class": "widget-pane" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } }
  • Adicionar notas de chamada ao vivo: você pode capturar informações adicionais sobre a chamada na área de texto e finalização da chamada. É possível ver essas notas adicionadas como notas de chamada no registro de atividade.

Alteração de código no ServiceNow

O Script inclui alterações
  1. Vá para o navegador de filtros e pesquise por O script inclui.

    Selecione Script Includes em Interface do usuário do sistema.

  2. Filtre o Nome e pesquise por propUtils.

  3. Alterar o método UserGetSysId no Script.

    Atual:

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('campo'),this.getParameter('valor')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interação'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefone'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); return sysid; },

    Novo código de exemplo para o incidente:

    UserGetSysId: function () { var opened_for; //Alterações relacionadas ao incidente var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=aberto_para; inc.contact_type='telefone'; inc.short_description='Chamada recebida de' + this.getParameter('valor'); sysidlist.incsysid=inc.Insert(); } } var grInt = new GlideRecordSecure('interação'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefone'; grInt.opened_for= aberto_para; var sysid=grInt.Insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },

Alteração de método nas páginas da interface do usuário
  1. Acesse o navegador de filtros e pesquise por página da interface do usuário.

    Selecione Páginas da interface do usuário em Interface do usuário do sistema.

  2. Filtre o Nome e pesquise por Agente de desktop.

  3. Mudar o Tela pop Função no script do cliente .

    Função atual:

    // função de tela pop screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('campo', 'telefone'); gaout.addParam('valor', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });

    Código de exemplo para o incidente:

    // função de tela pop screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Para alterações relacionadas a incidentes var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entidade: 'incidente', consulta: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

Se as informações do chamador existirem no CRM e já houver um novo incidente aberto com esse contato, o aplicativo abrirá o incidente em andamento

Se as informações do chamador não existirem no CRM, o aplicativo abre um novo incidente

Se as informações do chamador existirem no CRM, o aplicativo abrirá um novo incidente com detalhes pré-preenchidos

Visão geral

Este caso de uso detalha o processo para adicionar uma coluna extra à tabela ServiceNow - webexcc_imp_activity e criar sn_openframe_phone_log após a instalação do CC Webex para o ServiceNow CRM Connector.

Por padrão, a tabela contém determinados campos e valores do sistema prontos para uso.

Você pode criar mais variáveis específicas de negócios (Variáveis CAD) dentro do designer de fluxo do WebexCC e adicionar as variáveis CAD dentro do log de atividades de chamadas POST do ServiceNow, bem como persistir isso nos dados da tabela de atividades de chamadas POST.

Esta é apenas uma documentação de referência e mostra como fazer isso para uma variável CAD de exemplo chamada Nome do Cliente, que armazena o nome do cliente dentro de IVR e o publica no ServiceNow.

Espera-se que os desenvolvedores do ServiceNow parceiro+cliente configurem e gerenciem essa configuração, pois é uma personalização do conector existente.

Cisco fornece apenas técnicas sobre como personalizar e estender o conector.

A partir deste artigo, a equipe Cisco validou o suporte para a adição da variável CAD ao Log de Atividades e à Tabela de Atividades usando a técnica descrita abaixo:

Adicionar coluna à atividade IMP do WebexCC

  1. Edite a tabela na versão do desenvolvedor do ServiceNow.

    Tabela de atividades do WebexCC IMP da instância do desenvolvedor do ServiceNow.

  2. Vá até o navegador de filtros e procure por estúdio.

    Navegador de filtros de instância de desenvolvedor do ServiceNow em Todos Tab com 'studio' inserido no filtro.

    Selecionar Webex Contact Center

    Aplicativo Studio para ServiceNow com a janela Selecionar aplicativo aberta.

    ou

    Aplicativo Studio para ServiceNow com a janela Selecionar aplicativo aberta e 'Selecionar aplicativo da loja para personalizar' selecionado.

    Aplicativo Studio para ServiceNow com a janela 'Selecionar aplicativo da loja para personalizar' aberta e 'Webex Contact Center' selecionado.

    Aplicativo Studio para ServiceNow com detalhes do arquivo do aplicativo Webex Contact Center.

  3. Selecione o Atividade IMP do WebexCC mesa

    Aplicativo Studio para tabela de atividades do ServiceNow WebexCC IMP.

  4. Adicione uma nova coluna, por exemplo, Nome do Cliente

    Exemplo de nova coluna da tabela de atividades do aplicativo Studio para ServiceNow WebexCC IMP.

    Exemplo de nova coluna da tabela de atividades do aplicativo Studio para ServiceNow WebexCC IMP com nova coluna adicionada.

Adicionar coluna ao registro do telefone

  1. Edite a tabela de registro do telefone.

    Pesquisa de instância do desenvolvedor do ServiceNow para uma tabela de registro telefônico.

    Tabela de registro telefônico da instância do desenvolvedor do ServiceNow.

  2. Adicione uma nova coluna, por exemplo, Nome do Cliente.

    Exemplos de novas colunas da tabela de registro telefônico da instância do desenvolvedor do ServiceNow.

    Exemplo de nova coluna da tabela de registro telefônico da instância do desenvolvedor do ServiceNow com nova coluna adicionada.

Mapa de transformação de atividades do WebexCC

Aplicativo Studio para o Mapa de transformação de atividades do ServiceNow WebexCC.

Adicione uma nova coluna, por exemplo, Nome do Cliente Mapeamento de campo.

Aplicativo Studio para ServiceNow WebexCC Activity Transform Map, exemplo de nova coluna para mapeamento de campo CustomerName.

Exemplo de nova coluna do aplicativo Studio para ServiceNow WebexCC Activity Transform Map com CustomeName selecionado no campo Target.

Personalizar colunas da lista

Aplicativo Studio para ServiceNow WebexCC Activity Transform Map com janela pop-up para colunas de lista personalizadas. A opção de ação de escolha é destacada na coluna Selecionado.

Conforme recomendado pelo Service Now, altere a ação Choice de criar para ignorar.

Aplicativo Studio para o Mapa de transformação de atividades do ServiceNow WebexCC com a coluna de ação Escolha, mostrando o menu suspenso para escolher "ignorar" ou "criar".

Aplicativo Studio para ServiceNow WebexCC Activity Transform Map com a coluna de ação Choice e 'ignorar' destacado para o campo de origem do nome do cliente.

Configurar lista de registros telefônicos

Aplicativo Studio para ServiceNow configurando lista de registros telefônicos com CustomerName destacado na coluna Selecionado.

Vá para Script Incluir

Adicione apenas uma linha webexcc.u_customername=actInfo.NomeDoCliente Para propUtils.

Navegador de filtro de instância do desenvolvedor ServiceNow para pesquisa de 'script includes'.

A instância do desenvolvedor do ServiceNow inclui a página Script.

Exemplo de roteiro

Veja a linha: webexcc.u_customername=actInfo.NomeDoCliente; com um comentário de apoio.

var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp: function () { var webexccprop = {}; webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/'; webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url'); // webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url'); return JSON.stringify(webexccprop); }, UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('campo'),this.getParameter('valor')); user.query(); if (user.next()) aberto_para=user.sys_id;//retornar user.sys_id; // senão // retornar nulo; var grInt = new GlideRecord('interação'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefone'; grInt.aberto_para= aberto_para; var sysid=grInt.Insert(); retornar sysid; }, setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Esta linha foi adicionada para capturá-la no Log de atividades webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); //Atividades no registro de incidente; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } return sys_id; }, type: 'propUtils' });

Crie uma variável CAD no Flow Designer

Webex Contact Center Designer de fluxo variável CAD com pop-up Adicionar variável de fluxo para CustomerName.

Adicione a variável CAD ao layout da área de trabalho

Exemplo

"CadName1:SnowField1,CadName2:SnowField2" CadName1 é CustomerName SnowField1 também é usado como CustomerName, que faz parte do script de exemplo mostrado acima "actInfo.CustomerName".

Exemplo de código-fonte para adicionar a variável CAD ao Layout da Área de Trabalho.

Capturas de tela de demonstração

Veja a variável CAD recém-adicionada na tabela de atividades do WebexCC.

Exemplo do ServiceNow da variável CAD recém-adicionada na tabela de atividades do WebexCC, mostrando "Nome do cliente" no pop-up do WebexCC Cisco.

Exemplo do ServiceNow da variável CAD recém-adicionada na tabela de atividades do WebexCC, mostrando "CustomerName" na seção de comentários em "Atividade" e "Administrador do sistema".

Exemplo de instância de desenvolvedor do ServiceNow da variável CAD recém-adicionada na tabela de atividades do WebexCC, mostrando a coluna 'CustomerName'.

Criar variável CAD para o Flow Designer

Urgência do incidente

Webex Contact Center O designer de fluxo cria uma tela de variável CAD mostrando o pop-up de edição de variável de fluxo para uma variável de fluxo de urgência de incidente.

Impacto do incidente

Webex Contact Center O designer de fluxo cria uma tela de variável CAD mostrando o pop-up de edição de variável de fluxo para uma variável de fluxo de urgência de incidente.

Atualização do script do Service Now

Atualizações no script incluem

  1. Vá até o navegador de filtros e pesquise por o script inclui

    Selecione o O script inclui opção sob Interface do sistema.

    Navegador de filtro de instância do desenvolvedor ServiceNow para pesquisa de 'script includes'

  2. Filtrar o Nome com propUtils.

    Script de instância de desenvolvedor do ServiceNow inclui filtro de nome por 'propUtils'

  3. Alterar o método UserGetSysId no Roteiro campo.

    Instância de desenvolvedor do ServiceNow Script inclui – página de detalhes do propUtils.

    Roteiro atual:

    UserGetSysId: function () { var opened_for; var usuário = novo GlideRecord("sys_user"); usuário.addQuery(this.getParameter('campo'),this.getParameter('valor')); usuário.query(); if (usuário.next()) opened_for=usuário.sys_id; var grInt = novo GlideRecord('interação'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefone'; grInt.opened_for= aberto_para; var sysid=grInt.Insert(); return sysid; },

    Novo código de exemplo para o incidente:

    UserGetSysId: function () { var opened_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('campo'),this.getParameter('valor')); user.query(); if(user.next()) { opened_for=user.sys_id;//retornar user.sys_id; var inc = new GlideRecordSecure('incidente'); inc.addQuery('id do chamador', opened_for); inc.addQuery('estado','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=aberto_para; inc.contact_type='telefone'; inc.urgency=this.getParameter('IncUrgência'); inc.impact=this.getParameter('Impacto'); inc.short_description='Chamada recebida de' + this.getParameter('valor'); sysidlist.incsysid=inc.Insert(); } } var grInt = new GlideRecordSecure('interação'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefone'; grInt.opened_for= aberto_para; var sysid=grInt.Insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },

Uma mudança de método nas páginas da interface do usuário
  1. Vá até o navegador de filtros e pesquise por Páginas da interface do usuário.

    Selecione o Páginas da interface do usuário opção sob Interface do sistema.

    Pesquisa do navegador de filtro de instância do desenvolvedor ServiceNow para 'página da interface do usuário'

  2. Filtrar o Páginas da interface do usuário com Nome e procurar por agente de desktop.

    Filtro de nome de páginas da interface do usuário da instância do desenvolvedor do ServiceNow para pesquisar 'agentdesktop'

  3. Mudar o Tela pop Função no campo de script.

    Página de interface do usuário da instância do desenvolvedor do ServiceNow – página de detalhes do agentdesktop.

    Função atual:

    // função de tela pop screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('campo', 'telefone'); gaout.addParam('valor', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); }

    Código de exemplo para o incidente:

    // função pop-up de tela screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('campo', 'telefone'); gaout.addParam('valor', chamadorani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Impact', Impact); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entidade: 'incidente', consulta: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entidade: 'incidente', consulta: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }

Se as informações do chamador existirem no CRM e não houver nenhum incidente novo ou em andamento, o aplicativo abrirá um novo incidente

Exemplo de incidente do ServiceNow.

Exemplo de interação do ServiceNow.

Alterar o código no ServiceNow

Adicionar novas colunas ao Atividade IMP do WebexCC mesa

Abra o Atividade IMP do WebexCC mesa

Instância de desenvolvedor do ServiceNow WebexCC Activity TransformMap.

Página de detalhes do TransformMap da atividade do WebexCC da instância do desenvolvedor do ServiceNow.

Adicionar uma nova coluna - InteractionsNumber

Instância de desenvolvedor do ServiceNow WebexCC Activity TransformMap nova coluna, InteractionNumber.

Página de detalhes do TransformMap da atividade do WebexCC da instância do desenvolvedor do ServiceNow mostrando a nova coluna 'interactionnumber' adicionada.

Adicionar uma nova coluna - IncidentNumber

Página de detalhes do TransformMap da atividade do WebexCC da instância do desenvolvedor do ServiceNow mostrando a adição de uma nova coluna 'incidentnumber'.

Clique em Atualizar.

Página de detalhes do TransformMap da atividade do WebexCC da instância do desenvolvedor do ServiceNow mostrando a edição do comprimento máximo da coluna IncidentNumber.

Página de detalhes do TransformMap da atividade do WebexCC da instância do desenvolvedor do ServiceNow mostrando a nova coluna 'incidentnumber' adicionada.

Adicionar novas colunas ao Registro de telefone mesa

Abra o Registro de telefone mesa

Tabela de registro telefônico da instância do desenvolvedor do ServiceNow.

Adicionar uma nova coluna - InteractionsNumber

Instância do desenvolvedor ServiceNow - Página de entrada de diretório - Novo registro mostrando uma nova coluna para InteractionsNumber.

Tabela de registro telefônico da instância do desenvolvedor do ServiceNow com coluna InteractionsNumber adicionada.

Adicionar uma nova coluna - IncidentNumber

Entrada de diretório da instância do desenvolvedor do ServiceNow – página Novo registro mostrando uma nova coluna para IncidentNumber.

Tabela de registro telefônico da instância do desenvolvedor do ServiceNow com coluna IncidentNumber adicionada.

Mapa de transformação de atividades do WebexCC

Abrir Transformar mapa Do navegador de filtros

Pesquisa do navegador de filtro de instância do desenvolvedor ServiceNow para 'mapa de transformação'

Mapas de transformação de tabela de instância de desenvolvedor do ServiceNow mostrando o TransformMap de atividade do WebexCC nos resultados.

Clique em Transformação de atividade do WebexCC

Instância de desenvolvedor do ServiceNow WebexCC Activity TransformMap.

Adicionar novo - para Mapa de Número de Interação

Instância de desenvolvedor do ServiceNow WebexCC Activity TransformMap com 'InteractionNumber' inserido no 'Campo de destino'

Instância de desenvolvedor do ServiceNow WebexCC Activity TransformMap com 'InteractionNumber' adicionado.

Adicionar novo - para Mapa de Número de Incidente

Instância de desenvolvedor do ServiceNow WebexCC Activity TransformMap com 'IncidentNumber' inserido no 'Campo de destino'

Clique em Update (Atualizar).

Instância de desenvolvedor do ServiceNow WebexCC Activity TransformMap com 'IncidentNumber' adicionado.

Mudanças no script incluem

  1. Vá até o navegador de filtros e procure por "script includes".

    Selecione Script Includes em Interface do usuário do sistema.

    Navegador de filtros de instância do desenvolvedor ServiceNow com pesquisa por 'script includes'

  2. Filtrar o Nome com propUtils.

    O script de instância do desenvolvedor do ServiceNow inclui o filtro Nome aplicado à pesquisa e 'propUtils' inserido no campo de pesquisa.

  3. Alterar o método definirWebexcctable.

    Script de instância do desenvolvedor ServiceNow inclui - página propUtils

    Novo código de exemplo para Incidente:

    setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { //Atividades no registro de incidente; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; excluir actInfo['interaction_sys_id']; excluir actInfo['incident_sys_id']; if( interactionsysid!= null && interactionsysid != undefined){ var inte = new GlideRecordSecure('interaction'); //inte.get('sys_id', interactionsysid ); inte.addQuery('sys_id', interactionsysid ); inte.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('state','Fechado Concluído'); inte.work_notes='Atualizar Estado para fechado.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid ); inci.query(); if (inci.next()) { incnum=inci.number; var jsonPretty = JSON.stringify(actInfo,null,2); //JSON.stringify(JSON.parse(actInfoString),null,2); inci.comments =jsonPretty; inci.update(); } }else{ var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incidente'); inc.addQuery('id_do_chamador', suser.sys_id); inc.addQuery('estado','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); se (inc.next()) { var jsonPretty = JSON.stringify(actInfo,null,2); inc.comments =jsonPretty; inc.update(); } } } webexcc.u_ani = actInfo.ani; webexcc.u_dnis =actInfo.dnis; webexcc.u_queuename =actInfo.queuename; webexcc.u_wrapuptime =actInfo.wrapuptime; webexcc.u_callduration =actInfo.CallDurationInSeconds; webexcc.u_ringingtime =actInfo.ringingtime; webexcc.u_activitydate =actInfo.ActivityDate; webexcc.u_callobject =actInfo.CallObject; webexcc.u_calltype =actInfo.CallType; webexcc.u_calldisposition=actInfo.CallDisposition; webexcc.u_incidentnumber=incnum; webexcc.u_interactionsnumber=intenum; sys_id=webexcc.Insert(); } retornar sys_id; },

Alterações de método nas páginas da interface do usuário

  1. Vá para o navegador de filtros e pesquise por Páginas da interface do usuário

    Selecione o Páginas da interface do usuário opção sob Interface do sistema.

    Navegador de filtros de instância de desenvolvedor do ServiceNow com pesquisa por 'página da interface do usuário'

  2. Filtrar as páginas da IU com Nome e procurar por agente de desktop.

    Páginas de interface do usuário da instância do desenvolvedor do ServiceNow com filtro de nome aplicado à pesquisa.

  3. Mudar o nowActivities e screenpop Função no script.

    Página de interface do usuário da instância do desenvolvedor do ServiceNow – agentdesktop.

    Função atual:

    função nowActivities(actInfo, ani) { var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); }

    Código de exemplo para o incidente:

    função nowActivities(actInfo, ani) { var sysObjstr = window.localStorage.getItem("screenpopinteraction"); if(sysObjstr != null && sysObjstr != undefined) { var sysObjjson=JSON.parse(sysObjstr); actInfo.interaction_sys_id=sysObjjson.sysid; actInfo.incident_sys_id=sysObjjson.incsysid; } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); } função screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('campo', 'telefone'); gaout.addParam('valor', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entidade: 'incidente', consulta: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entidade: 'incidente', consulta: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); } 

Resultados após a atualização

Página de registros telefônicos da instância do desenvolvedor do ServiceNow.

As seguintes personalizações se aplicam às versões 1.0.5 e anteriores. Para personalizações para as versões mais recentes 1.0.7 e superiores, siga os passos acima.

Personalização nº 1 - Adicionar regras de negócios personalizadas para casos de uso de fluxo de chamadas

Crie um novo registro de incidente para cada chamada

Para cada nova chamada no conector WebexCC CRM no ServiceNow, crie um novo registro de incidente.

  1. Pesquisar Regras de Negócios no navegador de filtros

    ServiceNow developer instance Business Rules page header.
  2. Clique em Novo.

    ServiceNow developer instance Business Rule – New Record.

    Código de exemplo para referência:

    função customcti() { url var = null; nome do var = sysparm_caller_name; eid = sysparm_caller_id; telefone var = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; if (view == null || view == '') view = "itil"; var userID = null; if (eid != null &ll&eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null &ll &name != null &> name != '') { userID = UserGetSysId("name", nome); } if (userID == null &&phone != null && phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; url de retorno; } função UserGetSysId(campo, valor) { usuário var = novo GlideRecord("sys_user"); user.addQuery(campo, valor); user.query(); if (user.next()) return user.sys_id; else return null; }

    Exemplo de configuração da regra comercial

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. Ativar cliente para chamada

    ServiceNow developer instance Business Rules page with the Personalized List Columns popup screen showing ‘Client callable’ in the ‘Selected’ column.

    O processamento de Integração entre telefonia e computador (CTI) para Incidente é marcado como Verdadeiro.

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. Atualize a url do screenpop com a CTI Rule personalizada" cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

    System Property page for screenpop_url showing update to the custom CTI rule in the ‘Value’ field.
Exemplo

O sysparm_cti_rule=nome em que 'nome' é o nome de uma função deve ser invocado para CTI Processamento , em vez de usar o script padrão.

Defina a função em uma entrada sys_script marcada para o cliente como callable.

Se precisar Insert, atualizar ou excluir quaisquer GlideRecords na função, chame uma função nãocliente à parte para efetuar as atualizações.

Para tornar um cliente de script callable, você deve marcar a caixa de seleção cliente-callable no formulário exibido quando o sys_script entrada é exibido.

A caixa de seleção cliente-callable não aparece por padrão. Para visualizar, você deve modificar os campos que aparecem no formulário usando o ícone de engrenagem e o mecanismo de recipiente de slush.

Referências

Personalização n.º 2 - Adicione a variável CAD na tabela Webex Contact Center atividade

Visão geral

Este artigo detalha o processo para adicionar uma coluna adicional à tabela ServiceNow - webexcc_activity criada após a instalação do Webex CC para o ServiceNow CRM Connector.

Por padrão, a tabela contém campos e valores de sistema fora de caixa.

Você pode criar mais variáveis específicas de negócios (Variáveis CAD) dentro do Designer de Fluxos WebexCC e adicionar essas variáveis CAD dentro do log de atividades de chamadas ServiceNowPOST, e manter isso até os dados da tabela de atividades de chamadasPOST.

  • Essa é apenas a documentação de referência - e mostra como fazer isso para uma variável CAD de exemplo chamada Nome do cliente que armazena o nome do cliente dentro do IVR e publica isso no ServiceNow.

  • Os desenvolvedores partner+customer ServiceNow configurarão e gerenciarão essa configuração, uma vez que é uma personalização para o conector existente.

  • Cisco somente fornecerá as técnicas sobre como personalizar e estender o conector.

  • A partir deste artigo, a equipe Cisco validou o suporte para a adição da variável CAD à Tabela de Log e Atividade de Atividades usando a técnica descrita abaixo.

Adicionar coluna à atividade do WebexCC
  1. Edite a tabela na versão do desenvolvedor do ServiceNow.

    ServiceNow developer instance Table – WebexCC Activity page.
  2. Vá para o Estudio >Webex Contact Center.

    ServiceNow developer instance filter navigator search for ‘studio’  highlighting the cross launch search result for ‘App Engine Studio’

    App Engine Studio Select Application screen showing Webex Contact Center in the search results.

    App Engine Studio Webex Contact Center screen.

  3. Selecione a tabela de Atividades do WebexCC.

    App Engine Studio WebexCC Activity table.
  4. Por exemplo, CustomerName.

    App Engine Studio WebexCC Activity table column edit example for ‘CustomerName’ column.

    App Engine Studio WebexCC Activity table screen.

  5. Selecione Layout de lista para atividades WebexCC.

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
Crie um novo Script Inclui

Esta etapa não será necessária se você estiver usando o Conjunto de atualizações XML - somente uma linha deverá ser adicionada "webexcc.u_customername=actInfo.CustomerName" ao propUtils.

ServiceNow developer instance filter navigator search for ‘script includes’

ServiceNow developer instance Script Includes page with ‘Application’ in the filter.

ServiceNow developer instance Script Includes – New Record page.

Exemplo de script

Consulte a linha com:webexcc.u_customername=actInfo.CustomerName; com um comentário de suporte.

var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(global. AbstractAjax Encapsulaor,{ getWebexccProp: function () { var webexccprop = {}; Webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/'; webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url'); webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url'); return JSON.stringify(webexccprop); }, setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_ Webexcc.webexccactivitytable')) webexcc.addQuery("callobject", actInfo.CallObject); Webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; Webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Esta linha é adicionada - para capturá-la no Webexcc de atividade. u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Atividades no registro de incidente; var actInfoString =this.getParameter('actInfo'); var suser = novo GlideRecordSecure("sys_user"); suser.addQuery("telefone", isto.getParameter('ani')); suser.consulta(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2); inc.comments =jsonPretty; inc.update(); } } retornar sys_id; }, tipo: 'propUtils2' });
Editar a página de interface de usuário com um novo nome de scriptApp Engine Studio agentdesktop UI page with new script name.

Criar uma variável CAD no Designer de FluxosWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

Adicione a variável CAD ao Layout da Área de TrabalhoWebex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

Demonstração de que a demo se torna uma demo,

Visualize a variável CAD recém-adicionada na tabela de Atividades WebexCC.

ServiceNow developer instance showing newly added CAD variable in the WebexCC Activity table.

ServiceNow developer instance WebexCC Activities screen.