المتطلبات الأساسية

قبل دمج مركز اتصال Webex مع وحدة تحكم ServiceNow CRM، تأكد من توفر ما يلي:

اتبع إحدى الطريقتين التاليتين:

بالنسبة لمثيلات المطور، نوصي باتباع الخطوات الواردة في دليل مثيل المطور.

إذا كنت تمتلك مثيلا مرخصا من المؤسسة، فاتبع الإرشادات الخاصة بالمثيلات المرخصة من قبل المؤسسة.

لا نوصي بمزج التطبيق المرخص من قبل المؤسسة مع مثيلات وضع الحماية للمطورين.

تصف الأقسام التالية خطوات تثبيت موصل ServiceNow لمثيلات المطور.

1

قم بتسجيل الدخول إلى حساب مدخل مطور ServiceNow الخاص بك وافتح وحدة تحكم الإدارة .

2

من منطقة المثيل الخاص بي في قائمة الحساب ، انقر فوق بدء البناء.

3

في مثيل المطور الخاص بك، من حقل متصفح عامل التصفية في الجزء العلوي الأيسر من النافذة، انتقل إلى المكونات الإضافية.

4

ابحث عن المكون الإضافي Openframe الذي يحمل العنوان Openframe. قد تحتاج إلى التمرير خلال القائمة.

5

انقر فوق تثبيت لتثبيت المكون الإضافي Openframe.

6

في مربع الحوار تنشيط المكون الإضافي ، انقر فوق تنشيط.

7

عند اكتمال تنشيط المكون الإضافي، انقر فوق إغلاق النموذج وإعادة تحميله في مربع الحوار تنشيط المكون الإضافي.

8

للتحقق من تنشيط المكون الإضافي ، من حقل متصفح التصفية في الجزء العلوي الأيسر من النافذة ، انتقل إلى OpenFrame.

9

انقر فوق التكوينات وتأكد من ظهور المكون الإضافي OpenFrame في قائمة تكوينات OpenFrame.

1

قم بتنزيل أحدث ملف XML لمجموعة تحديث النظام المتاح على github repo في هذا الموقع: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

اسم الملف: webexcc-servicenow-update-setV (X).xml

2

في مثيل ServiceNow الخاص بك، من حقل متصفح عامل التصفية في الجزء العلوي الأيسر من النافذة، انتقل إلى مجموعات تحديث النظام> مجموعات التحديث إلى الالتزام.

3

انقر فوق الارتباط استيراد مجموعة تحديثات من XML .

4

انقر فوق اختيار ملف، وحدد ملف XML مجموعة تحديث النظام، ثم انقر فوق تحميل.

تظهر مجموعة التحديث في قائمة مجموعات التحديث المستردة وهي في حالة التحميل .
5

من قائمة مجموعات التحديث المستردة، انقر فوق اسم ملف مجموعة التحديث (رابط) لفتح مجموعة التحديث.

6

في الجزء العلوي الأيسر من النافذة، انقر فوق معاينة مجموعة التحديث للتحقق من مجموعة التحديث للمشكلات.

7

انقر فوق إغلاق في مربع الحوار تحديث مجموعة المعاينة بمجرد اكتمال المعاينة.

8

انقر فوق الالتزام بمجموعة التحديثات.

9

انقر فوق إغلاق في مربع الحوار تحديث مجموعة الالتزام بمجرد اكتمال تنفيذ مجموعة التحديث.

1

في حقل متصفح التصفية في الجزء العلوي الأيسر من النافذة، اكتب sys_properties.list واضغط على Enter.

2

في صفحة خصائص النظام ، قم بفرز الخصائص حسب تاريخ التحديث. تأكد من أنه يمكنك رؤية خصائص مركز الاتصال Webex التالية:

3

انقر فوق agentdesktop_url لفتح صفحة خصائص النظام agentdesktop_url .

4

في حقل القيمة ، أدخل عنوان URL لسطح مكتب مركز الاتصال Webex وفقًا لمنطقة التشغيل.

5

انقر فوق تحديث لحفظ التغييرات.

6

(اختياري) لتغيير اسم جدول النشاط، قم بتعديل خصائص webexccactivitytable كما هو مطلوب.

في صفحة خصائص النظام ، انقر فوق جدول نشاط الويب.

قم بتغيير حقل القيمة حسب الحاجة.

7

(اختياري) قم بإضافة مجموعات المستخدمين بالطرق التالية:

  1. في حقل متصفح التصفية في أعلى يسار النافذة، انتقل إلى المجموعات ضمن أمان النظام.

  2. إنشاء مجموعة مستخدمين جديدة أو استخدام مجموعة موجودة.

  3. انقر فوق تعديل.

  4. ابحث عن sn_openframe_user ضمن المجموعة وانقله إلى مجموعة المستخدمين الخاصة بك.

  5. انقر فوق حفظ.

  6. أضف المستخدم كعضو في المجموعة.

1

من حقل متصفح المرشحات ، انتقل إلى OpenFrame > التكوينات.

2

انقر فوق New (جديد).

3

أدخل الخصائص التالية لعنوان URL:

  • الاسم: Webex مركز الاتصال لسطح المكتب

  • العنوان: Webex مركز الاتصال

  • العرض: 550 (موصى به)

  • الارتفاع: 600 (موصى به)

4

على يمين حقل URL ، انقر فوق الزر القفل وأضف agentdesktop.do كعنوان URL. (قم بهذه الخطوة لتوجيه التكوين إلى صفحة واجهة المستخدم)

5

(اختياري) حدد مجموعات المستخدم/الوكيل لتعيين التكوين.

6

انقر فوق إرسال. يظهر عنوان URL كرابط.

7

قبل محاولة استخدام هاتف OpenFrame، تأكد من تحميل ملف JSON الخاص بتخطيط سطح المكتب المخصص لـ ServiceNow إلى بوابة إدارة مركز الاتصال Webex. لمزيد من المعلومات، راجع إعداد تخطيط سطح مكتب ServiceNow على مركز الاتصال Webex.

1

قم بتنزيل تخطيط سطح المكتب لـ ServiceNow من https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

قم بتحديث الخصائص في ملف تخطيط سطح المكتب، إذا لزم الأمر.

3

انتقل إلى بوابة إدارة مركز الاتصال Webex.

4

من شريط التنقل في بوابة الإدارة، اختر التجهيز > تخطيط سطح المكتب.

5

انقر فوق New Layout (تخطيط جديد) وأدخل تفاصيل تخطيط سطح المكتب.

6

قم بتحميل ملف JSON الخاص بتخطيط سطح المكتب الخاص بـ ServiceNow.

7

انقر فوق حفظ لحفظ التكوين.

يمكنك الآن بدء تشغيل سطح مكتب مركز الاتصال Webex داخل وحدة التحكم ServiceNow.

8

من حقل متصفح التصفية ، انتقل إلى مساحة عمل عمليات الخدمة.

الصفحة الرئيسية لـ ServiceNow مع مركز الاتصال Webex Agent Desktop المدمج مع ServiceNow.

تتناول الأقسام التالية الخطوات اللازمة لتثبيت موصل ServiceNow لنسخ المؤسسة المرخصة.

1

قم بتسجيل الدخول إلى حساب بوابة مطور ServiceNow الخاص بك وافتح وحدة التحكم الإدارية .

2

من منطقة مثيلاتي في القائمة الحساب ، انقر فوق بدء البناء.

3

في نسخة المطور الخاصة بك، من حقل متصفح المرشحات في الجزء العلوي الأيسر من النافذة، انتقل إلى المكونات الإضافية.

4

ابحث عن البرنامج الإضافي Openframe الذي يحمل العنوان Openframe. قد تحتاج إلى التمرير خلال القائمة.

5

انقر فوق تثبيت لتثبيت البرنامج الإضافي Openframe.

6

في مربع الحوار تنشيط البرنامج الإضافي ، انقر فوق تنشيط.

7

عند اكتمال تنشيط البرنامج الإضافي، انقر فوق إغلاق النموذج وإعادة تحميله في مربع الحوار تنشيط البرنامج الإضافي .

8

للتحقق من تنشيط البرنامج المساعد، من حقل متصفح المرشحات في الجزء العلوي الأيسر من النافذة، انتقل إلى OpenFrame.

9

انقر فوق التكوينات وتأكد من ظهور البرنامج المساعد OpenFrame في القائمة تكوينات OpenFrame .

1

في حقل متصفح عامل التصفية أعلى يمين النافذة، أدخل sys_properties.list.

2

في صفحة خصائص النظام، قم بفرز الخصائص حسب تاريخ التحديث. تأكد من إمكانية الاطلاع على خصائص مركز اتصال Webex التالية:

3

انقر فوق agentdesktop_url لفتح صفحة agentdesktop_url خاصية النظام.

4

في حقل القيمة ، أدخل عنوان URL لسطح مكتب Webex Contact Center وفقا لمنطقة التشغيل.

5

انقر فوق تحديث لحفظ التغييرات.

6

(اختياري) لتغيير اسم جدول الأنشطة، قم بتحرير خصائص x_caci_webexcc.webexccactivitytable كما هو مطلوب.

  1. في صفحة خصائص النظام ، انقر فوق x_caci_webexcc.webexccactivitytable.

  2. قم بتغيير حقل القيمة كما هو مطلوب.

7

(اختياري) أضف مجموعات المستخدمين بالطرق التالية:

  1. في حقل متصفح عامل التصفية في الجزء العلوي الأيسر من النافذة، انتقل إلى المجموعات ضمن أمان النظام.

  2. انقر فوق تحرير وأضف الأدوار التالية:

    • sn_openframe_user

    • x_caci_webexcc.وكيل

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

1

من حقل متصفح التصفية، انتقل إلى OpenFrame > Configurations.

2

انقر فوق New (جديد).

3

أدخل الخصائص التالية لعنوان URL:

  • الاسم: Webex سطح مكتب مركز الاتصال

  • العنوان: مركز اتصال Webex

  • العرض: 550 (مستحسن)

  • الارتفاع: 600 (مستحسن)

4

على يسار حقل عنوان URL ، انقر فوق الزر تأمين وأضف x_caci_webexcc_agentdesktop.do كعنوان URL. (قم بهذه الخطوة لتوجيه التكوين إلى صفحة واجهة المستخدم)

5

(اختياري) حدد مجموعات المستخدمين / الوكلاء لتعيين التهيئة.

6

انقر فوق إرسال. يظهر عنوان URL كرابط.

7

من حقل متصفح عامل التصفية، انتقل إلى مساحة عمل عمليات الخدمة.

Agent Desktop دمج الصفحة الرئيسية ل ServiceNow مع مركز الاتصال Webex مع ServiceNow.

8

(اختياري) في قائمة مجموعة المستخدمين، انقل مجموعات المستخدمين التي يمكنها الوصول إلى Webex Contact Center Desktop من "متاح " إلى "محدد".

9

قبل محاولة استخدام هاتف OpenFrame، تأكد من تحميل ملف JSON لتخطيط سطح المكتب المخصص ServiceNow إلى مدخل إدارة مركز اتصال Webex. لمزيد من المعلومات، راجع إعداد تخطيط سطح المكتب ServiceNow على Webex مركز الاتصال.

1

قم بتنزيل تخطيط سطح المكتب ل ServiceNow من https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

قم بتحديث الخصائص في ملف "تخطيط سطح المكتب"، إذا لزم الأمر.

3

انتقل إلى مدخل إدارة مركز اتصال Webex.

4

من شريط تنقل مدخل الإدارة، اختر توفير > تخطيط سطح المكتب.

5

انقر فوق New Layout (تخطيط جديد) وأدخل تفاصيل تخطيط سطح المكتب.

6

قم بتحميل ملف JSON لتخطيط سطح المكتب ServiceNow.

7

انقر فوق حفظ لحفظ التهيئة.

يمكنك الآن بدء تشغيل Webex Contact Center Desktop داخل وحدة تحكم ServiceNow.

8

من حقل متصفح عامل التصفية، انتقل إلى مساحة عمل عمليات الخدمة.

Agent Desktop دمج الصفحة الرئيسية ل ServiceNow مع مركز الاتصال Webex مع ServiceNow.

1

من حقل متصفح عامل التصفية، انتقل إلى الحوادث > حادث مفتوح.

2

انقر بزر الماوس الأيمن على حقل المتصل وانقر فوق تكوين القاموس.

3

أضف سمات مفصولة بفواصل"ref_contributions=show_phone,.

يمكنك الآن البدء في استخدام Webex Contact Center Desktop داخل وحدة تحكم ServiceNow.

4

من حقل متصفح عامل التصفية، انتقل إلى مساحة عمل عمليات الخدمة.

Agent Desktop دمج الصفحة الرئيسية ل ServiceNow مع مركز الاتصال Webex مع ServiceNow.

Agent Desktop في وحدة تحكم ServiceNow

قبل إجراء مكالمات صادرة، تأكد من القيام بما يلي:

  • إنشاء نقطة إدخال صادرة وقم بإعداد استراتيجية نقطة الإدخال الصادرة.

  • تمكين ANI صادر لملف تعريف الوكيل.

  • ضبط ANI صادر على تعيين رقم الطلب إلى نقطة الإدخال.

لمزيد من المعلومات، راجع فصل التزويد من دليل الإدارة وإعداد Cisco Webex Contact Center.

من حقل متصفح عامل التصفية، انتقل إلى مساحة عمل عمليات الخدمة.

Agent Desktop دمج الصفحة الرئيسية ل ServiceNow مع مركز الاتصال Webex مع ServiceNow.

للحصول على معلومات حول كيفية استخدام سطح المكتب، راجع علامة التبويب "العامل " في تعليمات مركز اتصال Webex.

نظرة عامة

تتناول هذه المقالة عدة طرق لتخصيص قواعد العمل لموصل ServiceNow CRM. يوضح بالتفصيل كيف يمكنك تخصيص حالات الاستخدام استنادا إلى قواعد العمل الخاصة ب ServiceNow.

يجب على العميل إدارة حالات الاستخدام هذه ذاتيا على ServiceNow. التكوين خاص ب ServiceNow وليس Webex برنامج أو خبرة مركز الاتصال.

هذه وثائق مرجعية للمساعدة في تعديل قواعد العمل. سيقوم مطورو ServiceNow بإنشاء وإدارة قواعد العمل وتقديم الدعم.

لا توفر Cisco سوى نماذج من الوثائق.

توفر الأقسام التالية تفاصيل حول كيفية إعداد عنصر واجهة مستخدم الإجراءات وتمكينه وإدارته لمثيلات المطور والمؤسسة.

تنفيذ مجموعة التحديث لعنصر واجهة المستخدم "الإجراءات"

بالنسبة لمثيلات المؤسسة المرخصة، قم بتثبيت أحدث تطبيق Webex Contact Center من متجر ServiceNow.

لإعداد عنصر واجهة المستخدم "الإجراءات" لمثيلات المطور، قم بتنزيل أحدث ملف XML "مجموعة تحديث النظام" المتاح على مستودع جيثب في هذا الموقع: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. اسم الملف هو webexcc-servicenow-update-setv7-1-ActionsWidget.xml. لتنفيذ مجموعة التحديث لعنصر واجهة المستخدم "إجراءات"، راجع الخطوات من 2 إلى 9 في تنفيذ مجموعة التحديثات.

تمكين عنصر واجهة المستخدم "الإجراءات"

استخدم الخاصية isWidgetDisplayEnabled لتمكين عنصر واجهة المستخدم "الإجراءات". يجب عدم تعديل قيمة هذه الخاصية في قسم مقطوعة الرأس في تخطيط سطح المكتب المخصص. يتم تعيين الخاصية دائما على false في قسم مقطوعة الرأس في تخطيط سطح المكتب المخصص. يجب عليك تحديث قيمة الخاصية فقط في قسم اللوحة الخاص بتخطيط سطح المكتب المخصص.

بمجرد تمكين عنصر واجهة المستخدم "الإجراءات" في تخطيط سطح المكتب المخصص، يمكنك تنفيذ الإجراءات التالية:

  • إدارة سجلات النشاط—انقر فوق عرض/تحرير سجل النشاط لعرض قائمة سجلات النشاط المقترنة بالمتصل.
  • إقران كائنات CRM—انقر فوق إقران بسجلات النشاط لإضافة كائنات CRM مثل نوع الاتصال (وارد أو صادر) وكائن المكالمة وملاحظات المكالمة وما إلى ذلك إلى سجل النشاط.
  • إدارة الحوادث—انقر على إنشاء حادث. يتم إنشاء حادث جديد مع ملء تفاصيل المتصل مسبقا. يمكنك إجراء التحديثات المطلوبة على الحادث. يمكنك اختيار تعديل نوع السجل من حادث إلى آخر ، ووحدة الموارد البشرية ، وما إلى ذلك بناء على متطلباتك. لتغيير نوع السجل، قم بتعديل قيمة الخاصية typeOfRecord في تكوين عنصر واجهة المستخدم Actions. على سبيل المثال:
    { "comp": "md-tab-panel" ، "السمات": { "فتحة": "لوحة" ، "فئة": "جزء عنصر واجهة المستخدم" } ، "الأطفال": [ { "شركات": "agentx-custom-desktop" ، "البرنامج النصي": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js" ، "خصائص": { "isWidgetDisplayEnabled": true ، "typeOfRecord": "إنشاء حادث" } ، "غلاف": { "title": "إجراءات SNOW!" ، "maximizeAreaName": "app-maximize-area" } } ] }
  • إضافة ملاحظات المكالمة المباشرة—يمكنك الحصول على معلومات إضافية حول المكالمة في منطقة النص وإنهاء المكالمة. يمكنك رؤية هذه الملاحظات المضافة كملاحظات مكالمة في سجل النشاط.

تغيير الرمز على سيرفس ناو

يتضمن البرنامج النصي تغييرات
  1. انتقل إلى متصفح التصفية وابحث عن يتضمن البرنامج النصي.

    حدد البرنامج النصي المتضمن ضمن واجهة مستخدم النظام.

  2. تصفية الاسم والبحث عنه بروب وتيلز.

  3. تغيير الطريقة UserGetSysId في البرنامج النصي.

    كورنت:

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },

    نموذج جديد للكود للحادث:

    UserGetSysId: الدالة () { var opened_for; //التغييرات المتعلقة بالحادث 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 = جديد 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=opened_for; inc.contact_type='phone'; inc.short_description='مكالمة مستلمة من '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = جديد GlideRecordSecure ("التفاعل") ؛ grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'الهاتف'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; إرجاع JSON.stringify(sysidlist); },

تغيير الأسلوب على صفحات واجهة المستخدم
  1. انتقل إلى متصفح التصفية وابحث عن صفحة واجهة المستخدم.

    حدد صفحات واجهة المستخدم ضمن واجهة مستخدم النظام.

  2. تصفية الاسم والبحث عنه AgentDesktop.

  3. قم بتغيير الشاشة المنبثقة في البرنامج النصي للعميل.

    الوظيفة الحالية:

    وظيفة الشاشة المنبثقة 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(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });

    نموذج التعليمات البرمجية للحادث:

    وظيفة الشاشة المنبثقة 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(); // For Incident-related change 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({ الكيان: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

إذا كانت معلومات المتصل موجودة في CRM، وكان هناك بالفعل حادث جديد تم فتحه مع جهة الاتصال هذه، يفتح التطبيق الحادث غير الجاري

في حالة عدم وجود معلومات المتصل في CRM ، يفتح التطبيق حادثة جديدة

إذا كانت معلومات المتصل موجودة في CRM ، يفتح التطبيق حادثة جديدة بتفاصيل مملوءة مسبقا

نظرة عامة

توضح حالة الاستخدام هذه تفاصيل عملية إضافة عمود إضافي إلى جدول ServiceNow - webexcc_imp_activity وإنشاء sn_openframe_phone_log عند تثبيت Webex CC لموصل ServiceNow CRM.

بشكل افتراضي، يحتوي الجدول على بعض حقول وقيم النظام الجاهزة.

يمكنك إنشاء المزيد من المتغيرات الخاصة بالأعمال (متغيرات CAD) داخل مصمم WebexCC Flow وإضافة متغيرات CAD داخل سجل نشاط ما بعد المكالمة ServiceNow، بالإضافة إلى استمرار ذلك في بيانات جدول نشاط ما بعد المكالمة.

هذه وثائق مرجعية فقط - وتوضح كيفية القيام بذلك لمتغير CAD نموذجي يسمى اسم العميل الذي يخزن اسم العميل داخل IVR وينشره إلى ServiceNow.

من المتوقع أن يقوم مطورو Partner + Customer ServiceNow بتكوين هذا التكوين وإدارته لأنه تخصيص للموصل الحالي.

توفر Cisco التقنيات الخاصة بكيفية تخصيص الموصل وتوسيعه فقط.

اعتبارا من هذه المقالة، تحقق فريق Cisco من صحة الدعم لإضافة متغير CAD إلى سجل النشاط وجدول النشاط باستخدام التقنية الموضحة أدناه:

إضافة عمود إلى نشاط WebexCC IMP

  1. قم بتحرير الجدول في إصدار المطور من ServiceNow.

  2. انتقل إلى متصفح المرشح وابحث عن الاستوديو.

    تحديد Webex Contact Center

    أو

  3. حدد نشاط WebexCC IMP جدول

  4. إضافة عمود جديد، على سبيل المثال، اسم العميل

إضافة عمود إلى سجل الهاتف

  1. قم بتحرير جدول سجل الهاتف.

  2. إضافة عمود جديد، على سبيل المثال، اسم العميل.

خريطة تحويل نشاط WebexCC

إضافة عمود جديد، على سبيل المثال، اسم العميل رسم الخرائط الميدانية.

تخصيص أعمدة القائمة

كما توصي Service Now ، قم بتغيير إجراء الاختيار من إنشاء إلى تجاهل.

تكوين قائمة سجلات الهاتف

انتقل إلى تضمين البرنامج النصي

إضافة سطر واحد فقط webexcc.u_customername=actInfo.CustomerName إلى propUtils.

نموذج البرنامج النصي

انظر السطر: webexcc.u_customername=actInfo.CustomerName; مع تعليق داعم.

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('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id;//return user.sys_id; آخر // إرجاع فارغ ؛ var grInt = سجل انزلاقي جديد ("تفاعل") ؛ grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'الهاتف'; grInt.opened_for= opened_for; var sysid=grInt.insert(); إرجاع 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; تمت إضافة هذا السطر - لالتقاطه في سجل النشاط webexcc.u_customername=actInfo.CustomerName ؛ sys_id=webexcc.insert(); الأنشطة في سجل الحوادث؛ var actInfoString =this.getParameter('actInfo'); var suser = جديد GlideRecordSecure ("sys_user") ؛ suser.addQuery ("الهاتف" ، 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(); } } } عودة sys_id } ، اكتب: 'propUtils' }) ؛

إنشاء متغير CAD في مصمم التدفق

إضافة متغير CAD إلى تخطيط سطح المكتب

مثال

"CadName1: SnowField1، CadName2: SnowField2" CadName1 هو اسم العميل يستخدم SnowField1 أيضا باسم العميل وهو جزء من نموذج scirpt الموضح أعلاه "actInfo.CustomerName".

لقطات الشاشة التجريبية

عرض متغير CAD المضاف حديثا في جدول نشاط WebexCC.

إنشاء متغير CAD لمصمم التدفق

إلحاح الحادث

تأثير الحادث

تحديث البرنامج النصي للخدمة الآن

تتضمن تحديثات البرنامج النصي

  1. انتقل إلى متصفح التصفية وابحث عن البرنامج النصي يتضمن

    حدد خيار يتضمن البرنامج النصي ضمن واجهة مستخدم النظام.

  2. تصفية الاسم باستخدام propUtils.

  3. تغيير الطريقة UserGetSysId في حقل البرنامج النصي .

    السيناريو الحالي:

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },

    نموذج جديد للكود للحادث:

    UserGetSysId: الدالة () { var opened_for; 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 = جديد 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=opened_for; inc.contact_type='phone'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); inc.short_description='مكالمة مستلمة من '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = جديد GlideRecordSecure ("التفاعل") ؛ grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'الهاتف'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; إرجاع JSON.stringify(sysidlist);//sysid; },

تغيير الأسلوب في صفحات واجهة المستخدم
  1. انتقل إلى متصفح عامل التصفية وابحث عن صفحات واجهة المستخدم.

    حدد خيار صفحات واجهة المستخدم ضمن واجهة مستخدم النظام.

  2. قم بتصفية صفحات واجهة المستخدم بالاسم وابحث عن agentdesktop.

  3. قم بتغيير الشاشة المنبثقة في حقل البرنامج النصي.

    الوظيفة الحالية:

    وظيفة الشاشة المنبثقة 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(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); }

    نموذج التعليمات البرمجية للحادث:

    وظيفة الشاشة المنبثقة 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 ("الحقل" ، "الهاتف") ؛ gaout.addParam('value', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam ("التأثير" ، التأثير) ؛ gaout.getXMLWait(); var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ الكيان: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); } else{ openFrameAPI.openServiceNowForm({ الكيان: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }

إذا كانت معلومات المتصل موجودة في CRM ، ولا يوجد حادث جديد أو قيد التقدم ، فإن التطبيق يفتح حادثا جديدا

قم بتغيير الرمز على ServiceNow

إضافة أعمدة جديدة إلى نشاط WebexCC IMP جدول

افتح الزر نشاط WebexCC IMP جدول

إضافة عمود جديد - رقم التفاعلات

إضافة عمود جديد - رقم الحادث

انقر فوق تحديث.

إضافة أعمدة جديدة إلى سجل الهاتف جدول

افتح الزر سجل الهاتف جدول

إضافة عمود جديد - رقم التفاعلات

إضافة عمود جديد - رقم الحادث

خريطة تحويل نشاط WebexCC

فتح تحويل الخريطة من متصفح عامل التصفية

انقر فوق خريطة تحويل نشاط WebexCC

إضافة جديد - لخريطة أرقام التفاعل

إضافة جديد - لخريطة رقم الحادث

انقر فوق تحديث.

تتضمن التغييرات التي تم إجراؤها على البرنامج النصي

  1. انتقل إلى متصفح التصفية وابحث عن "يتضمن البرنامج النصي".

    حدد البرنامج النصي المتضمن ضمن واجهة مستخدم النظام.

  2. تصفية الاسم باستخدام بروب وتيلز.

  3. تغيير الطريقة مجموعةويب قابل للإزالة.

    نموذج جديد لرمز الحادث:

    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()) { //الأنشطة في سجل الحوادث; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; delete أكت إنفو['interaction_sys_id']; حذف 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','Closed Complete'); inte.work_notes='تحديث الحالة إلى مغلق.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', إنسيسيد ); 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("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (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(); } إرجاع sys_id ؛ },

تغييرات الأسلوب على صفحات واجهة المستخدم

  1. انتقل إلى متصفح التصفية وابحث عن صفحات واجهة المستخدم

    حدد خيار صفحات واجهة المستخدم ضمن واجهة مستخدم النظام.

  2. قم بتصفية صفحات واجهة المستخدم بالاسم وابحث عن agentdesktop.

  3. قم بتغيير الآنالأنشطة والشاشة المنبثقة وظيفة في البرنامج النصي.

    الوظيفة الحالية:

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

    نموذج التعليمات البرمجية للحادث:

    function 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); } وظيفة 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(); // var sysid = gaout.getAnswer(); 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({ الكيان: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); } 

النتائج بعد التحديث

تنطبق التخصيصات التالية على الإصدارات 1.0.5 والإصدارات الأقدم. بالنسبة إلى تخصيصات الإصدارات الأحدث 1.0.7 والإصدارات الأحدث، اتبع الخطوات المذكورة أعلاه.

التخصيص # 1 - إضافة قواعد عمل مخصصة لحالات استخدام تدفق المكالمات

إنشاء سجل حادث جديد لكل مكالمة

لكل مكالمة جديدة في موصل WebexCC CRM في ServiceNow، قم بإنشاء سجل حادث جديد.

  1. البحث عن قواعد العمل على متصفح عامل التصفية

  2. انقر فوق New (جديد).

    نموذج التعليمات البرمجية كمرجع:

    الدالة customcti() { var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var phone = 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 && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && name != null && name != '') { userID = UserGetSysId("name", الاسم)؛ } 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 ؛ } الدالة UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(field, value); user.query(); if (user.next()) return user.sys_id; else return null; }

    تكوين نموذجي لقاعدة العمل

  3. تمكين العميل القابل للاستدعاء

    تم وضع علامة على معالجة تكامل المهاتفة الحاسوبية (CTI) للحادث على أنها "صواب".

  4. قم بتحديث عنوان url للشاشة المنبثقة باستخدام قاعدة CTI المخصصة" cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

مثال

يجب استدعاء sysparm_cti_rule=nameحيث يكون 'name ' هو اسم الدالة CTI المعالجة بدلا من استخدام البرنامج النصي الافتراضي.

حدد الوظيفة في إدخال sys_script يحمل علامة العميل قابل للاستدعاء.

إذا كان يجب عليك إدراج أو تحديث أو حذف أي GlideRecords في الدالة، فقم باستدعاء دالة منفصلة غير قابلة للاستدعاء لإجراء التحديثات.

لجعل البرنامج النصي قابلا للاستدعاء من قبل العميل، يجب تحديد خانة الاختيار "العميل قابل للاستدعاء" في النموذج الذي يتم عرضه عند عرض إدخال sys_script.

لا تظهر خانة الاختيار القابلة للاتصال من قبل العميل بشكل افتراضي. للعرض، يجب عليك تعديل الحقول التي تظهر في النموذج باستخدام رمز الترس وآلية دلو طين.

مراجع

التخصيص # 2 - إضافة متغير CAD في جدول نشاط مركز الاتصال Webex

نظرة عامة

توضح هذه المقالة بالتفصيل عملية إضافة عمود إضافي إلى الجدول ServiceNow - webexcc_activity التي تم إنشاؤها عند تثبيت Webex CC لموصل ServiceNow CRM.

بشكل افتراضي، يحتوي الجدول على حقول وقيم نظام مبتكرة.

من المحتمل أن تقوم بإنشاء المزيد من المتغيرات الخاصة بالأعمال (متغيرات CAD) داخل مصمم WebexCC Flow وإضافة متغيرات CAD هذه داخل سجل نشاط مكالمة ما بعد ServiceNow، والاستمرار في ذلك إلى بيانات جدول نشاط ما بعد المكالمة.

  • هذه وثائق مرجعية فقط - وتوضح كيفية القيام بذلك لمتغير CAD نموذجي يسمى اسم العميل الذي يخزن اسم العميل داخل IVR وينشره إلى ServiceNow.

  • سيقوم مطورو Partner + Customer ServiceNow بتكوين هذا التكوين وإدارته لأنه تخصيص للموصل الحالي.

  • ستوفر Cisco فقط التقنيات الخاصة بكيفية تخصيص الموصل وتوسيعه.

  • اعتبارا من هذه المقالة، تحقق فريق Cisco من صحة الدعم لإضافة متغير CAD إلى سجل النشاط وجدول النشاط باستخدام التقنية الموضحة أدناه.

إضافة عمود إلى نشاط WebexCC
  1. قم بتحرير الجدول في إصدار المطور من ServiceNow.

  2. انتقل إلى مركز اتصال Studio >Webex.

  3. حدد جدول نشاط WebexCC.

  4. على سبيل المثال، اسم العميل.

  5. حدد تخطيط قائمة لنشاط WebexCC.

إنشاء برنامج نصي جديد يتضمن

هذه الخطوة غير مطلوبة إذا كنت تستخدم XML مجموعة التحديث - مطلوب سطر واحد فقط لإضافته "webexcc.u_customername=actInfo.CustomerName" إلى propUtils.

نموذج البرنامج النصي

انظر السطر مع:webexcc.u_customername=actInfo.CustomerName; مع تعليق داعم.

var propUtils2 = Class.create(); propUtils2.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); }, 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; // تمت إضافة هذا السطر - لالتقاطه في سجل النشاط webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); الأنشطة في سجل الحوادث؛ var actInfoString =this.getParameter('actInfo'); var suser = جديد GlideRecordSecure ("sys_user") ؛ suser.addQuery ("الهاتف" ، 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(سلسلة التمثيل),null,2); inc.comments =jsonPretty; inc.update(); } } } عودة sys_id } ، اكتب: 'propUtils2' }) ؛
تحرير صفحة واجهة المستخدم باسم برنامج نصي جديد

إنشاء متغير CAD في مصمم التدفق

إضافة متغير CAD إلى تخطيط سطح المكتب

لقطات الشاشة التجريبية

عرض متغير CAD المضاف حديثا في جدول نشاط WebexCC.