שלב את Webex Contact Center עם ServiceNow (גרסה 1 - מדור קודם)
דרישות מקדימות
לעת עתה, תכונה זו חלה על נציגים בלבד.
לפני שתשלב את Webex Contact Center עם מסוף ServiceNow CRM, ודא שברשותך את הפריטים הבאים:
-
קבל גישה למוקד אנשי הקשר של Webex.
-
גישת מנהל מערכת אל Control Hub ב-https://admin.webex.com ואל פורטל הניהול של מוקד אנשי הקשר של Webex. כתובות ה-URL של פורטל הניהול ספציפיות לאזור שלך.
-
צפון אמריקה: https://portal.wxcc-us1.cisco.com
-
בריטניה: https://portal.wxcc-eu1.cisco.com
-
האיחוד האירופי: https://portal.wxcc-eu2.cisco.com
-
שורה תחתונה: https://portal.wxcc-anz1.cisco.com
-
סינגפור: https://portal-v2.wxcc-sg1.cisco.com
-
-
נציג עם גישה לשולחן העבודה. כתובת ה-URL של שולחן העבודה ספציפית לאזור שלך.
-
צפון אמריקה: https://desktop.wxcc-us1.cisco.com
-
בריטניה: https://desktop.wxcc-eu1.cisco.com
-
האיחוד האירופי: https://desktop.wxcc-eu2.cisco.com
-
שורה תחתונה: https://desktop.wxcc-anz1.cisco.com
-
סינגפור: https://desktop.wxcc-sg1.cisco.com
-
-
גישת נציג לדומיין הבא שנוספה ברשימת ההיתרים של מדיניות אבטחת התוכן:
-
*.service-now.com
למידע נוסף על הגדרת רשימת ההיתרים, עיין במאמר הגדרות אבטחה עבור Webex Contact Center.
-
-
חשבון פורטל למפתחים של ServiceNow. כדי ליצור חשבון, עבור אל פורטל המפתחים של ServiceNow ב-https://developer.servicenow.com/dev.do ולחץ על הירשם והתחל בנייה.
-
קבל גישה לקבצים הבאים ב-https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ערכת עדכון ServiceNow (XML)
-
פריסת שולחן עבודה של מוקד אנשי הקשר של ServiceNow (JSON)
-
- מהדורות ServiceNow התומכות ב-Webex Contact Center הן ונקובר, יוטה, טוקיה, וושינגטון ו-Xanadu. למידע נוסף, ראה שילוב Webex Contact Center עם ServiceNow.
בצע אחת משתי השיטות הבאות:
עבור מופעי מפתחים, מומלץ לבצע את השלבים תחת מדריך מופע המפתחים.
אם יש לך מופע מורשה של ארגון, פעל בהתאם להנחיות עבור מופעים מורשים של ארגון.
איננו ממליצים לערבב את היישום בעל הרישיון הארגוני עם מופעי ארגז חול של מפתחים.
הסעיפים הבאים מתארים את השלבים להתקנת מחבר ServiceNow עבור מופעי מפתח.
1 |
היכנס לחשבון פורטל המפתחים של ServiceNow ופתח את מסוף ניהול . |
2 |
מתוך האזור המופע שלי בתפריט חשבון , לחץ על התחל בנייה. |
3 |
במופע המפתחים, מתוך השדה Filter Navigator בפינה השמאלית העליונה של החלון, נווט אל תוספים. |
4 |
חפש את תוסף Openframe בעל הכותרת Openframe. ייתכן שתצטרך לגלול ברשימה. |
5 |
לחץ על התקן כדי להתקין את תוסף Openframe. |
6 |
בתיבת הדו-שיח הפעל תוסף , לחץ על הפעל. |
7 |
לאחר השלמת הפעלת התוסף, לחץ על סגור וטען מחדש בתיבת הדו-שיח הפעלת התוסף . |
8 |
כדי לאמת את הפעלת התוסף, מתוך השדה Filter navigator בפינה השמאלית העליונה של החלון, נווט אל OpenFrame. |
9 |
לחץ על תצורות וודא שתוסף OpenFrame יופיע ברשימת תצורות OpenFrame . |
1 |
הורד את קובץ ה-XML העדכני ביותר של הגדרת עדכון המערכת הזמין ב-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 |
בשדה Filter navigator בפינה השמאלית העליונה של החלון, הקלד |
2 |
בדף מאפייני מערכת , מיין את המאפיינים לפי תאריך מעודכן. ודא שאתה יכול לראות את המאפיינים הבאים של מוקד אנשי הקשר של Webex: |
3 |
לחץ על agentdesktop_url כדי לפתוח את הדף מאפיין מערכתagentdesktop_url . |
4 |
בשדה ערך , הזן את כתובת ה-URL של שולחן העבודה של מוקד אנשי הקשר של Webex בהתאם לאזור הפעולה.
|
5 |
לחץ על עדכן כדי לשמור את השינויים. |
6 |
(אופציונלי) כדי לשנות את שם הטבלה הפעילות, ערוך את מאפייני webexccactivitytable כנדרש. בדף מאפייני מערכת , לחץ על webexccactivitytable. שנה את השדה ערך כנדרש. |
7 |
(אופציונלי) הוסף קבוצות משתמשים בדרכים הבאות:
|
1 |
משדה Filter navigator , נווט אל . |
2 |
לחץ על חדש. |
3 |
הזן את המאפיינים הבאים עבור כתובת ה-URL:
|
4 |
מימין לשדה כתובת ה-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 Contact Center בתוך מסוף ServiceNow. |
8 |
משדה נווט מסנן , נווט אל . |
הסעיפים הבאים מתארים את השלבים להתקנת מחבר ServiceNow עבור מופעים ארגוניים מורשים.
1 |
היכנס לחשבון פורטל המפתחים של ServiceNow ופתח את מסוף ניהול . |
2 |
מתוך האזור המופע שלי בתפריט חשבון , לחץ על התחל בנייה. |
3 |
במופע המפתחים, מתוך השדה Filter Navigator בפינה השמאלית העליונה של החלון, נווט אל תוספים. |
4 |
חפש את תוסף Openframe בעל הכותרת Openframe. ייתכן שתצטרך לגלול ברשימה. |
5 |
לחץ על התקן כדי להתקין את תוסף Openframe. |
6 |
בתיבת הדו-שיח הפעל תוסף , לחץ על הפעל. |
7 |
לאחר השלמת הפעלת התוסף, לחץ על סגור וטען מחדש בתיבת הדו-שיח הפעלת התוסף . |
8 |
כדי לאמת את הפעלת התוסף, מתוך השדה Filter navigator בפינה השמאלית העליונה של החלון, נווט אל OpenFrame. |
9 |
לחץ על תצורות וודא שתוסף OpenFrame יופיע ברשימת תצורות OpenFrame . |
מופעים בעלי רישיונות ארגוניים יכולים להתקין את היישום Webex Contact Center ישירות מחנות ServiceNow.
הורד והתקן את חבילת Webex Contact Center מחנות ServiceNow: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
בשדה Filter navigator בפינה השמאלית העליונה של החלון, הזן |
2 |
בדף מאפייני מערכת , מיין את המאפיינים לפי תאריך מעודכן. ודא שאתה יכול לראות את המאפיינים הבאים של מוקד אנשי הקשר של Webex: |
3 |
לחץ על agentdesktop_url כדי לפתוח את הדף מאפיין מערכתagentdesktop_url . |
4 |
בשדה ערך , הזן את כתובת ה-URL של שולחן העבודה של מוקד אנשי הקשר של Webex בהתאם לאזור הפעולה.
|
5 |
לחץ על עדכן כדי לשמור את השינויים. |
6 |
(אופציונלי) כדי לשנות את שם טבלת הפעילות, ערוך את מאפייני x_caci_webexcc.webexccactivitytable לפי הצורך.
|
7 |
(אופציונלי) הוסף קבוצות משתמשים בדרכים הבאות:
|
1 |
משדה Filter navigator , נווט אל . |
2 |
לחץ על חדש. |
3 |
הזן את המאפיינים הבאים עבור כתובת ה-URL:
|
4 |
מימין לשדה כתובת URL , לחץ על לחצן נעל והוסף |
5 |
(אופציונלי) בחר את קבוצות המשתמש / הנציג כדי להקצות את התצורה. |
6 |
לחץ על שלח. כתובת ה-URL מופיעה כקישור. |
7 |
משדה נווט מסנן , נווט אל . |
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 Contact Center בתוך מסוף ServiceNow. |
8 |
משדה נווט מסנן , נווט אל . |
1 |
משדה נווט מסנן, נווט אל אירועים > פתח אירוע. |
2 |
לחץ לחיצה ימנית על שדה המתקשר ולחץ על קבע תצורה של מילון. |
3 |
הוסף תכונות מופרדות באמצעות פסיקים כעת תוכל להתחיל להשתמש בשולחן העבודה של Webex Contact Center בתוך מסוף ServiceNow. |
4 |
משדה נווט מסנן , נווט אל . |
אנחנו לא תומכים כרגע בכניסה אל שולחן עבודה של נציג באמצעות האפשרות שולחן עבודה (WebRTC).
שולחן עבודה של נציג במסוף ServiceNow
לפני שתבצע שיחות בחיוג חוץ, ודא שתבצע את הפעולות הבאות:
-
צור את נקודת הכניסה לחיוג חוץ והגדר אסטרטגיית נקודת כניסה לחיוג חוץ.
-
הפעל ANI של חיוג חוץ עבור פרופיל הנציג.
-
הגדר את ה-ANI של חיוג חוץ למיפוי של מספר חיוג לנקודת כניסה.
למידע נוסף, עיין בפרק הקצאה של הגדרת מוקד אנשי הקשר של Cisco Webex ומדריך הניהול.
משדה נווט מסנן , נווט אל .
לקבלת מידע אודות אופן השימוש בשולחן העבודה, עיין בלשונית נציג בעזרה של מוקד אנשי הקשר של Webex.
סקירה
מאמר זה מכסה מספר דרכים להתאים אישית את הכללים העסקיים שלך עבור מחבר CRM של ServiceNow. הוא מפרט כיצד ניתן להתאים אישית את מקרי השימוש בהתבסס על כללים עסקיים ספציפיים ל-ServiceNow.
הלקוח חייב לנהל בעצמו את מקרי השימוש האלה ב-ServiceNow. התצורה ספציפית ל-ServiceNow ולא לתוכנה או למומחיות של Webex Contact Center.
זהו תיעוד הפניה כדי לסייע בשינוי הכללים העסקיים. מפתחי ServiceNow ייצרו וינהלו את הכללים העסקיים ויספקו תמיכה.
Cisco מספקת תיעוד לדוגמה בלבד.
הסעיפים הבאים מספקים פרטים על אופן ההגדרה, ההפעלה והניהול של ווידג'ט פעולות עבור מופעים של מפתח וארגון.
בצע את ערכת העדכון עבור ווידג'ט פעולות
עבור המופעים הארגוניים המורשים, התקן את היישום העדכני ביותר של Webex Contact Center מתוך חנות ServiceNow.
כדי להגדיר את ווידג'ט הפעולות עבור מופעי המפתחים, הורד את קובץ ה-XML העדכני ביותר של ערכת עדכון המערכת הזמין ב-Github repo במיקום הזה: 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 כגון סוג שיחה (נכנס או יוצא), אובייקט שיחה, הערות שיחה וכן הלאה לרשומת הפעילות.
- נהל אירועים - לחץ על צור אירוע. נוצר אירוע חדש כאשר פרטי המתקשר מאוכלסים מראש. באפשרותך לבצע את העדכונים הדרושים לאירוע. באפשרותך לבחור לשנות את סוג הרשומה מאירוע למקרה, מודול HR וכן הלאה בהתבסס על הדרישות שלך. כדי לשנות את סוג הרשומה, שנה את הערך של המאפיין 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": "פעולות שלג !", "maximizeAreaName": "app-maximize-area" } } ] }
- הוסף הערות לשיחה חיה - באפשרותך ללכוד מידע נוסף על השיחה באזור הטקסט ולהשלים את השיחה. ניתן לראות את ההערות האלה שנוספו כהערות שיחה ברשומת הפעילות.
שינוי קוד ב-ServiceNow
התסריט כולל שינויים-
עבור אל נווט מסנן וחפש
כולל סקריפט
.בחר את קובץ ה-Script כולל תחת ממשק המשתמש של המערכת.
-
סנן את השם וחפש
propUtils
. -
שנה את השיטה
UserGetSysId
ב-Script.קורנט:
מזהה UserGetSys: פונקציה () { 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; },
קוד דגימה חדש עבור האירוע:
מזהה UserGetSys: פונקציה () { var opened_for; //שינויים הקשורים לאירועים var sysidlist = {}; user var = 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(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id==opened_for; בע"מ.contact_type="phone"; inc.short_description='שיחה התקבלה מ-'+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for== opened_for; sysid=grInt.insert(); sysidlist.sysid=sysid; מחזירה JSON.stringify( sysidlist); },
-
עבור אל נווט מסנן וחפש
דף ממשק משתמש
.בחר דפי ממשק משתמש תחת ממשק משתמש מערכת.
-
סנן את השם וחפש
שולחן עבודה
. -
שנה את הפונקציה
Screenpop
ב-Client Script.פונקציה נוכחית:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = 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 = 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: 'אירוע', שאילתה: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'אירוע', שאילתה: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }
אם פרטי המתקשר קיימים ב-CRM, וכבר יש אירוע חדש שנפתח עם איש קשר זה, היישום פותח את האירוע שלא מתבצע
אם פרטי המתקשר לא קיימים ב-CRM, היישום פותח אירוע חדש
אם פרטי המתקשר קיימים ב-CRM, היישום פותח אירוע חדש עם פרטים מלאים מראש
סקירה
מקרה שימוש זה מפרט את התהליך להוספת עמודה נוספת לטבלה ServiceNow - webexcc_imp_activity וליצור sn_openframe_phone_log עם ההתקנה של Webex CC for ServiceNow CRM Connector.
כברירת מחדל, הטבלה מכילה שדות וערכים מסוימים מחוץ למערכת הקופסה.
באפשרותך ליצור משתנים ספציפיים יותר לעסקים (משתני CAD) בתוך מעצב WebexCC Flow ולהוסיף את משתני ה-CAD בתוך יומן פעילות השיחות של ServiceNow, וכן לשמור אותם לנתוני טבלת פעילות לאחר השיחה.
זהו תיעוד הפניה בלבד - ומראה כיצד לעשות זאת עבור משתנה CAD לדוגמה בשם לקוח שמאחסן את שם הלקוח בתוך IVR ומפרסם אותו ל-ServiceNow.
צפוי שמפתחי ServiceNow של השותף + הלקוח יגדירו וינהלו תצורה זו משום שמדובר בהתאמה אישית למחבר הקיים.
Cisco מספקת רק את הטכניקות לגבי אופן ההתאמה האישית וההרחבה של המחבר.
החל ממאמר זה, צוות Cisco אימת תמיכה בהוספת משתנה CAD ליומן רישום הפעילות ולטבלת הפעילות באמצעות הטכניקה המתואר להלן:
הוסף עמודה לפעילות IMP של WebexCC
-
ערוך את הטבלה בגרסת המפתחים של ServiceNow.
-
עבור אל נווט המסנן וחפש סטודיו.
בחר
מוקד אנשי הקשר של Webex
או
-
בחר בטבלה
פעילות IMP של WebexCC
-
הוסף עמודה חדשה, לדוגמה,
CustomerName
הוסף עמודה ליומן הטלפון
-
ערוך את טבלת יומן הרישום של הטלפון.
-
הוסף עמודה חדשה, לדוגמה,
CustomerName
.
מפת המרת פעילות של WebexCC
הוסף עמודה חדשה, לדוגמה, מיפוי שדה CustomerName
.
התאם אישית עמודות רשימה
כפי שמליץ 'שירות עכשיו', שנה את פעולת הבחירה מ'יצירה' כדי להתעלם.
קבע את התצורה של רשימת יומני הטלפון
עבור ל-Script Include
הוסף רק קו אחד 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;//else // 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.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; 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 = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id"סוזר.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(); } } } return sys_id; }, סוג: 'propUtils' });
צור משתנה CAD במעצב Flow
הוסף את משתנה ה-CAD לפריסת שולחן העבודה
דוגמה
"CadName1:SnowField1,CadName2:SnowField2" CadName1 הוא CustomerName SnowField1 משמש גם כ- CustomerName, שהוא חלק מ- scirpt showen מעל "actInfo.CustomerName".
צילומי מסך של הדגמה
הצג את משתנה ה-CAD החדש שנוסף בטבלת הפעילות של WebexCC.
צור משתנה CAD עבור מעצב זרימה
דחיפות תקריתהשפעה על האירוע
עדכון קובץ Script של Service Now
עדכונים לתסריט כוללים
-
עבור אל נווט המסנן וחפש
כולל סקריפט
בחר את האפשרות כולל סקריפט תחת ממשק משתמש מערכת.
-
סנן את השם באמצעות
propUtils
. -
שנה את השיטה
UserGetSysId
בשדה Script .סקריפט נוכחי:
מזהה UserGetSys: פונקציה () { 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; },
קוד דגימה חדש עבור האירוע:
מזהה UserGetSys: פונקציה () { var opened_for; var sysidlist = {}; user var = 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(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id==opened_for; בע"מ.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('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for== opened_for* sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },
-
עבור אל נווט המסנן וחפש
דפי ממשק משתמש
.בחר באפשרות דפי ממשק משתמש תחת ממשק משתמש מערכת.
-
סנן את דפי ממשק המשתמש עם שם וחפש שולחן עבודה .
-
שנה את פונקציית
screenpop
בשדה Script.פונקציה נוכחית:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = 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 }); }
קוד לדוגמה עבור האירוע:
// screen pop function 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 != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Impact.value; } if(callerani===callSessionInfo.callAssociatedData.Impact.value; } var gaout = GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Impact', Impact); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'אירוע', שאילתה: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'אירוע', שאילתה: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
אם פרטי המתקשר קיימים ב-CRM, ואין אירוע חדש או לא בביצוע, היישום פותח אירוע חדש
שנה את הקוד ב-ServiceNow
הוסף עמודות חדשות לטבלה פעילות IMP של WebexCC
פתח את הטבלה פעילות IMP של WebexCCהוסף עמודה חדשה - InteractionsNumber הוסף עמודה חדשה - IncidentNumber
לחץ על עדכן.
הוסף עמודות חדשות לטבלה יומן הטלפון
פתח את הטבלה יומן הטלפון
מפת המרת פעילות של WebexCC
פתח מפת המרת
מנווט המסנן
לחץ על WebexCC Activity TransformMap
לחץ על עדכן.
שינויים בסקריפט כוללים
-
עבור אל navigator מסנן וחפש "כולל סקריפט".
בחר את קובץ ה-Script כולל תחת ממשק המשתמש של המערכת.
-
סנן את השם באמצעות
propUtils
. -
שנה את השיטה
setWebexcctable
.קוד דגימה חדש עבור האירוע:
setWebexcctable: פונקציה () { 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()) { //פעילויות ברישום אירוע; //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 != 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', incsysid ); 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"סוזר.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.quename; 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; },
שינויים בשיטה בדפי ממשק משתמש
-
עבור אל נווט מסנן וחפש
דפי ממשק משתמש
בחר באפשרות דפי ממשק משתמש תחת ממשק משתמש מערכת.
-
סנן את דפי ממשק המשתמש עם שם וחפש
שולחן עבודה
. -
שנה את הפונקציה
nowActivities ו-screenpop
בתסריט.פונקציה נוכחית:
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 = GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); } function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = 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: 'אירוע', שאילתה: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'אירוע', שאילתה: '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, צור רשומת אירוע חדשה.
חפש כללים עסקיים ב-Filter Navigator
לחץ על חדש.
קוד לדוגמה לעיון:
פונקציה customcti() { var url = null; var name = sysparm_caller_nameשבועה = sysparm_caller_id; טלפון var = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_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", name); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } אם (url == null) { url = "incident.do?sys_id=-1"; אם (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; return url; } function UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(field, value); user.query(); if (user.next()) מחזיר משתמש.sys_id; אחרת מחזירה null; }
תצורה לדוגמה של הכלל העסקי
הפעל לקוח הניתן לשיחה
עיבוד שילוב טלפוניה ממוחשבת (CTI) עבור אירוע מסומן כ-True.
עדכן את כתובת ה-URL של חלון המסך עם כלל CTI המותאם אישית " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
sysparm_cti_rule=name כאשר 'name' הוא שם של פונקציה יש להפעיל עבור עיבוד CTI במקום להשתמש בסקריפט ברירת המחדל.
הגדר את הפונקציה sys_script בכניסה המסומנת לקוח ניתן לשיחה.
אם עליך להוסיף, לעדכן או למחוק GlideRecord בפונקציה, התקשר לפונקציה נפרדת שאינה לקוח ניתנת להתקשרות כדי לבצע את העדכונים.
כדי להפוך סקריפט לניתן להתקשרות ללקוח, עליך לסמן את תיבת הסימון להתקשרות ללקוח בטופס המוצג כאשר sys_script הערך מוצג.
תיבת הסימון להתקשרות ללקוח לא מופיעה כברירת מחדל. כדי להציג, עליך לשנות את השדות המוצגים על הטופס באמצעות סמל ההילוך ומנגנון דלי קלוש.
מס' התאמה אישית 2 - הוסף משתנה CAD בטבלת הפעילות של מוקד אנשי הקשר של Webex
סקירה כלליתמאמר זה מפרט את התהליך להוספת עמודה נוספת לטבלה ServiceNow - webexcc_activity שנוצרה בעת ההתקנה של Webex CC for ServiceNow CRM Connector.
כברירת מחדל, הטבלה מכילה שדות וערכים של המערכת מחוץ לקופסה.
ייתכן שתוכל ליצור משתנים ספציפיים יותר לעסקים (משתני CAD) בתוך מעצב WebexCC Flow ולהוסיף את משתני ה-CAD האלה בתוך יומן פעילות שיחה לאחר יומן של ServiceNow, ולהמשיך את זה לנתוני טבלת פעילות לאחר שיחה .
-
זהו תיעוד הפניה בלבד - ומראה כיצד לעשות זאת עבור משתנה CAD לדוגמה בשם לקוח שמאחסן את שם הלקוח בתוך IVR ומפרסם אותו ל-ServiceNow.
-
מפתחי ServiceNow של השותף + הלקוח יגדירו תצורה זו וינהלו אותה מכיוון שהיא התאמה אישית למחבר הקיים.
-
Cisco תספק רק את הטכניקות לגבי אופן ההתאמה האישית וההרחבה של המחבר.
-
החל ממאמר זה, צוות Cisco אימת תמיכה בהוספת משתנה CAD ליומן רישום הפעילות ולטבלת הפעילות באמצעות הטכניקה המתואר להלן.
ערוך את הטבלה בגרסת המפתחים של ServiceNow.
עבור אל
.בחר טבלת פעילות WebexCC .
לדוגמה, CustomerName.
בחר פריסת רשימה עבור פעילות 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.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; 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 = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id"סוזר.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(); } } } return sys_id; }, סוג: 'propUtils2' });
ערוך את דף ממשק המשתמש עם שם סקריפט חדשצור משתנה CAD במעצב Flow
הוסף את משתנה ה-CAD לפריסת שולחן העבודה
צילומי מסך של הדגמה
הצג את משתנה ה-CAD החדש שנוסף בטבלת הפעילות של WebexCC.