المتطلبات المسبقة

في الوقت الحالي، تنطبق هذه الميزة على الوكلاء فقط.

قبل أن تقوم بدمج Webex Contact Center مع وحدة تحكم ServiceNow CRM، تأكد من أن لديك ما يلي:

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

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

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

لا نوصي بخلط التطبيق المرخص له بالمؤسسة بمثيلات sandbox الخاصة بالمطورين.

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

1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

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

1

قم بتنزيل أحدث ملف XML لتعيين تحديث النظام متاح على repo github في هذا الموقع: 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 كما هو مطلوب.

في صفحة خصائص النظام ، انقر على webexccactivitytable.

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

7

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

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

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

  3. انقر على تعديل.

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

  5. انقر على حفظ.

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

1

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

2

انقر على جديد.

3

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

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

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

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

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

4

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

5

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

6

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

7

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

1

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

2

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

3

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

4

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

5

انقر على تخطيط جديد وأدخل تفاصيل تخطيط سطح المكتب.

6

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

7

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

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

8

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

صفحة ServiceNow الرئيسية مع سطح مكتب وكيل Webex Contact Center المتكامل مع 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 وفقًا لمنطقة التشغيل.

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 > التكوينات.

2

انقر على جديد.

3

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

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

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

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

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

4

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

5

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

6

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

7

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

صفحة ServiceNow الرئيسية مع سطح مكتب وكيل Webex Contact Center المتكامل مع ServiceNow.

8

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

9

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

1

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

2

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

3

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

4

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

5

انقر على تخطيط جديد وأدخل تفاصيل تخطيط سطح المكتب.

6

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

7

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

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

8

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

صفحة ServiceNow الرئيسية مع سطح مكتب وكيل Webex Contact Center المتكامل مع ServiceNow.

1

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

2

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

3

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

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

4

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

صفحة ServiceNow الرئيسية مع سطح مكتب وكيل Webex Contact Center المتكامل مع ServiceNow.

لا ندعم حاليًا تسجيل الدخول إلى Agent Desktop باستخدام خيار سطح المكتب (WebRTC).

سطح مكتب الوكيل في وحدة تحكم ServiceNow

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

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

  • تمكين ANI الخاص بالطلب الخارجي لملف تعريف الوكيل.

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

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

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

صفحة ServiceNow الرئيسية مع سطح مكتب وكيل Webex Contact Center المتكامل مع ServiceNow.

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

نظرة عامة

تغطي هذه المقالة عدة طرق لتخصيص قواعد عملك من أجل موصل ServiceNow CRM. وهو يشرح كيفية تخصيص حالات الاستخدام بناءً على قواعد العمل الخاصة بـ ServiceNow.

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

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

توفر Cisco عينة من الوثائق فقط.

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

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

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

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

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

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

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

  • إدارة سجلات النشاط - انقر على عرض/تحرير سجل النشاط لعرض قائمة سجلات النشاط المرتبطة بالمتصل.
  • كائنات CRM المرتبطة بالموظفين — انقر على الارتباط إلى سجلات النشاط لإضافة كائنات CRM مثل نوع المكالمة (الواردة أو الصادرة) وكائن المكالمة وملاحظات المكالمة وما إلى ذلك إلى سجل النشاط.
  • إدارة الحوادث — انقر على إنشاء حادث. يتم إنشاء حدث جديد وتم ملء تفاصيل المتصل بشكل مسبق. يمكنك إجراء التحديثات المطلوبة للحدث. يمكنك اختيار تعديل نوع السجل من حادثة إلى حالة، ووحدة الموارد البشرية، وما إلى ذلك بناء على متطلباتك. لتغيير نوع السجل، قم بتعديل قيمة خاصية typeOfRecord في تكوين عنصر واجهة المستخدم "الإجراءات". على سبيل المثال:
    { "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" : "إنشاء حدث" }، "wrapper": { "title": "SNOW Actions !"، "maximizeAreaName": "app-maximize-area" } } ] }
  • إضافة ملاحظات مكالمة مباشرة — يمكنك التقاط معلومات إضافية حول المكالمة في منطقة النص والختام للمكالمة. يمكنك رؤية هذه الملاحظات المضافة في صورة ملاحظات مكالمة في سجل النشاط.

تغيير الرمز في ServiceNow

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

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

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

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

    الرعاية:

    UserGetSysId: الوظيفة () { 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 = جديد GlideRecordSecure("sys_user")؛ user.addQuery(this.getParameter('field')،this.getParameter('value'))؛ user.query()؛ if(user.next()) { opened_for=مستخدم.sys_id;//إعادة المستخدم.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()؛ إذا (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description='Call Received من '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID()؛ grInt.type='phone'؛ grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },

تغيير الأسلوب على صفحات UI
  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: "التفاعل"، استعلام: '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(); // للتغيير المتعلق بالحوادث var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident'، استعلام: 'sys_id='+sysObj.incsysid، 'interaction_sys_id': sysObj.sysid })؛ }else{ openFrameAPI.openServiceNowForm({ entity: 'incident'، استعلام: '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

    أو

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

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

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

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

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

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

أضِف عمود جديد، على سبيل المثال، عملية ربط حقل CustomerName .

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

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

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

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

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

مثال على البرنامج النصي

راجع الخط: webexcc.u_customername=actInfo.CustomerName; مع تعليق داعم.

var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp : الوظيفة () { 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 : الدالة () { 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; // else // return null; 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; }, setWebexcctable : الوظيفة () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = GlideRecordSecure(gs.getProperty(' جديدx_caci_webexcc.webexccactivitytable'))؛ webexcc.addQuery("callobject", actInfo.CallObject)؛ webexcc.query()؛ if(!webexcc.next()) { webexcc.ani = actInfo.ani؛ webexcc.dnis =actInfo.queuename؛ webexcc.queuename =actInfo.queuename؛ webexcc.wrapuptime =actInfo.wrapuptime؛ webexcc.callduration =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(); //Activities on record incident; var actInfoString =this.getParameter('actInfo'); var suser = جديد GlideRecordSecure("sys_user")؛ suser.addQuery("phone"، this.getParameter('ani'))؛ suser.query()؛ if(suser.next()) { var inc = جديد GlideRecordSecure('incident'); inc.addQuery('caller_id"سوزر".sys_id)؛ inc.orderByDesc('sys_created_on')؛ inc.query()؛ إذا (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 is CustomerName SnowField1 is also used as CustomerName which is part of the sample srpt showen above "actInfo.CustomerName".

لقطات شاشة العرض التوضيحي

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

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

إلحاح الحادثة

أثر الحادث

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

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

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

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

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

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

    البرنامج النصي الحالي:

    UserGetSysId: الوظيفة () { 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 = جديد GlideRecordSecure("sys_user")؛ user.addQuery(this.getParameter('field')،this.getParameter('value'))؛ user.query()؛ if(user.next()) { opened_for=مستخدم.sys_id;//إعادة المستخدم.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()؛ إذا (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='Call Received من '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID()؛ grInt.type='phone'؛ grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return 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: "التفاعل"، استعلام: 'sys_id='+sysid })؛ }

    عينة رمز للحدث:

    // شاشة منبثقة وظيفة screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { var IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('value', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam 'incident'، استعلام: 'sys_id='+sysObj.incsysid، 'interaction_sys_id': sysObj.sysid })؛ }else{ openFrameAPI.openServiceNowForm({ entity: 'incident'، استعلام: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid })؛ } window.localStorage.setItem("screenpopinteraction"،JSON.stringify(sysObj))؛ }

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

تغيير الرمز في ServiceNow

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

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

إضافة عمود جديد - InteractionsNumber

إضافة عمود جديد - IncidentNumber

انقر على تحديث.

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

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

إضافة عمود جديد - InteractionsNumber

إضافة عمود جديد - IncidentNumber

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

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

انقر على WebexCC Activity TransformMap

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

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

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

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

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

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

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

  3. قم بتغيير الطريقة setWebexcctable.

    رمز عينة جديدة للحادث:

    تعيين Webexcctable: الوظيفة () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = جديد GlideRecordSecure(gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject)؛ webexcc.query()؛ if(!webexcc.next()) { //Activities on record incident; //var actInfoString =this.getParameter('actInfo')؛ var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; حذف actInfo['interaction_sys_id']؛ حذف actInfo['incident_sys_id']; if( interactionsysid!= null & interactionsysid != غير محدد){ var int = GlideRecordSecure new('interaction'); //int.get('sys_id'، interactionsysid )؛ int.addQuery('sys_id', interactionsysid )؛ int.query()؛ إذا (int.next()) { intenum=int.number; // int.setValue('state','إغلاق مكتمل')؛ int.work_notes='تحديث الحالة إلى الإغلاق.'; int.update(); } } if( incsysid!= null & & incsysid != غير محدد){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid )؛ inci.query()؛ إذا (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 = جديد GlideRecordSecure("sys_user")؛ suser.addQuery("phone"، this.getParameter('ani'))؛ suser.query()؛ if(suser.next()) { var inc = جديد GlideRecordSecure('incident'); inc.addQuery('caller_id"سوزر".sys_id)؛ inc.addQuery('state'،'IN'،'1,2')؛ inc.orderByDesc('sys_created_on')؛ inc.query()؛ إذا (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= Intum; sys_id=webexcc.insert(); } عودة sys_id; }،

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

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

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

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

  3. قم بتغيير وظيفة nowActivities وscreenpop في البرنامج النصي.

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

    الوظيفة

    nowActivities(actInfo, ani) { var gaout = جديد 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 != غير محدد) { var sysObjjson=JSON.parse(sysObjstr); actInfo.interaction_sys_id‎=sysObjjson.sysid؛ actInfo.incident_sys_id=sysObjjson.incsysid; } var gaout = جديد 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'، استعلام: 'sys_id='+sysObj.incsysid، 'interaction_sys_id': sysObj.sysid })؛ }else{ openFrameAPI.openServiceNowForm({ entity: 'incident'، استعلام: '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. انقر على جديد.

    رمز عينة للرجوع إليه:

    الدالة customcti () { var url = فارغ; var name = sysparm_caller_name؛ العيد = sysparm_caller_id; var phone = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; إذا (fQuery == فارغ) fQuery = ''; var view = sysparm_view; إذا (العرض == فارغ || عرض == '') عرض = "itil"; var userID = فارغ; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && name != null && name != '') { userID = UserGetSysId("name", name); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } إذا (url == فارغ) { url = "incident.do؟sys_id= -1"؛ إذا كان عنوان URL += "&sysparm_query=" + fQuery; } answer = url; return url; } function UserGetSysId(field, value) { var user = new GlideRecord("sys_user")؛ user.addQuery(حقل، قيمة)؛ user.query()؛ إذا (user.next()) أرجع المستخدم.sys_id; وإلا أرجع فارغًا؛ }

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

  3. تمكين اتصال العميل

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

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

مثال

sysparm_cti_rule=name حيث "name" هو اسم وظيفة يجب استدعاؤه من أجل معالجة CTI بدلاً من استخدام البرنامج النصي الافتراضي.

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

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

لجعل برنامج نصي client-callable (client-callable)، يجب تحديد خانة الاختيار client-callable في النموذج الذي يتم عرضه عند عرض sys_script الإدخال.

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

المراجع

رقم التخصيص 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. انتقل إلى الاستوديو > مركز اتصال Webex.

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

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

  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 : الوظيفة () { 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 : الوظيفة () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = GlideRecordSecure(gs.getProperty(' جديدx_caci_webexcc.webexccactivitytable'))؛ webexcc.addQuery("callobject", actInfo.CallObject)؛ webexcc.query()؛ if(!webexcc.next()) { webexcc.ani = actInfo.ani؛ webexcc.dnis =actInfo.queuename؛ webexcc.queuename =actInfo.queuename؛ webexcc.wrapuptime =actInfo.wrapuptime؛ webexcc.callduration =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(); // Activities on record incident; var actInfoString =this.getParameter('actInfo'); var suser = جديد GlideRecordSecure("sys_user")؛ suser.addQuery("phone"، this.getParameter('ani'))؛ suser.query()؛ if(suser.next()) { var inc = جديد GlideRecordSecure('incident'); inc.addQuery('caller_id"سوزر".sys_id)؛ inc.orderByDesc('sys_created_on')؛ inc.query()؛ إذا (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2)؛ inc.comments =jsonPretty; inc.update()؛ } } } إرجاع sys_id; }، النوع: 'propUtils2' })؛
تحرير صفحة واجهة المستخدم باسم برنامج نصي جديد

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

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

لقطات شاشة العرض التوضيحي

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