ServiceNow'a devretme

Bu makalede, ServiceNow Sanal Yardımcısı oluşturma ve bir Copilot Studio aracısına bağlama ve ServiceNow Live Agent'a yükseltme hakkında adım adım yönergeler sağlanır. Her iki platformun özelliklerinden yararlanmak için bu tümleştirmeyi kullanın ve aracı deneyiminizi geliştirmek için üretken yanıtlar kullanın.

Not

Daha ayrıntılı bilgi için Herhangi bir genel etkileşim merkezine devretmeyi yapılandırma bölümüne bakın. Copilot Studio yalnızca ServiceNow gibi insan aracı çözümlerini entegre etmeniz için kancalar sağlar.

Aşağıdaki adımlar yalnızca bir öneridir ve bunları gerçekleştirmek için bir yazılım geliştirme ekibine ihtiyacınız vardır. Bu yordam, geliştirici araçlarını, yardımcı programları ve tümleşik geliştirme ortamlarını (IDE) iyi bilen deneyimli BT uzmanlarına, geliştiricilere veya sistem tümleştiricilerine yöneliktir.

Genel Bakış

Copilot Studio ile ServiceNow arasındaki tümleştirme için aşağıdaki üst düzey yapılandırma adımları gerekir:

  1. DirectLine'a geçiş olarak bir Azure İşlevi oluşturun.

  2. ServiceNow'da Bot Ara Bağlantısını yapılandırın.

  3. ServiceNow Sanal Aracısı ile Copilot Studio arasındaki konuları eşleme.

  4. DirectLinePrimaryBotIntegrationInboundTransformer'ı genişletin.

  5. Copilot Studio'da aktarımı yapılandırın.

Önkoşullar

Başlamadan önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:

  • ServiceNow Virtual Agent ve ServiceNow Bot Interconnect etkinleştirilmiş bir ServiceNow hesabı. (ServiceNow Yokohama veya üzeri gereklidir).
  • no authentication ile yapılandırılmış bir Copilot Studio aracısı (bu desen, Direct Line gizli dizisiyle sunucudan sunucuya kimlik doğrulaması kullanır).
  • ServiceNow'a yönetici erişimi.

DirectLine'a geçiş olarak Azure İşlevi oluşturma

Azure İşlevi bir geçiş işlevi görür ve ServiceNow Bot Interconnect'in Copilot Studio aracısı ile devam eden bir konuşmadan etkinlikleri (iletiler ve olaylar gibi) almasını sağlar.

Önemli

Azure İşlevi için varsayılan bekleme süresi 2.000 ms'dir (2 saniye), Copilot Studio'da üretken düzenleme kullanılırken çok kısa olabilir. ServiceNow'daki sanal aracıda iletiler gelmiyorsa bekleme süresini artırmayı göz önünde bulundurun.

ServiceNow Bot Interconnect tarafından gönderilen örnek istek

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

Azure İşlevi'nden örnek yanıt

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

İşlevi oluşturma ve dağıtma

ServiceNow belgelerinde açıklanan v3 Azure İşlevi'ni veya Copilot Studio GitHub deposunda bulunan v4 Azure İşlevi'ni oluşturabilir ve dağıtabilirsiniz.

Seçenek 1: v3 Azure İşlevini dağıtma

v3 Azure İşlevi'ni oluşturmak ve dağıtmak için ServiceNow belgelerinde açıklanan adımları izleyin:

  1. Visual Studio Code kullanarak Microsoft Azure'da bir JavaScript işlevi oluşturma.

  2. İşlevi Azure'a dağıtın ve ServiceNow Bot Bağlantısı'nda kullanmak üzere işlev URL'sini alın.

Seçenek 2: v4 Azure İşlevini dağıtma

Alternatif olarak, Copilot Studio GitHub deposunda bulunan v4 Azure İşlevini kullanabilirsiniz:

  1. Copilot Studio Örnekleri'nden depoyu kopyalayın. İşlev CopilotStudioSamples/contact-center/servicenow/DirectLineAzureFunction altında bulunur.

  2. Visual Studio Code kullanarak Azure'da JavaScript işlevi oluşturma başlığındaki yönergeleri izleyin.

  3. İşlev uygulamasının Genel Bakış sayfasında işlev URL'sini kopyalayın.

ServiceNow'da Bot Ara Bağlantısını Yapılandırma

  1. Aracınızın Direct Line anahtarını edinin.

  2. Direct Line gizli dizisini Virtual Agent Bot Interconnect kurulumunuza ekleme.

ServiceNow Sanal Aracısı ile Copilot Studio arasındaki konuları eşleme

  1. Copilot Studio konularını çağırmak için bir Sanal Aracı Botu Bağlantı kabuğu konu başlığı oluşturun.

DirectLinePrimaryBotIntegrationInboundTransformer'ı genişletme

Yerleşik DirectLinePrimaryBotIntegrationInboundTransformer, konuşmanın canlı bir operatöre teslim edilmesi gerektiğinde Copilot Studio handoff.initiate olayını ayrıştırmaz.

içindeki shouldConnectToAgentDirectLinePrimaryBotIntegrationInboundTransformer işlevi her zaman false döndürür:

shouldConnectToAgent: function(response) {
    return false;
}

Aktarım olaylarını doğru bir şekilde işlemek için varsayılan transformatörü genişleten ve c0 olayını algılayan özel bir transformatör oluşturun.

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

Özel transformatörü oluşturma

  1. ServiceNow'da Bot Bağlantısı uygulama kapsamına geçin.

    1. Sağ üst köşedeki dünya simgesini seçin.

    2. Uygulama listesinden Bot Bağlantısı'nı seçin.

  2. Yeni bir Betik Ekleme oluşturun.

    1. Sistem Tanımı>Script Includes bölümüne gidin.

    2. Yeni'yi seçin.

    3. Aşağıdaki ayarları yapılandırın:

    • İsim: CustomDirectLineInboundTransformer
    • API Adı: sn_va_bot_ic.CustomDirectLineInboundTransformer (otomatik oluşturulan)
    • Uygulama: Bot Bağlantısı (otomatik seçim)
    • Şu kaynaktan erişilebilir: Yalnızca bu uygulama kapsamı
    • Etkin: ✓ (işaretli)
  3. Varsayılan betik içeriğini Copilot Studio Samples deposundaki özel transformatör koduyla değiştirin.

  4. Betiği Dahil Et'i kaydetmek için Gönder'i seçin.

Bot Bağlantı yapılandırmasını güncelleştirme

  1. Workflow Studio'ya gidin.

    1. ServiceNow'da Workflow Studio'ya gidin.

    2. Eylemler'in altında Direct Line Primary Bot Integration Inbound Transformer'ı bulun.

  2. Transformatör eylemini değiştirin.

    1. Direct Line Ana Bot Entegrasyonu Gelen Dönüştürücüyü eylemini açın.

    2. Betik düzenleyicisinde varsayılan transformatörü yorum satırı haline getirip özel transformatörünüzü çağırarak değiştirin.

    (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. Eylemdeki değişiklikleri kaydedin ve yayımlayın.

İletimi yapılandırma

ServiceNow Live Agent'e iletimi etkinleştirmek için, temsilcinizin Yönlendir konusuna bir Konuşmayı Aktar düğümü ekleyin.

  1. Copilot Studio'da aracınızı açın ve Konular>Sistem>Yönlendir'e gidin.

  2. +(Düğüm ekle) düğmesini seçin, >, > .

  3. Konunuzu kaydedin ve temsilcinizi yayımlayın.

Konuşmayı aktar düğümü, ServiceNow'un özel dönüştürücüsünün algılayıp işlediği bir handoff.initiate olayı gönderir.

Örnek Eskale Etme Konu YAML

Aktarım özelliklerine sahip tam bir Yükseltme konusu için aşağıdaki YAML yapılandırmasını da içeri aktarabilirsiniz:

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

Sorun giderme

ServiceNow Sanal Aracısı sohbet pencere öğesinde hatalarla karşılaşırsanız şu sorun giderme adımlarını izleyin:

Azure İşlevi günlüklerini denetleme

  1. Azure İşlevinizin düzgün çalıştığını ve hata döndürmediğini doğrulayın.

  2. Azure İşlevleri akışlı günlüklerini kullanarak gerçek zamanlı günlükleri görüntüleyin.

  3. Ayrıntılı telemetri ve hata bilgileri için Application Insights'a bakın.

ServiceNow hata ayıklamasını etkinleştirme

Yürütme akışını izlemek için ServiceNow'un yerleşik hata ayıklama araçlarını kullanın:

  1. ServiceNow'da Betik İzleme'yi etkinleştirin.

  2. Hataya neden olan eylemi yineleyin.

  3. Sorunun oluştuğu yeri belirlemek için izleme günlüklerini gözden geçirin.

Copilot Studio çağrılarını izleme

Copilot Studio ajanınızın doğru bir şekilde çağrıldığından emin olun:

  1. Copilot Studio aracınızı Application Insights'a bağlayın.

  2. Aracının ServiceNow'dan istek aldığını onaylamak için telemetriyi izleyin.

  3. Ajanın yürütülmesinde herhangi bir hata veya beklenmeyen davranış olup olmadığını kontrol edin.

Yaygın sorunlar ve çözümler

  • Devir tetiklenmez: Özel transformatörün etkin olduğunu ve Konuşma aktarma düğümünü düzgün yapılandırdığını doğrulayın.
  • Kimlik doğrulama hataları: ServiceNow'da Direct Line gizli anahtarının doğru yapılandırıldığından emin olun. Özellikle, ServiceNow'daki kimlik bilgisi kaydını bir bağlantı kaydıyla bağlayın.
  • İşlev zaman aşımı: Azure İşlevi'nin zaman aşımına uğradı mı denetleyin ve gerekirse zaman aşımı ayarlarını artırın.