שילוב מרכז הקשר של Webex עם ServiceNow (גרסה 1 — מדור קודם)
תנאים מוקדמים
הגודל המינימלי הנתמך עבור ממשק ה- softphone הוא 500 פיקסלים. כל ערך הנמוך מ- 500 פיקסלים עלול לגרום לבעיות בתצוגה או בפונקציונליות.
לפני שתשלב את מרכז הקשר של Webex עם מסוף ServiceNow CRM, ודא שיש לך את הדברים הבאים:
-
גישה למרכז הקשר של Webex.
-
גישה למנהל מערכת לרכזת הבקרה בכ תובת https://admin.webex.com ולמרכז Management Portal הקשר של Webex. כתובות האתרים של Management Portal האתר הן ספציפיות לאזור שלך.
-
סוכן עם גישה לשולחן העבודה. כתובת האתר של שולחן העבודה היא ספציפית לאזור שלך.
-
גישת סוכן לתחום הבא שנוסף ברשימה המותרת של מדיניות אבטחת תוכן:
-
*. שירותי-נוב. קום
לקבלת מידע נוסף על אופן הגדרת הרשימה המותרת, עיין במאמר הגדרות אבטחה עבור מרכז הקשר של Webex.
-
-
חשבון פורטל מפתחים של 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 הן ונקובר, יוטה, טוקיה, וושינגטון וקסאנאדו. לקבלת מידע נוסף, ראה שילוב מרכז הקשר של Webex עם ServiceNow.
בצע אחת משתי השיטות שלהלן:
- עבור מופעי מפתחים, מומלץ לבצע את השלבים תחת המדריך למופעים למפתחים.
- אם בבעלותך מופע ברישיון ארגוני, פעל לפי ההנחיות עבור מופעים בעלי רישיון ארגוני.
אנו לא ממליצים לערבב את האפליקציה המורשית לארגונים עם מופעי ארגז חול למפתחים.
ערוצים דיגיטליים כגון צ'אט ודוא"ל אינם נתמכים עם מחברי CRM. זה חל על כל שילובי CRM המשתמשים במחברים אלה. אנא תכנן את זרימות העבודה של הפריסה ומעורבות הלקוחות בהתאם.
הסעיפים הבאים מתארים את השלבים להתקנת מחבר ServiceNow עבור מופעי מפתחים.
| 1 |
היכנס לחשבון פורטל המפתחים של ServiceNow ופתח את מסוף הני הול. |
| 2 |
באזור המו פע שלי בתפריט חשבון, לחץ על התחל בנייה.
|
| 3 |
במופע המפתח שלך, משדה ניווט המס נן בפינה השמאלית העליונה של החלון, נווט אל תוספים.
|
| 4 |
חפש את התוסף Openframe שיש לו את הכותרת Open frame. ייתכן שיהיה עליך לגלול ברשימה.
|
| 5 |
לחץ על התקן כדי להתקין את התוסף Openframe. |
| 6 |
בתיבת הדו -שיח הפעל תוסף, לחץ על הפ על.
|
| 7 |
לאחר השלמת הפעלת התוסף, לחץ על ס גור וטען מחדש טופס ב תיבת הדו-שיח הפעלת תוסף.
|
| 8 |
כדי לאמת את הפעלת התוסף, משדה נ יווט המסנן בפינה השמאלית העליונה של החלון, נווט אל OpenFrame. |
| 9 |
לחץ על תצורות וודא שהתוסף OpenFrame מופיע ברשימת תצורות OpenFrame.
|
| 1 |
שם קובץ: Web Excc-ServiceNow עדכונית-Setv (X) .xml
|
| 2 |
במופע ServiceNow שלך, משדה נווט המסנן בפינה השמאלית העליונה של החלון, נווט אל ערכות .
|
| 3 |
לחץ על הקישור ייבוא ערכת עדכונים מ- XML.
|
| 4 |
לחץ על בחר קובץ, בחר בקובץ XML של ערכת עדכוני מערכת ולאחר מכן לחץ על הע לה.
ערכת העדכונים מופיעה ברשימה ערכות עדכונים מאוחזרות ונמצאת במצב טע ון.
|
| 5 |
מהרשימה ע רכות עדכונים ש אוחזרו, לחץ על שם קובץ ערכת עדכונים (קישור) כדי לפתוח את ערכת העדכונים.
|
| 6 |
בפינה השמאלית העליונה של החלון, לחץ על ע רכת עדכונים תצוגה מקדימה כדי לבדוק אם יש בעיות בערכת העדכונים.
|
| 7 |
לאחר השל מת התצוגה המקדימה, לחץ על סגור בתיבת הדו-שיח Update Set Preview.
|
| 8 |
לחץ על בצע ערכת עדכונים.
|
| 9 |
לחץ על סגור בתיבת הדו- שיח ביצוע ערכת עדכונים לאחר השלמת ביצוע ערכת העדכונים.
|
| 1 |
בשדה נווט המסנן בפינה השמאלית העליונה של החלון, הקלד
|
| 2 |
בדף מאפייני מערכת, מיין את המאפיינים לפי תאריך עדכון. ודא שאתה יכול לראות את המאפיינים הבאים של מרכז הקשר של Webex:
|
| 3 |
לחץ agentdesktop_urlכדי לפתוח את agentdesktop_url דף מאפיין המערכת. |
| 4 |
בשדה ערך, הזן את כתובת האתר של שולחן העבודה של מרכז הקשר Webex בהתאם לאזור הפעולה.
|
| 5 |
לחץ על עד כן כדי לשמור את השינויים. |
| 6 |
(אופציונלי) כדי לשנות את שם טבלת הפעילות, ערוך את המאפיינים של webexccactivit ytable כנדרש. בדף מאפייני מערכת, לחץ על webex ccactivitytable. שנה את השדה ערך כנדרש.
|
| 7 |
(אופציונלי) הוסף קבוצות משתמשים בדרכים הבאות:
|
| 1 |
משדה נווט המסנן, נווט אל .
|
| 2 |
לחץ על חדש.
|
| 3 |
הזן את המאפיינים הבאים עבור כתובת האתר:
|
| 4 |
מימין לשדה כתובת האתר, לחץ על הלחצן נ עילה והוסף
|
| 5 |
(אופציונלי) בחר בקבוצות משתמש/סוכנים להקצאת התצורה.
|
| 6 |
לחץ על שלח. כתובת האתר מופיעה כקישור.
|
| 7 |
לפני שתנסה להשתמש בטלפון OpenFrame, ודא שאתה מעלה את קובץ JSON פריסת שולחן העבודה המותאם אישית של ServiceNow למרכז אנשי הקשר של Webex. Management Portal לקבלת מידע נוסף, ראה הגדרת פריסת שולחן העבודה של ServiceNow במרכז אנשי הקשר של Webex. |
| 1 |
|
| 2 |
עדכן את המאפיינים בקובץ פריסת שולחן העבודה, במידת הצורך. |
| 3 |
עבור אל מרכז Management Portal הקשר של Webex. |
| 4 |
מסרגל הנ Management Portal יווט, בחר הקצ .
|
| 5 |
לחץ על פריסה חדשה והזן את הפרטים עבור פריסת שולחן העבודה. |
| 6 |
העלה את קובץ JSON לפריסת שולחן העבודה של ServiceNow. |
| 7 |
לחץ על שמור כדי לשמור את התצורה. כעת באפשרותך להפעיל את שולחן העבודה של מרכז אנשי הקשר של Webex במסוף ServiceNow. |
| 8 |
משדה נווט המסנן, נווט אל סבי .
|
הסעיפים הבאים מתארים את השלבים להתקנת מחבר ServiceNow עבור מופעים ארגוניים מורשים.
| 1 |
היכנס לחשבון פורטל המפתחים של ServiceNow ופתח את מסוף הני הול. |
| 2 |
באזור המו פע שלי בתפריט חשבון, לחץ על התחל בנייה.
|
| 3 |
במופע המפתח שלך, משדה ניווט המס נן בפינה השמאלית העליונה של החלון, נווט אל תוספים.
|
| 4 |
חפש את התוסף Openframe שיש לו את הכותרת Open frame. ייתכן שיהיה עליך לגלול ברשימה.
|
| 5 |
לחץ על התקן כדי להתקין את התוסף Openframe. |
| 6 |
בתיבת הדו -שיח הפעל תוסף, לחץ על הפ על.
|
| 7 |
לאחר השלמת הפעלת התוסף, לחץ על ס גור וטען מחדש טופס ב תיבת הדו-שיח הפעלת תוסף.
|
| 8 |
כדי לאמת את הפעלת התוסף, משדה נ יווט המסנן בפינה השמאלית העליונה של החלון, נווט אל OpenFrame. |
| 9 |
לחץ על תצורות וודא שהתוסף OpenFrame מופיע ברשימת תצורות OpenFrame.
|
מופעים בעלי רישיונות ארגוניים יכולים להתקין את יישום מרכז הקשר של Webex ישירות מחנות ServiceNow.
|
|
| 1 |
בשדה נווט מסנן בפינה השמאלית העליונה של החלון, הזן
|
| 2 |
בדף מאפייני מערכת, מיין את המאפיינים לפי תאריך עדכון. ודא שאתה יכול לראות את המאפיינים הבאים של מרכז הקשר של Webex:
|
| 3 |
לחץ agentdesktop_urlכדי לפתוח את agentdesktop_url דף מאפיין המערכת. |
| 4 |
בשדה ערך, הזן את כתובת האתר של שולחן העבודה של מרכז הקשר Webex בהתאם לאזור הפעולה.
|
| 5 |
לחץ על עד כן כדי לשמור את השינויים. |
| 6 |
(אופציונלי) כדי לשנות את שם טבלת הפעילות, ערוך את המאפיינים של x_caci_webexcc.webexccactiv itytable כנדרש.
|
| 7 |
(אופציונלי) הוסף קבוצות משתמשים בדרכים הבאות:
|
| 1 |
משדה נווט המסנן, נווט אל .
|
| 2 |
לחץ על חדש.
|
| 3 |
הזן את המאפיינים הבאים עבור כתובת האתר:
|
| 4 |
מימין לשדה כתובת האתר, לחץ על הלחצן נ עילה והוסף
|
| 5 |
(אופציונלי) בחר בקבוצות משתמש/סוכנים להקצאת התצורה.
|
| 6 |
לחץ על שלח. כתובת האתר מופיעה כקישור.
|
| 7 |
משדה נווט המסנן, נווט אל סבי .
|
| 8 |
(אופציונלי) ברשימה קבוצת משתמשים, העבר את קבוצות המשתמשים שיכולות לגשת לשולחן העבודה של מרכז אנשי הקשר של Webex מ- זמין ל- S elected. |
| 9 |
לפני שתנסה להשתמש בטלפון OpenFrame, ודא שאתה מעלה את קובץ JSON פריסת שולחן העבודה המותאם אישית של ServiceNow למרכז אנשי הקשר של Webex. Management Portal לקבלת מידע נוסף, ראה הגדרת פריסת שולחן העבודה של ServiceNow במרכז אנשי הקשר של Webex. |
| 1 |
|
| 2 |
עדכן את המאפיינים בקובץ פריסת שולחן העבודה, במידת הצורך. |
| 3 |
עבור אל מרכז Management Portal הקשר של Webex. |
| 4 |
מסרגל הנ Management Portal יווט, בחר הקצ .
|
| 5 |
לחץ על פריסה חדשה והזן את הפרטים עבור פריסת שולחן העבודה. |
| 6 |
העלה את קובץ JSON לפריסת שולחן העבודה של ServiceNow. |
| 7 |
לחץ על שמור כדי לשמור את התצורה. כעת באפשרותך להפעיל את שולחן העבודה של מרכז אנשי הקשר של Webex במסוף ServiceNow. |
| 8 |
משדה נווט המסנן, נווט אל סבי .
|
| 1 |
משדה נווט המסנן, נווט אל תקריות > פתח אירוע. |
| 2 |
לחץ לחיצה ימנית על שדה המתקשר ולחץ על הגדר מילון.
|
| 3 |
הוסף תכונות
כעת תוכל להתחיל להשתמש בשולחן העבודה של מרכז הקשר של Webex במסוף ServiceNow. |
| 4 |
משדה נווט המסנן, נווט אל סבי .
|
- אנו תומכים בכניסה Agent Desktop באמצעות WebRTC עבור מחברי Salesforce (SFDC) ומיקרוסופט דינמיקס (MS Dynamics) בלבד.
- נכון לעכשיו, תכונה זו חלה על סוכנים בלבד.
Agent Desktopבמסוף ServiceNow
לפני ביצוע שיחות חיצוניות, ודא שאתה מבצע את הפעולות הבאות:
-
צור את נקודת הכניסה החיצונית והגדר אסטרטגיית נקודת כניסה חיצונית.
-
הפעל ANI outdial עבור פרופיל הסוכן.
-
הגדר את ANI החיוג החיצוני למיפוי מספר חיוג לנקודת כניסה.
לקבלת מידע נוסף, עיין בפר ק הק צאה במד ריך Cisco Webex Contact Center ההתקנה והניהול.
משדה נווט המסנן, נווט אל סבי .
לקבלת מידע על אופן השימוש בשולחן העבודה, עיין בכרטיסייה סוכן בעזרה של מרכז הקשר של Webex.
סקירה כללית
מאמר זה מכסה מספר דרכים להתאמה אישית של הכללים העסקיים שלך עבור מחבר ServiceNow CRM. הוא מפרט כיצד ניתן להתאים אישית את מקרי השימוש בהתבסס על כללים עסקיים הספציפיים ל- ServiceNow.
הלקוח חייב לנהל את מקרי השימוש הללו בעצמו ב- ServiceNow. התצורה היא ספציפית ל-ServiceNow ולא לתוכנת Webex Contact Center או למומחיות.
זהו תיעוד הפניה כדי לסייע בשינוי הכללים העסקיים. מפתחי ServiceNow ייצרו וינהלו את הכללים העסקיים ויספקו תמיכה.
סיסקו מספקת רק תיעוד לדוגמה.
הסעיפים הבאים מספקים פרטים אודות ההגדרה, ההפעלה והניהול של יישומון פעולות עבור מופעים של מפתחים וארגונים.
ביצוע ערכת העדכונים עבור יישומון פעולות
עבור המופעים הארגוניים המורשים, התקן את אפליקציית מרכז הקשר העדכנית ביותר של Webex מחנות ServiceNow.
כדי להגדיר את יישומון הפעולות עבור מופעי המפתח, הורד את קובץ XML העדכני ביותר של ערכת עדכון מערכת הזמין במאגר github במיקום זה: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. שם הקובץ הוא webexcc-servicenow-update-setv7-1-ActionsWidget.xml. כדי לבצע את ערכת העדכונים עבור רכיב Widget Actions, עיין בשלבים 2 עד 9 ב ביצוע ערכת העדכונים.
הפעלת יישומון פעולות
השתמש במאפיין isWidgetDisplayEnabled כדי להפעיל את רכיב הווידג'ט פעולות. אין לשנות את ערך המאפיין הזה במקטע ללא ראש של פריסת שולחן העבודה המותאמת אישית. המאפיין מוגדר תמיד ל- false בקטע ללא ראש של פריסת שולחן העבודה המותאמת אישית. עליך לעדכן את ערך המאפיין רק בקטע החלונית של פריסת שולחן העבודה המותאמת אישית.
לאחר הפעלת רכיב Widget Actions בפריסת שולחן העבודה המותאמת אישית, באפשרותך לבצע את הפעולות הבאות:
- נהל רשומות פעילות — לחץ על הצ גה/עריכה של רשומת פעילות כדי להציג את רשימת רשומות הפעילות המשויכות למתקשר.
- שיוך אובייקטים של 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" : "Create Incident" }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] } - הוספת הערות שיחה בזמן אמת — באפשרותך ללכוד מידע נוסף על השיחה באזור הטקסט ולסיים את השיחה. ניתן לראות הערות אלה שנוספו כהערות שיחה ברשומת הפעילות.
שינוי קוד ב- ServiceNow
התסריט כולל שינויים-
עבור אל נווט המסנן וחפש סק
ריפט כולל
.בחר את הסקרי פט כולל תחת מ משק המשתמש של המערכת.
-
סנן את השם וח פש את
PropUtils.
-
שנה את השיטה
UserGetSysID בסקריפט
.נוכחי:
UserGetSysId : function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },קוד מדגם חדש לאירוע:
UserGetSysId : function () { var opened_for; //Incident related changes var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new 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='Call Received From '+ 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 page.בחר ד פי ממשק משתמש תחת ממשק משתמש מערכת.
-
סנן את השם וחפש
agentdesktop
. -
שנה את פונק
ציית screenpop
בסקרי פט הלקוח.פונקציה נוכחית:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });קוד לדוגמה עבור האירוע:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // For Incident-related change var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ 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 עבור ServiceNow CRM.
כברירת מחדל, הטבלה מכילה שדות וערכים מסוימים מחוץ לקופסה.
באפשרותך ליצור משתנים ספציפיים יותר לעסק (משתני CAD) בתוך מעצב זרימת WebExCC ולהוסיף את משתני ה- CAD בתוך יומן הפעילות של ServiceNow לאחר השיחה, וכן לשמור זאת לנתוני טבלת הפעילות שלאחר השיחה.
זהו תיעוד הפניה בלבד - ומראה כיצד לעשות זאת עבור משתנה CAD לדוגמה בשם הלקוח המאחסן את שם הלקוח בתוך ה- IVR ומפרסם זאת ב- ServiceNow.
צפוי כי מפתחי השותף+שירות לקוחותNow יגדירו וינהלו תצורה זו מכיוון שהיא התאמה אישית למחבר הקיים.
סיסקו מספקת רק את הטכניקות כיצד להתאים אישית ולהאריך את המחבר.
נכון למאמר זה, צוות סיסקו אימת תמיכה בתוספת משתנה CAD ליומן הפעילות וטבלת הפעילות באמצעות הטכניקה המתוארת להלן:
הוסף עמודה לפעילות IMP של WebExCC
-
ערוך את הטבלה בגירסת המפתח של ServiceNow.

-
עבור אל נווט המסנן וחפש סטודיו.

בחר מרכז
הקשר של Webex

או



-
בחר בטבלת פעילות
IMP של WebExCC

-
הוסף עמודה חדשה, לדוגמה, שם לקו
ח


הוסף עמודה ליומן הטלפון
-
ערוך את טבלת יומן הטלפון.


-
הוסף עמודה חדשה, לדוגמה, שם לקו
ח.


מפת שינוי פעילות WebExCC

הוסף עמודה חדשה, לדוגמה, מיפוי שדה CustomerName
.


התאמה אישית של עמודות רשימה

כפי שממליץ שירות עכשיו, שנה את פעולת הבחירה מ יצירה להתעלם.


הגדר רשימת יומני טלפון

עבור אל סקריפט כולל
הוסף רק שורה אחת webexcc. u_customername=ActInfo.שם לקוח ל- PropUtils
.



ראה את השורה: webexcc. u_customername=ActInfo.שם לקוח; עם הערה תומכת.
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;
// 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 : function () {
var sys_id=0;
var actInfo = JSON.parse(this.getParameter('actInfo'));
var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'));
webexcc.addQuery("callobject", actInfo.CallObject);
webexcc.query();
if(!webexcc.next()) {
webexcc.ani = actInfo.ani;
webexcc.dnis =actInfo.dnis;
webexcc.queuename =actInfo.queuename;
webexcc.wrapuptime =actInfo.wrapuptime;
webexcc.callduration =actInfo.CallDurationInSeconds;
webexcc.ringingtime =actInfo.ringingtime;
webexcc.activitydate =actInfo.ActivityDate;
webexcc.callobject =actInfo.CallObject;
webexcc.calltype =actInfo.CallType;
webexcc.calldisposition=actInfo.CallDisposition;
// This line is Added - to capture it in the Activity Log
webexcc.u_customername=actInfo.CustomerName;
sys_id=webexcc.insert();
//Activities on Incident record;
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', 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();
}
}
}
return sys_id;
},
type: 'propUtils'
});
יצירת משתנה CAD במעצב זרימה

הוספת משתנה CAD לפריסת שולחן העבודה
דוגמה
"CadName1:SnowField1,CadName2:SnowField2"
CadName1 is CustomerName
SnowField1 is also used as CustomerName which is part of sample scirpt showen above "actInfo.CustomerName".

צילומי מסך הדגמה
הצג את משתנה ה- CAD החדש שנוסף בטבלת פעילות WebExCC.



יצירת משתנה CAD עבור מעצב זרימה
דחיפות אירוע
השפעת האירוע

עדכון סקריפט שירות עכשיו
עדכונים לסקריפט כוללים
-
עבור אל נווט המסנן וחפש
script includesבחר באפשרות כולל סקריפט תחת מ משק משתמש מערכת.

-
סנן את השם עם
propUtils.
-
שנה את השיטה
UserGetSysID בשדה סק
ריפט.
סקריפט נוכחי:
UserGetSysId : function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },קוד מדגם חדש לאירוע:
UserGetSysId : function () { var opened_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new 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='Call Received From '+ 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; },
-
עבור אל נווט המסנן וחפש
UI pages.בחר באפשרות דפי ממשק משתמש תחת מ משק משתמש מערכת.

-
סנן את דפי ממשק המשתמש עם שם וחפש
agentdesktop.
-
שנה את פונק
ציית screenpop
בשדה התסריט.
פונקציה נוכחית:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); }קוד לדוגמה עבור האירוע:
// 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 != null && callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('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: '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





לחץ על עדכון.


הוספת עמודות חדשות לטבלה "יומן טלפון
"
פתיחת ט בלת יומן הטלפון





מפת שינוי פעילות WebExCC
פתח את מפת הש
ינוי מנווט המסנן


לחץ על מפת טרנספור מציה של פעילות WebExCC




לחץ על עדכן.

שינויים בתסריט כולל
-
עבור אל נווט המסנן וחפש "סקריפט כולל".
בחר את הסקרי פט כולל תחת מ משק המשתמש של המערכת.

-
סנן את השם באמצעות
PropUtils.

-
שנה את השיטה
SetWeb
ExccTable.
קוד לדוגמה חדש לאירוע:
setWebexcctable : function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { //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']; delete 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='Update State to closed.'; 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', suser.sys_id); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(actInfo,null,2); inc.comments =jsonPretty; inc.update(); } } } webexcc.u_ani = actInfo.ani; webexcc.u_dnis =actInfo.dnis; webexcc.u_queuename =actInfo.queuename; webexcc.u_wrapuptime =actInfo.wrapuptime; webexcc.u_callduration =actInfo.CallDurationInSeconds; webexcc.u_ringingtime =actInfo.ringingtime; webexcc.u_activitydate =actInfo.ActivityDate; webexcc.u_callobject =actInfo.CallObject; webexcc.u_calltype =actInfo.CallType; webexcc.u_calldisposition=actInfo.CallDisposition; webexcc.u_incidentnumber=incnum; webexcc.u_interactionsnumber=intenum; sys_id=webexcc.insert(); } return sys_id; },
שינויי שיטה בדפי ממשק משתמש
-
עבור אל נווט המסנן וחפש ד
פי ממשק משתמש
בחר באפשרות דפי ממשק משתמש תחת מ משק משתמש מערכת.

-
סנן את דפי ממשק המשתמש עם שם וחפש
agentdesktop.
-
שנה את הפונקציה
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 = new 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 = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ 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, צור רשומת אירועים חדשה.
חיפוש כללים עסקיים בנווט המסנן

לחץ על חדש.

קוד לדוגמה לעיון:
function 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", name); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; return url; } function 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.

עדכן את כתובת האתר של screenpop עם כלל CTI המותאם אישית "cti.do? sysparm_cti_rule=צור מקריות & = "sysparm_caller_phone

sysparm_cti_ruleשם = שבו 'שם' הוא שם של פונקציה אמור להיות מופעל לעי בוד CTI במקום להשתמש בסקריפט ברירת המחדל.
הגדר את הפונקציה ברשומה המס sys_scriptומנת בל קוח שניתן לקרוא.
אם עליך להוסיף, לעדכן או למחוק כל GlidereCord בפונקציה, התקשר לפונקציה נפרדת שאינה ניתנת לקריאה לקוח כדי לבצע את העדכונים.
כדי להפוך סקריפט לניתן להתקשר ללקוח, עליך לסמן את תיבת הסימון הניתן להתקשר לקוח בטופס שמוצג כאשר הערך מוצג. sys_script
תיבת הסימון הניתנת להתקשרות לקוח אינה מופיעה כברירת מחדל. כדי להציג, עליך לשנות את השדות המוצגים בטופס באמצעות סמל גלגל השיניים ומנגנון דלי הרפש.
התאמה אישית מס '2 - הוסף משתנה CAD בטבלת הפעילות של מרכז הקשר של Webex
סקירה כלליתמאמר זה מפרט את התהליך להוספת עמודה נוספת לטבלת ServiceNow - webexcc_activity שנוצרת עם התקנת מחבר Webex CC עבור ServiceNow CRM.
כברירת מחדל, הטבלה מכילה שדות וערכי מערכת מחוץ לקופסה.
באפשרותך ליצור משתנים ספציפיים יותר לעסק (משתני CAD) בתוך מעצב זרימת WebExCC ולהוסיף משתני CAD אלה בתוך יו מן הפעילות של ServiceNow לאחר השיחה, ולהמשיך את זה לנתוני טבלת הפעילות שלאחר השיחה.
-
זהו תיעוד הפניה בלבד - ומראה כיצד לעשות זאת עבור משתנה CAD לדוגמה בשם הלקוח המאחסן את שם הלקוח בתוך ה- IVR ומפרסם זאת ב- ServiceNow.
-
מפתחי Partner+Customer ServiceNow יגדירו ויתנהלו תצורה זו מכיוון שהיא התאמה אישית למחבר הקיים.
-
סיסקו תספק רק את הטכניקות כיצד להתאים אישית ולהאריך את המחבר.
-
נכון למאמר זה, צוות סיסקו אימת תמיכה בתוספת משתנה CAD ליומן הפעילות וטבלת הפעילות באמצעות הטכניקה המתוארת להלן.
ערוך את הטבלה בגירסת המפתח של ServiceNow.

עבור אל הסטו .



בחר ט בלת פעילות WebExCC.

לדוגמה, שם לקו ח.


בחר פריסת רשימה לפעילות WebExCC.

שלב זה אינו נדרש אם אתה משתמש בערכת העדכונים XML - רק שורה אחת נדרשת כדי להוסיף "webexcc. u_customername=ActInfo.שם לקוח "ל- PropUtils.



תסריט לדוגמה
ראה את השורה עם: webexcc. u_customername=ActInfo.שם לקוח; עם הערה תומכת.
var propUtils2 = Class.create();
propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{
getWebexccProp : function () {
var webexccprop = {};
webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/';
webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url');
webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url');
return JSON.stringify(webexccprop);
},
setWebexcctable : function () {
var sys_id=0;
var actInfo = JSON.parse(this.getParameter('actInfo'));
var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'));
webexcc.addQuery("callobject", actInfo.CallObject);
webexcc.query();
if(!webexcc.next()) {
webexcc.ani = actInfo.ani;
webexcc.dnis =actInfo.dnis;
webexcc.queuename =actInfo.queuename;
webexcc.wrapuptime =actInfo.wrapuptime;
webexcc.callduration =actInfo.CallDurationInSeconds;
webexcc.ringingtime =actInfo.ringingtime;
webexcc.activitydate =actInfo.ActivityDate;
webexcc.callobject =actInfo.CallObject;
webexcc.calltype =actInfo.CallType;
webexcc.calldisposition=actInfo.CallDisposition;
// This line is Added - to capture it in the Activity Log
webexcc.u_customername=actInfo.CustomerName;
sys_id=webexcc.insert();
// Activities on Incident record;
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', 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();
}
}
}
return sys_id;
},
type: 'propUtils2'
});
ערוך את דף ממשק המשתמש עם שם סקריפט חדש
יצירת משתנה CAD במעצב זרימה
הוספת משתנה CAD לפריסת שולחן העבודה
צילומי מסך הדגמה
הצג את משתנה ה- CAD החדש שנוסף בטבלת פעילות WebExCC.

מחבר ה- CRM פועל על בסיס גירסת הווידג'ט שצוינה בפריסת שולחן העבודה JSON. חשוב מאוד לוודא שגרסת הווידג'ט בתוך פריסת שולחן העבודה מתעדכנת.
מנהלי מערכת צפויים להבטיח שכל פריסות שולחן העבודה עבור מחבר CRM זה ישתמשו בגרסת יישומון זו. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.
- עדכון אחרון של ServiceNow— ServiceNow_Desktop_0 .1.0_v5.0.3.json. החל ממרץ 2024, גרסת החבילה היא 1.0.9
- עדכון XML אחרון - WebExcc-ServiceNow-עדכוני-SetV7-1-ActionsWidget.xml, יוני 2024











































