Overfør samtaler til ServiceNow

Note

Denne artikkelen beskriver funksjoner som brukes i agenter eller agentstrømmer drevet av standardledningsnettet.

Koble ServiceNow Virtual Agent til en Copilot Studio-agent og konfigurer overlevering til en menneskelig agent i ServiceNow. Integrasjonen bruker en Azure-funksjon for å videresende Direct Line-aktiviteter og en tilpasset ServiceNow-transformator for å oppdage overleveringshendelser.

Note

Les mer i Konfigurer overlevering til et hvilket som helst generisk engasjementssenter. Copilot Studio tilbyr hooks for integrering av løsninger med menneskelige agenter som ServiceNow. Utviklingsteamet ditt implementerer integrasjonen.

Følgende trinn er bare et forslag, og du trenger et programvareutviklingsteam for å utføre dem. Denne prosedyren er ment for erfarne IT-teknikere, utviklere eller systemintegratorer som har en solid forståelse av utviklerverktøy, verktøy og integrerte utviklingsmiljøer (IDEer).

Overview

Integreringen mellom Copilot Studio og ServiceNow krever følgende konfigurasjonstrinn på høyt nivå:

  1. Rull ut en Azure-funksjon som relé til Direct Line.

  2. Konfigurer Bot Interconnect i ServiceNow.

  3. Tilordne emner mellom ServiceNow Virtual Agent og Copilot Studio.

  4. Forleng DirectLinePrimaryBotIntegrationInboundTransformer.

  5. Konfigurer handoff i Copilot Studio.

Prerequisites

Før du begynner, må du kontrollere at du har følgende forhåndskrav:

  • En aktiv ServiceNow-konto med ServiceNow Virtual Agent og ServiceNow Bot Interconnect aktivert. Du trenger ServiceNow Yokohama eller senere.
  • En Copilot Studio-agent konfigurert uten autentisering. Denne innstillingen gjelder for sluttbrukerens innlogging; server-til-server-reléet bruker en Direct Line secret for å autorisere kanaltilgang.
  • Administratortilgang til ServiceNow.

Opprett en Azure Function som et relé til Direct Line

Azure-funksjonen fungerer som et relé slik at ServiceNow Bot Interconnect kan hente aktiviteter, som meldinger og hendelser, fra en pågående samtale med en Copilot Studio-agent.

Important

Standard ventetid for Azure Function er 2000 ms (2 sekunder), noe som kan være for kort når du bruker generativ orkestrering i Copilot Studio. Hvis meldinger ikke kommer gjennom i den virtuelle agenten i ServiceNow, bør du vurdere å øke ventetiden.

Eksempelforespørsel sendt av ServiceNow Bot Interconnect

GET /api/relayToDirectLine HTTP/1.1
Host: your-function-app.azurewebsites.net
Authorization: Bearer YOUR_DIRECT_LINE_SECRET_HERE
ConversationId: abc123def456-conversation-id
Watermark: 5
WaitTime: 3000

Eksempel på svar fra Azure Function

{
    "activities": [
        {
            "type": "message",
            "id": "0000001",
            "timestamp": "2025-07-13T13:46:43.6095506Z",
            "text": "Hello, I'm a Copilot Studio Agent.",
            "from": {
                "id": "bot-id",
                "name": "Copilot Studio Agent",
                "role": "bot"
            },
            "conversation": {
                "id": "wwjmISGzmd3FzMEAgotiJ-us"
            }
        },
        {
            "type": "message",
            "id": "0000002",
            "timestamp": "2025-07-13T13:46:45.0000000Z",
            "text": "speak to a live agent",
            "from": {
                "id": "user-id",
                "name": "User",
                "role": "user"
            },
            "conversation": {
                "id": "wwjmISGzmd3FzMEAgotiJ-us"
            }
        },
        {
            "type": "event",
            "id": "0000006",
            "timestamp": "2025-07-13T13:46:51.2854808Z",
            "name": "handoff.initiate",
            "value": {
                "va_LastPhrase": "speak to a live agent",
                "va_Topics": ["Escalate"]
            }
        }
    ],
    "watermark": "10"
}

Opprett og distribuer funksjonen

Du kan opprette og distribuere enten v3 Azure Function som er beskrevet i ServiceNow-dokumentasjonen eller v4 Azure Function som er tilgjengelig i Copilot Studio GitHub-repositoriet.

Alternativ 1: Distribuer v3 Azure-funksjonen

Hvis du vil opprette og distribuere v3 Azure Function, følger du trinnene som er beskrevet i ServiceNow-dokumentasjonen:

  1. Opprett en JavaScript-funksjon i Microsoft Azure med Visual Studio Code.

  2. Distribuer funksjonen til Azure, og hent nettadressen for funksjonen for bruk i ServiceNow Bot Interconnect.

Alternativ 2: Distribuer v4 Azure-funksjonen

Alternativt kan du bruke v4 Azure Function som er tilgjengelig i Copilot Studio GitHub-repositoriet:

  1. Klone Copilot Studio Samples-repositoriet. Åpne det oppgitte prosjektet under contact-center/servicenow/DirectLineAzureFunction i Visual Studio Code.

  2. Følg prosjektets oppsettsinstruksjoner. Lag en funksjonsapp i Azure og rull ut det medfølgende reléprosjektet. Ikke bytt ut reléet med en ny malgenerert HTTP-funksjon. Lær mer i Distribuer prosjektfiler.

  3. Etter utrulling, kopier URL-en til reléets HTTP-funksjon for bruk i ServiceNow Bot Interconnect. Bruk funksjonsendepunktet, ikke funksjonsappens basis-URL. Lær mer i Få URL-en til en HTTP-trigget funksjon i Azure.

Konfigurer Bot Interconnect i ServiceNow

  1. Hent agentens direktelinjehemmelighet.

  2. Legg til den hemmelige Direct Line-nøkkelen i Virtual Agent Bot Interconnect-forekomsten.

Tilordne emner mellom ServiceNow Virtual Agent og Copilot Studio

  1. Opprett et skallemne for Virtual Agent Bot Interconnect for å kalle opp Copilot Studio-emner.

Utvid DirectLinePrimaryBotIntegrationInboundTransformer

Den innebygde DirectLinePrimaryBotIntegrationInboundTransformer parser ikke Copilot Studio-hendelse handoff.initiate når samtalen må overleveres til en live agent.

Funksjonen shouldConnectToAgent i DirectLinePrimaryBotIntegrationInboundTransformer returnerer alltid usann:

shouldConnectToAgent: function(response) {
    return false;
}

Hvis du vil håndtere handoff-hendelser på riktig måte, oppretter du en egendefinert transformator som utvider standardtransformatoren handoff.initiate og oppdager hendelsen.

shouldConnectToAgent: function() {
        var response = this._response || {};
        var activities = response.activities || [];

        var handoffDetected = activities.some(function(activity) {
            return activity.type === "event" && activity.name === "handoff.initiate";
        });

        if (handoffDetected) {
            return true;
        }
        return false;
    }

Opprett den egendefinerte transformatoren

  1. Bytt til programomfanget Bot Interconnect i ServiceNow.

    1. Velg globusikonet øverst til høyre.

    2. Velg Bot Interconnect fra programlisten.

  2. Opprett en ny skriptinnkludering.

    1. Gå til System Definition>Script Includes.

    2. Velg Nytt.

    3. Konfigurer følgende innstillinger:

    • Navn: CustomDirectLineInboundTransformer
    • API-navn: sn_va_bot_ic.CustomDirectLineInboundTransformer (autogenerert)
    • Program: Bot Interconnect (automatisk merket)
    • Tilgjengelig fra: Bare dette programomfanget
    • Aktiv: Utvalgt
  3. Erstatt standard skriptinnhold med den egendefinerte transformatorkoden fra Copilot Studio Samples-repositoriet.

  4. Velg Send inn for å lagre Script Include.

Oppdater konfigurasjonen for Bot Interconnect

  1. Gå til Workflow Studio.

    1. Gå til Workflow Studio i ServiceNow.

    2. Under Handlinger finner du Inngående transformering av primær robotintegrering for Direct Line.

  2. Endre transformeringshandlingen.

    1. Åpne handlingen Innkommende transformering av primær robotintegrering i Direct Line.

    2. I skriptredigeringsprogrammet kan du kommentere standardtransformatoren og erstatte den med et kall til den egendefinerte transformatoren.

    (function execute(inputs, outputs) {
       var clientVariables = JSON.parse(inputs['client_variables']);
       var response = JSON.parse(inputs['response']);
       //set client variables
       response.clientVariables = clientVariables;
    
       //var transformedResponse = new sn_va_bot_ic.DirectLinePrimaryBotIntegrationInboundTransformer(response).transformResponse();
       var transformedResponse = new sn_va_bot_ic.CustomDirectLineInboundTransformer(response).transformResponse();
    
       outputs['transformed_response'] = transformedResponse;
     })(inputs, outputs);
    
  3. Lagre endringene i handlingen og publiser.

Konfigurer overføring

For å konfigurere overlevering til en menneskelig agent i ServiceNow, legg til en Transfer conversation-node i agentens Escalate-tema.

  1. Åpne agenten i Copilot Studio, og gå til Topics>System>Escalate.

  2. Velg + (Legg til node) > Samtale omoverføring av>.

  3. Lagre emnet, og publiser agenten.

Overføringssamtalenoden sender en handoff.initiate hendelse som ServiceNows egendefinerte transformator oppdager og behandler.

Eksempel på eskalerende emne YAML

Du kan også importere følgende YAML-konfigurasjon for et fullstendig eskalerende emne med overføringsfunksjoner:

kind: AdaptiveDialog
startBehavior: CancelOtherTopics
beginDialog:
  kind: OnEscalate
  id: main
  intent:
    displayName: Escalate
    includeInOnSelectIntent: false
    triggerQueries:
      - Talk to agent
      - Talk to a person
      - Talk to someone
      - Call back
      - Call customer service
      - Call me please
      - Call support
      - Call technical support
      - Can an agent call me
      - Can I call
      - Can I get in touch with someone else
      - Can I get real agent support
      - Can I get transferred to a person to call
      - Can I have a call in number Or can I be called
      - Can I have a representative call me
      - Can I schedule a call
      - Can I speak to a representative
      - Can I talk to a human
      - Can I talk to a human assistant
      - Can someone call me
      - Chat with a human
      - Chat with a representative
      - Chat with agent
      - Chat with someone please
      - Connect me to a live agent
      - Connect me to a person
      - Could some one contact me by phone
      - Customer agent
      - Customer representative
      - Customer service
      - I need a manager to contact me
      - I need customer service
      - I need help from a person
      - I need to speak with a live agent
      - I need to talk to a specialist please
      - I want to talk to customer service
      - I want to proceed with live support
      - I want to speak with a consultant
      - I want to speak with a live tech
      - I would like to speak with an associate
      - I would like to talk to a technician
      - Talk with tech support member

  actions:
    - kind: TransferConversationV2
      id: transferConversationV2_3JXrI7
      transferType:
        kind: TransferToAgent
        messageToAgent:
        context:
          kind: AutomaticTransferContext

Feilsøking

Hvis det oppstår feil i chatprogrammet ServiceNow Virtual Agent, følger du disse feilsøkingstrinnene:

Kontroller Azure Function logs

  1. Kontroller at Azure Function fungerer som den skal og ikke returnerer feil.

  2. Vis sanntidslogger ved hjelp av Azure Functions-strømmingslogger.

  3. Se Application Insights for detaljert telemetri- og feilinformasjon.

Slå på ServiceNow-feilsøking

Bruk ServiceNows innebygde feilsøkingsverktøy til å spore utføringsflyten:

  1. Slå på Script Tracer i ServiceNow.

  2. Gjenta handlingen som forårsaker feilen.

  3. Se gjennom sporingsloggene for å identifisere hvor problemet oppstår.

Overvåk Copilot Studio-påkallinger

Sørg for at din Copilot Studio-agent kalles korrekt:

  1. Koble Copilot Studio-agenten til Application Insights.

  2. Overvåk telemetrien for å bekrefte at agenten mottar forespørsler fra ServiceNow.

  3. Se etter eventuelle feil eller uventet virkemåte under agentens kjøring.

Vanlige problemer og løsninger

  • Handoff utløser ikke: Kontroller at den egendefinerte transformatoren er aktiv, og at overføringssamtalenoden er riktig konfigurert.
  • Godkjenningsfeil: Kontroller at direktelinjehemmeligheten er riktig konfigurert i ServiceNow. Du kan spesifikt koble legitimasjonsposten i ServiceNow med en tilkoblingspost.
  • Tidsavbrudd for funksjonen: Kontroller om Azure-funksjonen er tidsavbrutt og øk tidsavbruddsinnstillingene om nødvendig.