Del via


Overlevér til ServiceNow

Denne artikel indeholder en trinvis vejledning i, hvordan du opretter og forbinder en ServiceNow Virtual Assistant til en Copilot Studio-agent og eskalerer til ServiceNow Live Agent. Brug denne integration til at drage fordel af funktionerne på begge platforme og bruge generative svar til at forbedre din agentoplevelse.

Bemærk

Du kan finde flere oplysninger i Konfigurere overdragelse til en generisk engagementshub. Copilot Studio giver kun hooks, så du kan integrere menneskelige agentløsninger som ServiceNow.

Følgende trin er kun et forslag, og du har brug for et softwareudviklingsteam til at udføre dem. Denne procedure er beregnet til erfarne it-teknikere, udviklere eller systemintegratorer, der har en solid forståelse af udviklerværktøjer, hjælpeprogrammer og integrerede udviklingsmiljøer (IDE'er).

Overview

Integrationen mellem Copilot Studio og ServiceNow kræver følgende konfigurationstrin på højt niveau:

  1. Opret en Azure-funktion som relæ til DirectLine.

  2. Konfigurer Bot Interconnect i ServiceNow.

  3. Kortlæg emner mellem ServiceNow Virtual Agent og Copilot Studio.

  4. Udvid DirectLinePrimaryBotIntegrationInboundTransformer.

  5. Konfigurer handoff i Copilot Studio.

Forudsætninger

Før du begynder, skal du sikre dig, at du har følgende forudsætninger på plads:

  • En aktiv ServiceNow-konto, hvor ServiceNow Virtual Agent er aktiveret, og ServiceNow Bot Interconnect er aktiveret. (ServiceNow Yokohama eller nyere er påkrævet).
  • En Copilot Studio-agent, der er konfigureret med no authentication (dette mønster bruger server-til-server-godkendelse med en Direct Line-hemmelighed).
  • Administratoradgang til ServiceNow.

Opret en Azure-funktion som relæ til DirectLine

Azure Function fungerer som et relæ og gør det muligt for ServiceNow Bot Interconnect at hente aktiviteter (f.eks. meddelelser og hændelser) fra en igangværende samtale med en Copilot Studio-agent.

Important

Standardventetiden for Azure-funktionen er 2.000 ms (2 sekunder), hvilket kan være for kort, når der bruges generativ orkestrering i Copilot Studio. Hvis meddelelser ikke kommer igennem i den virtuelle agent i ServiceNow, kan du overveje at øge ventetiden.

Eksempelanmodning sendt af 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

Eksempelsvar fra Azure-funktionen

{
    "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"
}

Oprettelse og installation af funktionen

Du kan enten oprette og udrulle den v3 Azure-funktion, der er beskrevet i ServiceNow-dokumentationen, eller den v4 Azure-funktion, der er tilgængelig i GitHub-lageret i Copilot Studio.

Mulighed 1: Udrul v3 Azure-funktionen

Hvis du vil oprette og installere v3 Azure Function, skal du følge de trin, der er beskrevet i dokumentationen til ServiceNow:

  1. Oprette en JavaScript-funktion i Microsoft Azure ved hjælp af Visual Studio Code.

  2. Udrul funktionen på Azure, og hent funktionens URL-adresse til brug i ServiceNow Bot Interconnect.

Mulighed 2: Udrul v4 Azure-funktionen

Du kan også bruge den v4 Azure-funktion, der er tilgængelig i GitHub-lageret i Copilot Studio:

  1. Klon repositoryet fra Copilot Studio Samples. Funktionen er placeret under CopilotStudioSamples/contact-center/servicenow/DirectLineAzureFunction.

  2. Følg vejledningen i Opret en JavaScript-funktion i Azure ved hjælp af Visual Studio Code.

  3. Kopiér funktionens URL-adresse på siden Oversigt i funktionsappen.

Konfigurer Bot Interconnect i ServiceNow

  1. Hente din agents Direct Line-hemmelighed.

  2. Føje den hemmelige Direct Line-nøgle til din forekomst af Virtual Agent Bot Interconnect.

Kortlægge emner mellem ServiceNow Virtual Agent og Copilot Studio

  1. Hvis du vil kalde Emner for Copilot Studio, skal du oprette et Virtual Agent Bot Interconnect Shell-emne.

Udvid DirectLinePrimaryBotIntegrationInboundTransformer

Den indbyggede DirectLinePrimaryBotIntegrationInboundTransformer fortolker ikke Copilot Studio-begivenheden handoff.initiate , når samtalen skal overdrages til en live agent.

Funktionen shouldConnectToAgent i DirectLinePrimaryBotIntegrationInboundTransformer returnerer altid false:

shouldConnectToAgent: function(response) {
    return false;
}

Hvis du vil håndtere afleveringshændelser korrekt, skal du oprette en brugerdefineret transformer, der udvider standardtransformeren og registrerer hændelsen handoff.initiate .

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;
    }

Opret den brugerdefinerede transformer

  1. I ServiceNow skal du skifte til området Bot Interconnect-program .

    1. Vælg globusikonet i øverste højre hjørne.

    2. Vælg Bot Interconnect på programlisten.

  2. Opret en ny Script Include.

    1. Gå til System Definition>Script Includes.

    2. Vælg Ny.

    3. Konfigurér følgende indstillinger:

    • Navn: CustomDirectLineInboundTransformer
    • API-navn: sn_va_bot_ic.CustomDirectLineInboundTransformer (genereret automatisk)
    • Program: Opret forbindelse mellem bot (markeret automatisk)
    • Tilgængelig fra: Kun dette programområde
    • Aktiv: ✓ (markeret)
  3. Erstat standardscriptindholdet med den brugerdefinerede transformerkode fra lageret Copilot Studio Samples.

  4. Vælg Send for at gemme scriptet Include.

Opdater konfigurationen af Bot Interconnect

  1. Gå til Workflow Studio.

    1. I ServiceNow skal du gå til Workflow Studio.

    2. Under Handlinger skal du finde Direct Line Primary Bot Integration Inbound Transformer.

  2. Skift transformerhandlingen.

    1. Åbn handlingen Direct Line Primary Bot Integration Inbound Transformer .

    2. I scripteditoren skal du kommentere standardtransformeren og erstatte den med et kald til din brugerdefinerede transformer.

    (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. Gem ændringerne af handlingen, og publicer.

Konfigurer aflevering

Hvis du vil aktivere aflevering til en ServiceNow Live Agent, skal du føje en samtalenode til din agents eskaleringsemne .

  1. Åbn din agent i Copilot Studio, og gå til Emner>System>eskaler.

  2. Vælg + (Tilføj node) >Emneadministration>Overfør samtale.

  3. Gem dit emne, og publicer din agent.

Noden Overfør samtale sender en handoff.initiate hændelse, som ServiceNows brugerdefinerede transformer registrerer og processer.

Eksempel på eskalering af emne YAML

Du kan også importere følgende YAML-konfiguration for et komplet eskaleringsemne med overførselsfunktioner:

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

Troubleshooting

Hvis du støder på fejl i chatwidgetten ServiceNow Virtual Agent, skal du følge disse fejlfindingstrin:

Kontrollér azure-funktionslogge

  1. Kontrollér, at din Azure-funktion fungerer korrekt og ikke returnerer fejl.

  2. Få vist logfiler i realtid ved hjælp af Azure Functions-streaminglogge.

  3. Kontrollér Application Insights for at få detaljerede telemetri- og fejloplysninger.

Aktivér fejlfinding af ServiceNow

Brug ServiceNows indbyggede fejlfindingsværktøjer til at spore udførelsesflowet:

  1. Aktivér Script Tracer i ServiceNow.

  2. Gentag den handling, der forårsager fejlen.

  3. Gennemse sporingslogfilerne for at identificere, hvor problemet opstår.

Overvåg Aktiveringer af Copilot Studio

Kontrollér, at din Copilot Studio-agent er aktiveret korrekt:

  1. Forbind din Copilot Studio-agent til Application Insights.

  2. Overvåg telemetrien for at bekræfte, at agenten modtager anmodninger fra ServiceNow.

  3. Kontrollér, om der er fejl eller uventede funktionsmåder i agentens udførelse.

Almindelige problemer og løsninger

  • Aflevering udløses ikke: Kontrollér, at den brugerdefinerede transformer er aktiv, og at samtalenoden Overfør er konfigureret korrekt.
  • Godkendelsesfejl: Kontrollér, at den direkte linjehemmelighed er konfigureret korrekt i ServiceNow. Du skal specifikt sammenkæde legitimationsoplysningerne i ServiceNow med en forbindelsespost.
  • Timeout for funktion: Kontrollér, om Azure-funktionen får timeout, og øg timeoutindstillingerne, hvis det er nødvendigt.