שלב Webex Contact Center עם ServiceNow
בעת שילוב Webex Contact Center עם מסוף ServiceNow CRM, באפשרותך להפעיל Webex Contact Center Desktop מתוך ServiceNow.
דרישות מוקדמות
בשלב זה, תכונה זו ישימה לסוכנים בלבד.
לפני שתשלב Webex Contact Center עם מסוף ServiceNow CRM, ודא שברשותך הפריטים הבאים:
-
גישה ל-Webex Contact Center.
-
גישת מנהל מערכת למרכז הבקרה ב- https://admin.webex.com ולפורטל הניהול של מרכז הקשר Webex. כתובות האתרים של פורטל הניהול הן ספציפיות לאזור שלך.
-
צפון אמריקה: https://portal.wxcc-us1.cisco.com
-
בריטניה: https://portal.wxcc-eu1.cisco.com
-
האיחוד האירופי: https://portal.wxcc-eu2.cisco.com
-
סינגפור: https://portal-v2.wxcc-sg1.cisco.com
-
-
סוכן עם גישה לשולחן העבודה. כתובת האתר של שולחן העבודה היא ספציפית לאזור שלך.
-
צפון אמריקה: https://desktop.wxcc-us1.cisco.com
-
בְּרִיטַנִיָה: https://desktop.wxcc-eu1.cisco.com
-
האיחוד האירופי: https://desktop.wxcc-eu2.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 Contact Center (JSON)
-
- מהדורות ServiceNow שבהן תומך מרכז הקשר Webex הן ונקובר, יוטה, טוקיו, וושינגטון וקסאנאדו. לקבלת מידע נוסף, ראה Webex שילוב מרכז הקשר עם ServiceNow.
בצע אחת משתי השיטות הבאות:
עבור מופעים של מפתחים, מומלץ לבצע את השלבים תחת המדריך למופע מפתחים.
אם בבעלותך מופע ברשיון ארגוני, פעל בהתאם להנחיות עבור מופעים בעלי רשיון ארגוני.
איננו ממליצים לשלב את האפליקציה בעלת רשיון ארגוני עם מופעי ארגז חול של מפתחים.
הסעיפים הבאים מתארים את השלבים להתקנת מחבר ServiceNow עבור מופעי מפתחים.
1 |
היכנס לחשבון פורטל המפתחים של ServiceNow ופתח את מסוף הניהול . |
2 |
באזור המופע שלי בתפריט חשבון , לחץ על התחל לבנות. |
3 |
במופע המפתח שלך, מהשדה נווט סינון בפינה השמאלית העליונה של החלון, נווט אל תוספים. |
4 |
חפש את תוסף Openframe בעל הכותרת Openframe. ייתכן שיהיה עליך לגלול ברשימה. |
5 |
לחץ על התקן כדי להתקין את תוסף Openframe. |
6 |
בתיבת הדו-שיח Activate Plugin , לחץ על Activate. |
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 System Update Set ולאחר מכן לחץ על העלה.
ערכת העדכונים מופיעה ברשימה ערכות עדכון מאוחזרות ונמצאת במצב טעון .
|
5 |
מהרשימה ערכות עדכון מאוחזרות, לחץ על שם הקובץ Update Set (קישור) כדי לפתוח את Update Set. |
6 |
בפינה השמאלית העליונה של החלון, לחץ על Preview Update Set כדי לבדוק אם קיימות בעיות בערכת העדכונים. |
7 |
לחץ על סגור בתיבת הדו-שיח Update Set Preview לאחר השלמת התצוגה המקדימה. |
8 |
לחץ על Commit Update Set. |
9 |
לחץ על סגור בתיבת הדו-שיח Update Set Commit לאחר השלמת פעולת ה- Commit של Update Set. |
1 |
בשדה נווט סינון בפינה השמאלית העליונה של החלון, הקלד |
2 |
בדף מאפייני מערכת, מיין את המאפיינים לפי תאריך עדכון. ודא שאתה יכול לראות את המאפיינים הבאים Webex Contact Center: |
3 |
לחץ על agentdesktop_url כדי לפתוח את הדף System Property agentdesktop_url . |
4 |
בשדה ערך , הזן את כתובת ה- URL עבור שולחן העבודה של Webex Contact Center בהתאם לאזור הפעולה.
|
5 |
לחץ על עדכן כדי לשמור את השינויים. |
6 |
(אופציונלי) כדי לשנות את שם טבלת הפעילות, ערוך את מאפייני webexccactivitytable כנדרש. בדף מאפייני מערכת, לחץ על webexccactivitytable. שנה את השדה ערך כנדרש. |
7 |
(אופציונלי) הוסף קבוצות משתמשים בדרכים הבאות:
|
1 |
משדה Filter navigator , נווט אל . |
2 |
נְקִישָׁה חָדָשׁ. |
3 |
הזן את המאפיינים הבאים עבור כתובת ה-URL:
|
4 |
משמאל לשדה כתובת האתר , לחץ על לחצן נעל והוסף |
5 |
(אופציונלי) בחר את קבוצות המשתמשים / סוכנים כדי להקצות את התצורה. |
6 |
לחץ על שלח. כתובת ה-URL מופיעה כקישור. |
7 |
לפני שתנסה להשתמש בטלפון OpenFrame, הקפד להעלות את קובץ ה- JSON של פריסת שולחן העבודה המותאמת אישית של ServiceNow לפורטל הניהול של Webex Contact Center. לקבלת מידע נוסף, ראה הגדרת פריסת שולחן העבודה של ServiceNow במרכז הקשר Webex. |
1 |
הורד את פריסת שולחן העבודה עבור ServiceNow מ - https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
עדכן את המאפיינים בקובץ פריסת שולחן העבודה, במידת הצורך. |
3 |
עבור אל פורטל ניהול Webex Contact Center. |
4 |
בסרגל הניווט של פורטל הניהול, בחר שולחן עבודה. |
5 |
נְקִישָׁה פריסה חדשה והזן את הפרטים עבור פריסת שולחן העבודה. |
6 |
העלה את קובץ JSON של פריסת שולחן העבודה של ServiceNow. |
7 |
לחץ על שמור כדי לשמור את התצורה. כעת באפשרותך להפעיל את שולחן העבודה של Webex Contact Center בתוך מסוף ServiceNow. |
8 |
משדה נווט המסננים, נווט אל של פעולות שירות. |
הסעיפים הבאים מתארים את השלבים להתקנת מחבר ServiceNow עבור מופעים ארגוניים מורשים.
1 |
היכנס לחשבון פורטל המפתחים של ServiceNow ופתח את מסוף הניהול . |
2 |
באזור המופע שלי בתפריט חשבון , לחץ על התחל לבנות. |
3 |
במופע המפתח שלך, מהשדה נווט סינון בפינה השמאלית העליונה של החלון, נווט אל תוספים. |
4 |
חפש את תוסף Openframe בעל הכותרת Openframe. ייתכן שיהיה עליך לגלול ברשימה. |
5 |
לחץ על התקן כדי להתקין את תוסף Openframe. |
6 |
בתיבת הדו-שיח Activate Plugin , לחץ על Activate. |
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 Contact Center: |
3 |
לחץ על agentdesktop_url כדי לפתוח את הדף System Property agentdesktop_url . |
4 |
בשדה ערך , הזן את כתובת ה- URL עבור שולחן העבודה של Webex Contact Center בהתאם לאזור הפעולה.
|
5 |
לחץ על עדכן כדי לשמור את השינויים. |
6 |
(אופציונלי) כדי לשנות את שם טבלת הפעילות, ערוך את המאפיינים x_caci_webexcc.webexccactivitytable כנדרש.
|
7 |
(אופציונלי) הוסף קבוצות משתמשים בדרכים הבאות:
|
1 |
משדה Filter navigator , נווט אל . |
2 |
נְקִישָׁה חָדָשׁ. |
3 |
הזן את המאפיינים הבאים עבור כתובת ה-URL:
|
4 |
משמאל לשדה כתובת האתר , לחץ על לחצן נעל והוסף |
5 |
(אופציונלי) בחר את קבוצות המשתמשים / סוכנים כדי להקצות את התצורה. |
6 |
לחץ על שלח. כתובת ה-URL מופיעה כקישור. |
7 |
משדה נווט המסננים, נווט אל של פעולות שירות. |
8 |
(אופציונלי) ברשימה קבוצת משתמשים, העבר את קבוצות המשתמשים שיכולות לגשת לשולחן העבודה של מרכז הקשר Webex מזמין לנבחר. |
9 |
לפני שתנסה להשתמש בטלפון OpenFrame, הקפד להעלות את קובץ ה- JSON של פריסת שולחן העבודה המותאמת אישית של ServiceNow לפורטל הניהול של Webex Contact Center. לקבלת מידע נוסף, ראה הגדרת פריסת שולחן העבודה של ServiceNow במרכז הקשר Webex. |
1 |
הורד את פריסת שולחן העבודה עבור ServiceNow מ - https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
עדכן את המאפיינים בקובץ פריסת שולחן העבודה, במידת הצורך. |
3 |
עבור אל פורטל ניהול Webex Contact Center. |
4 |
בסרגל הניווט של פורטל הניהול, בחר שולחן עבודה. |
5 |
נְקִישָׁה פריסה חדשה והזן את הפרטים עבור פריסת שולחן העבודה. |
6 |
העלה את קובץ JSON של פריסת שולחן העבודה של ServiceNow. |
7 |
לחץ על שמור כדי לשמור את התצורה. כעת באפשרותך להפעיל את שולחן העבודה של Webex Contact Center בתוך מסוף ServiceNow. |
8 |
משדה נווט המסננים, נווט אל של פעולות שירות. |
1 |
משדה נווט המסננים, נווט אל אירועים> תקרית פתוחה . |
2 |
לחץ לחיצה ימנית על שדה המתקשר ולחץ על הגדר מילון. |
3 |
הוסף תכונות המופרדות באמצעות פסיקים כעת באפשרותך להתחיל להשתמש בשולחן העבודה של Webex Contact Center בתוך מסוף ServiceNow. |
4 |
משדה נווט המסננים, נווט אל של פעולות שירות. |
Agent Desktop במסוף ServiceNow
לפני שאתה מבצע שיחות חיוג, ודא שאתה עושה את הפעולות הבאות:
-
צור את נקודת הכניסה החיצונית והגדר אסטרטגיית נקודת כניסה לחיוג.
-
אפשר ANI חיוג עבור פרופיל הסוכן.
-
הגדר את ה-ANI החיוג למיפוי מספר חיוג לנקודת כניסה.
למידע נוסף, ראה את אספקה פרק של Cisco Webex Contact Center מדריך התקנה וניהול.
משדה נווט המסננים, נווט אל של פעולות שירות.
לקבלת מידע אודות אופן השימוש בשולחן העבודה, עיין בכרטיסיה סוכן בעזרה של Webex Contact Center.
סקירה כללית
מאמר זה מכסה מספר דרכים להתאמה אישית של הכללים העסקיים שלך עבור מחבר ServiceNow CRM. הוא מפרט כיצד באפשרותך להתאים אישית את מקרי השימוש בהתבסס על כללים עסקיים ספציפיים ל- ServiceNow.
הלקוח חייב לנהל באופן עצמאי מקרי שימוש אלה ב- ServiceNow. התצורה ספציפית ל- ServiceNow ולא Webex תוכנה או מומחיות של Contact Center.
זהו תיעוד התייחסות כדי לסייע בשינוי כללים עסקיים. מפתחי ServiceNow ייצרו וינהלו את הכללים העסקיים ויספקו תמיכה.
Cisco מספקת תיעוד לדוגמה בלבד.
הסעיפים הבאים מספקים פרטים אודות אופן ההגדרה, ההפעלה והניהול של רכיב widget מסוג פעולות עבור מופעים של מפתחים וארגונים.
Commit the Update Set for Actions Widget
עבור מופעי הארגון המורשים, התקן את היישום העדכני ביותר Webex Contact Center מחנות ServiceNow.
כדי להגדיר את הווידג'ט פעולות עבור מופעי המפתחים, הורד את הקובץ האחרון System Update Set XML הזמין במאגר github במיקום זה: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. שם הקובץ webexcc-servicenow-update-setv7-1-ActionsWidget.xml. כדי לבצע פעולת Commit לערכת העדכונים עבור רכיב widget מסוג פעולות, ראה שלבים 2 עד 9 ב-Commit the Update Set.
הפעל רכיב widget מסוג פעולות
השתמש במאפיין isWidgetDisplayEnabled כדי להפעיל את רכיב widget מסוג פעולות. אין לשנות את הערך של מאפיין זה במקטע חסר הראש של פריסת שולחן העבודה המותאמת אישית. המאפיין מוגדר תמיד כ- false במקטע חסר הראש של פריסת שולחן העבודה המותאמת אישית. יש לעדכן את ערך המאפיין רק באזור החלונית של פריסת שולחן העבודה המותאמת אישית.
לאחר שתפעיל את רכיב widget מסוג פעולות בפריסת שולחן העבודה המותאמת אישית, תוכל לבצע את הפעולות הבאות:
- ניהול רשומות פעילות - לחץ על הצג/ערוך רשומת פעילות כדי להציג את רשימת רשומות הפעילות המשויכות למתקשר.
- שיוך אובייקטי CRM - לחץ על שייך לרשומות פעילות כדי להוסיף אובייקטי CRM כגון סוג שיחה (נכנסת או יוצאת), אובייקט שיחה, הערות שיחה וכן הלאה לרשומת הפעילות.
- ניהול אירועים – לחץ על צור אירוע. אירוע חדש נוצר כאשר פרטי המתקשר מאוכלסים מראש. באפשרותך לבצע את העדכונים הדרושים לאירוע. באפשרותך לבחור לשנות את סוג הרשומה מאירוע לאירוע, מודול משאבי אנוש וכן הלאה בהתאם לדרישות שלך. לשינוי סוג הרשומה, שנה את הערך של המאפיין typeOfRecord בתצורת רכיב widget מסוג פעולות. לדוגמה:
{ "comp": "md-tab-panel", "תכונות": { "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" : "Create Incident" }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] }
- הוספת הערות לשיחה חיה – באפשרותך ללכוד מידע נוסף אודות השיחה באזור הטקסט ולסיים את השיחה. באפשרותך לראות הערות אלה שנוספו כהערות שיחה ברשומת הפעילות.
שינוי קוד ב- ServiceNow
קובץ ה-script כולל שינויים-
עבור אל מסנן נווט וחפש
הסקריפט כולל
.בחר את קובץ ה - Script הנכלל תחת ממשק המשתמש של המערכת.
-
סנן את השם וחפש
propUtils
. -
שנה את השיטה
משתמשGetSysId
בתסריט.קורנט:
UserGetSysId: פונקציה () { var opened_for; var user = חדש GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = חדש GlideRecord('אינטראקציה'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'טלפון'; grInt.opened_for= opened_for; var sysid=grInt.insert(); להחזיר 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=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); },
-
עבור אל מסנן נווט וחפש
דף
ממשק משתמש.בחר דפי ממשק משתמש תחת ממשק משתמש מערכת.
-
סנן את השם וחפש
AgentDesktop
. -
שנה את
Screenpop
פונקציה בסקריפט לקוח.פונקציה נוכחית:
פונקציית פופ מסך screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = חדש GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('שדה', 'טלפון'); gaout.addParam('ערך', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ ישות: 'אינטראקציה', שאילתה: 'sys_id='+sysid });
קוד לדוגמה לאירוע:
פונקציית פופ מסך screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = חדש GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('שדה', 'טלפון'); gaout.addParam('ערך', callerani); gaout.getXMLWait(); // עבור שינוי הקשור לאירוע var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ ישות: 'incident', שאילתה: 'sys_ id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }
אם פרטי המתקשר קיימים ב- CRM, וכבר נפתח אירוע חדש עם איש קשר זה, היישום פותח את אירוע ההתקדמות
אם פרטי המתקשר אינם קיימים ב- CRM, היישום פותח אירוע חדש
אם פרטי המתקשר קיימים ב- CRM, היישום פותח אירוע חדש עם פרטים שמולאו מראש
סקירה כללית
מקרה שימוש זה מפרט את התהליך להוספת עמודה נוספת לטבלת ServiceNow - webexcc_imp_activity ויצירת sn_openframe_phone_log עם התקנת Webex CC עבור מחבר ה- CRM של ServiceNow.
כברירת מחדל, הטבלה מכילה שדות מערכת וערכים מסוימים מוכנים לשימוש.
באפשרותך ליצור משתנים ספציפיים יותר לעסק (משתני CAD) בתוך מעצב WebexCC Flow ולהוסיף את משתני CAD בתוך יומן הפעילות של ServiceNow לאחר שיחה, וכן להתמיד בכך בנתוני טבלת הפעילות לאחר השיחה.
זהו תיעוד עזר בלבד - ומראה כיצד לעשות זאת עבור משתנה CAD לדוגמה בשם שם לקוח המאחסן את שם הלקוח בתוך IVR ומפרסם אותו ב- ServiceNow.
צפוי שמפתחי Partner+customer ServiceNow יגדירו וינהלו תצורה זו מכיוון שהיא התאמה אישית למחבר הקיים.
Cisco מספקת רק את הטכניקות להתאמה אישית ולהרחבה של המחבר.
החל ממאמר זה, צוות Cisco אימת תמיכה בהוספת משתנה CAD ליומן הפעילות ולטבלת הפעילות באמצעות הטכניקה המתוארת להלן:
הוספת עמודה לפעילות WebexCC IMP
-
ערוך את הטבלה בגירסת המפתחים של ServiceNow.
-
עבור אל נווט המסנן וחפש סטודיו.
בחר
Webex Contact Center
או
-
בחר בלחצן
פעילות WebexCC IMP
שולחן -
הוסף עמודה חדשה, לדוגמה,
שם לקוח
הוספת עמודה ליומן הטלפון
-
ערוך את טבלת יומן הרישום של הטלפון.
-
הוסף עמודה חדשה, לדוגמה,
שם לקוח
.
מפת המרת פעילות WebexCC
הוסף עמודה חדשה, לדוגמה, שם לקוח
מיפוי שדות.
התאמה אישית של עמודות רשימה
כפי שהשירות כעת ממליץ, שנה את פעולת הבחירה מיצירה להתעלמות.
קביעת תצורה של רשימת יומני רישום של טלפונים
עבור אל קובץ Script כלול
הוספת שורה אחת בלבד 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; אחרת // להחזיר null; var grInt = חדש GlideRecord ('אינטראקציה'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'טלפון'; grInt.opened_for= opened_for; var sysid=grInt.insert(); להחזיר סיסיד; }, 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.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 = חדש 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 במעצב Flow
הוספת משתנה CAD לפריסת שולחן העבודה
דוגמה
"CadName1:SnowField1,CadName2:SnowField2" CadName1 הוא CustomerName SnowField1 משמש גם כ- CustomerName שהוא חלק מ- scirpt לדוגמה המוצג לעיל "actInfo.CustomerName".
צילומי מסך של הדגמה
הצג את משתנה ה- CAD החדש שנוסף בטבלה WebexCC Activity.
יצירת משתנה CAD עבור Flow Designer
דחיפות האירועהשפעת האירוע
עדכון סקריפט של Service Now
עדכונים לסקריפט כוללים:
-
עבור אל נווט הסינון וחפש
קבצי Script כלולים
בחר באפשרות Script כולל תחת ממשק משתמש מערכת.
-
סנן את השם באמצעות
propUtils
. -
שנה את השיטה
משתמשGetSysId
בשדה Script .תסריט נוכחי:
UserGetSysId: פונקציה () { var opened_for; var user = חדש GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = חדש GlideRecord('אינטראקציה'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'טלפון'; grInt.opened_for= opened_for; var sysid=grInt.insert(); להחזיר 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=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; },
-
עבור אל נווט הסינון וחפש
דפי
ממשק משתמש.בחר באפשרות דפי ממשק משתמש תחת ממשק משתמש מערכת.
-
סנן את דפי ממשק המשתמש עם שם וחפש
את agentdesktop
. -
שנה את
Screenpop
פונקציה בשדה סקריפט.פונקציה נוכחית:
פונקציית פופ מסך screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = חדש GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('שדה', 'טלפון'); gaout.addParam('ערך', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ ישות: 'אינטראקציה', שאילתה: '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 = חדש GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam ('שדה', 'טלפון'); gaout.addParam('ערך', callerani); gaout.addParam('דחיפות', IncUrgency); gaout.addParam ('השפעה', השפעה); 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({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
אם פרטי המתקשר קיימים ב- CRM, ואין אירוע חדש או לא מתקדם, היישום פותח אירוע חדש
שינוי הקוד ב- ServiceNow
הוספת עמודות חדשות ללחצן פעילות WebexCC IMP
שולחן
פתח את הלחצן פעילות WebexCC IMPשולחן הוספת עמודה חדשה - InteractionsNumber הוספת עמודה חדשה - IncidentNumber
לחץ על עדכן.
הוספת עמודות חדשות ללחצן יומן טלפונים
שולחן
פתח את הלחצן יומן טלפונים
שולחן
מפת המרת פעילות WebexCC
פתוח שינוי מפה
מנווט המסננים
לחץ על WebexCC Activity TransformMap
לחץ על עדכן .
שינויים בסקריפט כוללים
-
עבור אל נווט מסנן וחפש "סקריפט כולל".
בחר את קובץ ה - 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()) { //Activities on Incident record; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; delete actInfo['interaction_sys_id']; מחק את actInfo['incident_sys_id']; if( interactionsysid!= null &&; interactionsysid != undefined){ var inte = חדש 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 = חדש 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 = חדש GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = חדש 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=אינטנום; sys_id=webexcc.insert(); } להחזיר sys_id; },
שינויי שיטה בדפי ממשק משתמש
-
עבור אל מסנן נווט וחפש
דפי ממשק משתמש
בחר באפשרות דפי ממשק משתמש תחת ממשק משתמש מערכת.
-
סנן את דפי ממשק המשתמש עם שם וחפש את agentdesktop
.
-
שנה את
nowפעילויות ו 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 != 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); } הפונקציה screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = חדש GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('שדה', 'טלפון'); gaout.addParam('ערך', 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({ entity: '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, צור רשומת אירוע חדשה.
חיפוש כללים עסקיים בנווט הסינון
נְקִישָׁה חָדָשׁ.
קוד לדוגמה לעיון:
פונקציה 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; } תשובה = כתובת 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; }
תצורה לדוגמה של הכלל העסקי
הפיכת לקוח לזמין ניתן לקריאה
שילוב טלפוניה ממוחשבת (CTI) עיבוד עבור אירוע מסומן כ - True.
עדכן את כתובת ה- URL של ה- screenpop עם כלל CTI המותאם אישית" cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
יש להפעיל את sysparm_cti_rule=name כאשר 'name' הוא שם הפונקציה עבור CTI עיבוד במקום שימוש בסקריפט ברירת המחדל.
הגדר את הפונקציה בערך sys_script המסומן כניתן לקריאה של לקוח.
אם עליך להוסיף, לעדכן או למחוק רשומות GlideRecords כלשהן בפונקציה, התקשר לפונקציה נפרדת שאינה ניתנת לקריאה של לקוח כדי לבצע את העדכונים.
כדי להפוך קובץ script לניתן לקריאה באמצעות לקוח, עליך לסמן את תיבת הסימון לקוח-ניתן לקריאה בטופס המוצגת כאשר הערך sys_script מוצג.
תיבת הסימון הניתנת להתקשרות ללקוח אינה מופיעה כברירת מחדל. כדי להציג, עליך לשנות את השדות המופיעים בטופס באמצעות סמל גלגל השיניים ומנגנון דלי הברד.
התאמה אישית # 2 - הוספת משתנה CAD בטבלת הפעילות Webex Contact Center
סקירה כלליתמאמר זה מפרט את התהליך להוספת עמודה נוספת לטבלת ServiceNow - webexcc_activity שנוצר עם התקנת Webex CC עבור מחבר ה- CRM של ServiceNow.
כברירת מחדל, הטבלה מכילה שדות מערכת וערכים מוכנים לשימוש.
באפשרותך ליצור משתנים ספציפיים יותר לעסקים (משתני CAD) בתוך מעצב WebexCC Flow ולהוסיף משתני CAD אלה בתוך יומן הפעילות של ServiceNowלאחר שיחה, ולהתמיד זאת בנתוני טבלת הפעילות לאחר השיחה .
-
זהו תיעוד עזר בלבד - ומראה כיצד לעשות זאת עבור משתנה CAD לדוגמה בשם שם לקוח המאחסן את שם הלקוח בתוך IVR ומפרסם אותו ב- ServiceNow.
-
מפתחי שותפים+לקוחות ServiceNow יגדירו וינהלו תצורה זו מכיוון שהיא התאמה אישית למחבר הקיים.
-
Cisco תספק רק את הטכניקות להתאמה אישית ולהרחבה של המחבר.
-
נכון למאמר זה, צוות Cisco אימת תמיכה בהוספת משתנה CAD ליומן הפעילות ולטבלת הפעילות באמצעות הטכניקה המתוארת להלן.
ערוך את הטבלה בגירסת המפתחים של ServiceNow.
עבור אל מרכז הקשר
.בחר טבלת פעילות WebexCC.
לדוגמה, CustomerName.
בחר פריסת רשימה עבור פעילות WebexCC.
שלב זה אינו נדרש אם אתה משתמש ב- Update Set 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 = חדש 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 = חדש 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(acting string),null,2); inc.comments =jsonPretty; inc.update(); } } } להחזיר sys_id; }, הקלד: 'propUtils2' });
עריכת דף ממשק המשתמש עם שם קובץ Script חדשיצירת משתנה CAD במעצב Flow
הוספת משתנה CAD לפריסת שולחן העבודה
צילומי מסך של הדגמה
הצג את משתנה ה- CAD החדש שנוסף בטבלה WebexCC Activity.