כאשר תשלב את מרכז הקשר Webex עם מסוף ServiceNow CRM, תוכל להפעיל את שולחן העבודה Webex מרכז הקשר מתוך ServiceNow.
לפני שתשלב את מרכז הקשר Webex עם מסוף ServiceNow CRM, ודא שאתה מקבל את הפעולות הבאות:
-
גישה למרכז Webex לאנשי קשר.
-
למנהל המערכת יש גישה לרכזת הבקרה בhttps://admin.webex.com ובפורטל לניהול מרכז הWebex איש קשר. כתובות האתרים של פורטל הניהול הן ספציפיות לאזור שלך.
-
סוכן עם גישה לשולחן העבודה . כתובת ה-URL של שולחן העבודה היא ספציפית לאזורך.
-
צפון אמריקה: https://desktop.wxcc-us1.cisco.com
-
בְּרִיטַנִיָה: https://desktop.wxcc-eu1.cisco.com
-
-
הסוכן מקבל גישה לקבוצת המחשבים הבאה שנוספת ברשימה המותרת של מדיניות אבטחת תוכן:
-
*. service-now.com
לקבלת מידע נוסף אודות הגדרת הרשימה המותרת, עיין במאמר ' הגדרות אבטחה ' עבור ' מרכז הקשר 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 עבור מופעי מפתחים.
1 |
היכנס לחשבון הפורטל של המפתחים ServiceNow ופתח את מסוף הניהול. |
2 |
מהאזור ' המופע שלי ' של תפריט ' תיק לקוח ', לחץ על ' התחל בניין '. |
3 |
במופע המפתחים, מהשדה ' נווט למסננים ' בחלק השמאלי העליון של החלון, נווט לתוספים . |
4 |
חפש את תוסף Openframe כי יש את הכותרת Openframe. ייתכן שיהיה עליך לגלול דרך הרשימה. |
5 |
לחץ על ' התקן ' כדי להתקין את plugin Openframe. |
6 |
בתיבת הדו הפעלת פלאגאין , לחץ על הפעל. |
7 |
כאשר הפעלת התוסף מסתיימת, לחץ על סגור & מחדש את הטופס בתיבת הדו ' הפעלת תוסף '. |
8 |
כדי לאמת את הפעלת התוסף, מהשדה ' נווט למסננים ' שמשמאל לחלק העליון של החלון, נווט אל OpenFrame. |
9 |
לחץ על תצורות וודא שOpenFrame פלאגאין מופיע ברשימת התצורות OpenFrame. |
1 |
בשדה ' נווט מסננים ' שמשמאל לחלק העליון של החלון, הקלד sys_properties. list והקש enter. |
2 |
בדף ' מאפייני מערכת ', מיין את המאפיינים לפי תאריך עדכון. ודא שניתן לראות את המאפיינים הבאים Webex מרכז אנשי קשר: |
3 |
לחץ על agentdesktop_url כדי לפתוח את דף הagentdesktop_url מאפייני המערכת . |
4 |
בשדה Value , הזן את כתובת ה-URL של שולחן העבודה של מרכז הקשר Webex בהתאם לאזור הפעולה.
|
5 |
לחץ על ' עדכן ' כדי לשמור את השינויים. |
6 |
אופציונלי כדי לשנות את שם טבלת הפעילויות, ערוך את המאפיינים webexccactivitytable כנדרש. בדף ' מאפייני מערכת ', לחץ על webexccactivitytable. שנה את שדה הערך לפי הצורך . |
7 |
אופציונלי הוסף קבוצות משתמשים בדרכים הבאות:
|
1 |
מהשדה ' נווט מסננים ', נווט לתצורות . |
2 |
נְקִישָׁה חָדָשׁ. |
3 |
הזן את המאפיינים הבאים עבור כתובת ה-URL:
|
4 |
מימין לשדה ' כתובת url ', לחץ על לחצן הנעילה והוסף |
5 |
אופציונלי בחר בקבוצות משתמש/סוכן להקצאת התצורה. |
6 |
לחץ על שלח. כתובת ה-URL מופיעה כקישור. |
7 |
לפני שתנסה להשתמש בטלפון OpenFrame, הקפד להעלות את הServiceNow מותאם אישית של פריסת שולחן העבודה JSON לפורטל הניהול של מרכז הקשר Webex. לקבלת מידע נוסף, ראה הגדרת פריסת שולחן העבודה הServiceNow במרכז הקשר Webex. |
הסעיפים הבאים מתארים את השלבים להתקנת מחבר ServiceNow עבור מופעי ארגון מורשים.
1 |
היכנס לחשבון הפורטל של המפתחים ServiceNow ופתח את מסוף הניהול. |
2 |
מהאזור ' המופע שלי ' של תפריט ' תיק לקוח ', לחץ על ' התחל בניין '. |
3 |
במופע המפתחים, מהשדה ' נווט למסננים ' בחלק השמאלי העליון של החלון, נווט לתוספים . |
4 |
חפש את תוסף Openframe כי יש את הכותרת Openframe. ייתכן שיהיה עליך לגלול דרך הרשימה. |
5 |
לחץ על ' התקן ' כדי להתקין את plugin Openframe. |
6 |
בתיבת הדו הפעלת פלאגאין , לחץ על הפעל. |
7 |
כאשר הפעלת התוסף מסתיימת, לחץ על סגור & מחדש את הטופס בתיבת הדו ' הפעלת תוסף '. |
8 |
כדי לאמת את הפעלת התוסף, מהשדה ' נווט למסננים ' שמשמאל לחלק העליון של החלון, נווט אל OpenFrame. |
9 |
לחץ על תצורות וודא שOpenFrame פלאגאין מופיע ברשימת התצורות OpenFrame. |
1 |
בשדה ' נווט מסננים ' שמשמאל לחלק העליון של החלון, הזן את הרשימה sys_properties. |
2 |
בדף ' מאפייני מערכת ', מיין את המאפיינים לפי תאריך עדכון. ודא שניתן לראות את המאפיינים הבאים Webex מרכז אנשי קשר: |
3 |
לחץ על agentdesktop_url כדי לפתוח את דף הagentdesktop_url מאפייני המערכת . |
4 |
בשדה Value , הזן את כתובת ה-URL של שולחן העבודה של מרכז הקשר Webex בהתאם לאזור הפעולה.
|
5 |
לחץ על ' עדכן ' כדי לשמור את השינויים. |
6 |
אופציונלי כדי לשנות את שם טבלת הפעילויות, ערוך את המאפיינים x_caci_webexcc. webexccactivitytable לפי הצורך .
|
7 |
אופציונלי הוסף קבוצות משתמשים בדרכים הבאות:
|
1 |
מהשדה ' נווט מסננים ', נווט לתצורות . |
2 |
נְקִישָׁה חָדָשׁ. |
3 |
הזן את המאפיינים הבאים עבור כתובת ה-URL:
|
4 |
מימין לשדה ' כתובת URL ', לחץ על לחצן הנעילה והוסף |
5 |
אופציונלי בחר בקבוצות משתמש/סוכן להקצאת התצורה. |
6 |
לחץ על שלח. כתובת ה-URL מופיעה כקישור. |
7 |
מהשדה ' נווט מסננים ', נווט אל . לחץ על סמל הטלפון התחתון השמאלי. |
8 |
אופציונלי ברשימה קבוצת משתמשים, הזז את קבוצות המשתמשים שניתן לקבל גישה לשולחן העבודה של מרכז הקשר Webex ' זמין לבחירה . |
9 |
לפני שתנסה להשתמש בטלפון OpenFrame, הקפד להעלות את הServiceNow מותאם אישית של פריסת שולחן העבודה JSON לפורטל הניהול של מרכז הקשר Webex. לקבלת מידע נוסף, ראה הגדרת פריסת שולחן העבודה הServiceNow במרכז הקשר Webex. |
1 |
מהשדה ' נווט מסננים ', נווט אל האירועים > תקרית פתוחה. |
2 |
לחץ לחיצה ימנית על שדה המתקשר ולחץ על קביעת תצורה של מילון. |
3 |
הוסף תכונות כעת באפשרותך להתחיל להשתמש בשולחן העבודה של מרכז הקשר Webex ServiceNow. |
4 |
מהשדה ' נווט מסננים ', נווט אל . לחץ על סמל הטלפון התחתון השמאלי. |
לפני שאתה מבצע שיחות חיוג, ודא שאתה עושה את הפעולות הבאות:
-
צור את נקודת הכניסה החיצונית והגדר אסטרטגיית נקודת כניסה לחיוג.
-
אפשר ANI חיוג עבור פרופיל הסוכן.
-
הגדר את ה-ANI החיוג למיפוי מספר חיוג לנקודת כניסה.
למידע נוסף, ראה את אספקה פרק של Cisco Webex Contact Center מדריך התקנה וניהול.
מהשדה ' נווט מסננים ', נווט אל .
לחץ על סמל הטלפון התחתון השמאלי.
למידע על אופן השימוש שולחן עבודה, ראה את מדריך למשתמש של Cisco Webex Contact Center Agent Desktop.
מחיצת אחסון של צד שלישי
בעיה אפשרית עם העדכון האחרון ל-Google Chrome ו-Edge 116 או יותר עלולה לשבש את חווית הכניסה למחברי CRM במרכז הקשר Webex. בעיה זו משפיעה על הכניסה לשולחן העבודה במסוף CRM ServiceNow.
כדי לפתור בעיה זו ב-Google Chrome browser:
-
פתח את דפדפן Google Chrome והזן את chrome://flags/#third-אחסון-מסיבות-מחיצות בשורת הכתובת.
-
השבת את דגל מחיצת האחסון הניסיוני של צד שלישי.
-
סגור והפעל מחדש את Chrome.
-
היכנס שוב לשולחן העבודה שבתוך מסוף ה-CRM ServiceNow.
כדי לפתור בעיה זו בדפדפן הקצה:
-
פתח את הדפדפן והזן את מedge://flags/#third-אחסון-מסיבות-למחיצות בשורת הכתובת.
-
השבת את דגל מחיצת האחסון הניסיוני של צד שלישי.
-
שמור את השינויים והפעל מחדש את הדפדפן.
-
היכנס שוב לשולחן העבודה שבתוך מסוף ה-CRM ServiceNow.
סקירה כללית
מאמר זה מכסה מספר דרכים להתאמה אישית של הכללים העסקיים שלך עבור מחבר ה-CRM ServiceNow. הוא מפרט כיצד ניתן להתאים אישית את המקרים שבהם מבוססים הכללים העסקיים הספציפיים לServiceNow.
הלקוח חייב לנהל את מקרי השימוש האלה בServiceNow. התצורה ספציפית לServiceNow ולא Webex ליצור קשר עם התוכנה או המומחיות של המרכז.
מדובר בתיעוד מתייחס כדי לסייע לשינוי הכללים העסקיים. מפתחי ServiceNow ליצור ולנהל את הכללים העסקיים, ולספק תמיכה. Cisco מספק רק תיעוד לדוגמה. |
שינוי קוד בServiceNow
-
עבור למסנן הניווט וחפש את המילה "script כולל".
בחר בסקריפט כולל את ממשק המשתמש של המערכת.
-
סנן את השם וחפש את "propUtils".
-
שנה את השיטה "UserGetSysId" בסקריפט .
Curent:
UserGetSysId: פונקציה () {var opened_for; משתמש var = GlideRecord חדש ("sys_user"); משתמש. addQuery (' ' שדה '); משתמש. שאילתה (); אם (משתמש. next) opened_for = user.sys_id; var גרינט = GlideRecord חדש (' אינטראקציה '); גרינט. אתחול (); grInt.assigned_to = gs. getUserID (); גרינט. type = ' phone '; grInt.opened_for = opened_for; החזר את sysid;},
קוד דוגמה חדש לאירוע:
UserGetSysId: פונקציה () {var opened_for; השינויים הקשורים ב-//Incident var sysidlist = {}; var משתמש = GlideRecordSecure חדש ("sys_user"); משתמש. addQuery (' ' שדה '); אם (' value '); משתמש. שאילתה (); אם (משתמש/ת)) {opened_for = user.sys_id;//return user.sys_id; var inc = GlideRecordSecure חדש (' תקרית '); inc. addQuery (' caller_id ', opened_for); inc. addQuery (' מדינה ', ' ב ', ' 1, 2 '); inc. orderByDesc (' sys_created_on '); inc. query (); אם (inc. next ()) {sysidlist. incsysid =inc. getUniqueValue (ב); } אחר {inc. אתחול (); inc.caller_id = opened_for; inc.contact_type = ' phone '; inc.short_description = ' שיחה שהתקבלה מ-' + זה. getParameter (' value '); sysidlist. incsysid = inc. הוסף ();}} var גרינט = GlideRecordSecure חדש (' אינטראקציה '); גרינט. אתחול (); grInt.assigned_to = gs getUserID (); גרינט ' type = ' טלפון '; grInt.opened_for = opened_for; var sysid = גרינט. insert (); sysidlist sysid = sysid; החזר את JSON. stringify (sysidlist); },
-
עבור לסינון נווט וחפש דף UI.
בחר ' דפי ui ' תחת ' ממשק משתמש '.
-
סנן את השם וחפש את "agentdesktop".
-
לשנות את הפונקציה "screenpop" ב-script לקוח.
פונקציה נוכחית:
התכונה ' פופ screenpop ' (callerani, callSessionInfo) {אם (callerani = = = callSessionInfo) {phoneNumber = Callerani (stripPrefixes);} var callerani = gaout חדש (' GlideAjax '); gaout addParam (' sysparm_name ', ' UserGetSysId '); gaout. addParam (' שדה ', ' טלפון '); gaout. addParam (' value ', callerani); gaout getXMLWait (); var sysid = gaout. getAnswer (); openFrameAPI openServiceNowForm ({ישות: ' אינטראקציה ', שאילתה: ' sys_id = ' + sysid});
קוד לדוגמה עבור האירוע:
התכונה ' פופ screenpop ' (callerani, callSessionInfo) {אם (callerani = = = callSessionInfo) {phoneNumber = Callerani (stripPrefixes);} var callerani = gaout חדש (' GlideAjax '); propUtils gaout (' sysparm_name '), ' UserGetSysId '); gaout. addParam (' שדה ', ' טלפון '); gaout. addParam (' value ', callerani); gaout getXMLWait ();//למקרה שינוי הקשור לתקרית var sysObj-JSON. ניתוח (gaout. getAnswer); אם (sysObj. incsysid) {openFrameAPI. openServiceNowForm ({ישות: ' אירוע ', שאילתה: ' sys_ id = ' + sysObj. incsysid ', ' interaction_sys_id ': sysObj. sysid}); } אחרת {openFrameAPI. openServiceNowForm ({ישות: ' אירוע ', ' שאילתה ': ' sys_id =-1 ', ' interaction_sys_id ': sysObj ' sysid//' a2ba0ba62fd ' 121106446cc96f699b6b8 '});}}
אם מידע המתקשר קיים ב-CRM, וקיים כבר אירוע חדש שנפתח עם איש קשר זה, יישום פותח את אירוע ההתקדמות
אם מידע המתקשר אינו קיים ב-CRM, היישום פותח אירוע חדש
אם מידע המתקשר קיים ב-CRM, היישום פותח אירוע חדש עם פרטי שמולאו
סקירה כללית
מקרה שימוש זה מפרט את התהליך להוספת עמודה נוספת לwebexcc_imp_activity הטבלה ServiceNow וליצירת sn_openframe_phone_log על-ידי התקנת מחבר Webex CC עבור ServiceNow CRM.
כברירת מחדל, הטבלה מכילה מספר מסוים מתוך השדות והערכים של מערכת התיבה.
באפשרותך ליצור משתנים ספציפיים לעסקים (משתני CAD) בתוך מעצב הזרימה WebexCC ולהוסיף את משתני ה-CAD שבתוך יומן הרישום של פעילות השיחה ServiceNow post, וכן להמשיך להימשך לנתוני טבלת פעילות שיחה לאחר השיחה.
זהו תיעוד לעיון בלבד-ומציג כיצד לבצע פעולה זו עבור משתנה CAD לדוגמה שנקרא שם לקוח המאחסן את שם הלקוח בתוך הIVR ומציב את ההודעות לServiceNow. צפוי שהשותף + לקוח ServiceNow מפתחים יגדיר וינהל תצורה זו כאילו הוא התאמה אישית של המחבר הקיים. Cisco מספקת רק את הטכניקות להתאמה אישית ולהרחבת המחבר. החל ממאמר זה, צוות Cisco אישר את התמיכה בהוספה של משתנה CAD לטבלת יומן פעילות ופעילות באמצעות הטכניקה המתוארת להלן: |
הוסף עמודה לWebexCC IMP
-
ערוך את הטבלה בגירסת המפתח של ServiceNow.
-
גש לנווט הפילטר וחפש סטודיו.
בחר באפשרות "Webex מרכז קשר"
או
-
בחר את טבלת "WEBEXCC IMP פעילות"
-
הוסף עמודה חדשה, לדוגמה, "CustomerName"
הוסף עמודה ליומן טלפון
-
ערוך את טבלת יומן הטלפונים.
-
הוסף עמודה חדשה, לדוגמה, "CustomerName".
WebexCC מיפוי שינויי פעילות
הוסף עמודה חדשה, לדוגמה, מיפוי שדה "CustomerName" .
התאמה אישית של עמודות רשימה
כאשר השירות ממליץ כעת, שנה את פעולת הבחירה מיצירה להתעלמות.
קביעת תצורה של רשימת יומני טלפונים
מעבר לסקריפט כולל
הוסף קו אחד בלבד "webexcc.u_customername = ActInfo customername" לpropUtils. |
לראות את הקו: webexcc.u_customername = actInfo. customername; עם הערה תומכת.
var propUtils = Class. create (); propUtils. אב-טיפוס = אובייקט. extendsObject (כללי. AbstractAjaxProcessor, {getWebexccProp: פונקציה () {var webexccprop = {}; webexccprop. instanceurl = ' https://'+gs.getProperty('instance_name')+'.service-now.com/ '; webexccprop. כתובת האתר = gs. getProperty (' x_caci_webexcc. agentdesktop_url ');//webexccprop הpopupurl = gs. getProperty (' x_caci_webexcc ' screenpop_url '); החזר את JSON. stringify (webexccprop);}, UserGetSysId: פונקציה () {var opened_for; משתמש var = GlideRecord חדש ("sys_user"); משתמש. addQuery (' ' משתמש '); שאילתה (' ') '); אם (משתמש). opened_for = user.sys_id;//return user.sys_id; אחר//החזר null; var גרינט = GlideRecord חדש (' אינטראקציה '); גרינט. אתחול (); grInt.assigned_to = gs getUserID (); גרינט ' type = ' טלפון '; grInt.opened_for = opened_for; var sysid = גרינט. insert (); להחזיר sysid; }, setWebexcctable: פונקציה () {var sys_id = 0; var actInfo = JSON. ניתוח (' actInfo '); var webexcc = חדש GlideRecordSecure (gs. getProperty (' x_caci_webexcc. webexccactivitytable ')); webexcc. addQuery ("callobject", actInfo. CallObject); webexcc. שאילתה (); webexcc לאחר מכן ()) {webexcc. ani = actInfo. ani; webexcc. dnis = 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 = getParameter (' actInfo '); var suser = GlideRecordSecure חדש ("sys_user"); suser addQuery ("טלפון", זה. getParameter (' ani '); suser. query; אם (suser) {var inc = GlideRecordSecure חדש (' תקרית '); inc. addQuery (' caller_id ', suser.sys_id); inc. orderByDesc (' sys_created_on '); inc. שאילתה (); אם (inc. next) {var jsonPretty = JSON. stringify (JSON. ניתוח (actInfoString), null, 2); inc. הערות = jsonPretty; inc. update ();}}} להחזיר sys_id; }, הקלד: ' propUtils '};
יצירת משתנה CAD במעצב זרימה
הוסף את משתנה ה-CAD לפריסת שולחן העבודה
דוגמה
"CadName1: SnowField1, CadName2: SnowField2" CadName1 הוא CustomerName SnowField1 משמש גם CustomerName המהווה חלק ממדגם scirpt showen מעל "actInfo. CustomerName".
הדגמה צילומי מסך
הצג את משתנה ה-CAD שהתווסף לאחרונה בטבלת הפעילויות WebexCC.
יצירת משתנה CAD למעצב זרימה
שירות כעת עדכון סקריפט
-
מעבר לנווט הסינון וחפש סקריפט כולל
בחר בקובץ ה-Script כולל את האפשרות תחת ממשק משתמש.
-
סנן את השם עם propUtils.
-
שנה את השיטה "UserGetSysId" בשדה ה-Script .
סקריפט נוכחי:
UserGetSysId: פונקציה () {var opened_for; משתמש var = GlideRecord חדש ("sys_user"); משתמש. addQuery (' ' שדה '); משתמש. שאילתה (); אם (משתמש. next) opened_for = user.sys_id; var גרינט = GlideRecord חדש (' אינטראקציה '); גרינט. אתחול (); grInt.assigned_to = gs. getUserID (); גרינט. type = ' phone '; grInt.opened_for = opened_for; החזר את sysid;},
קוד דוגמה חדש לאירוע:
UserGetSysId: פונקציה () {var opened_for; var sysidlist = {}; var משתמש = GlideRecordSecure חדש ("sys_user"); משתמש. addQuery (זה. getParameter (' field '); אם (' value '); משתמש. שאילתה (); אם (משתמש. הבא ()) {opened_for = user.sys_id; לgetParameter user.sys_id; var inc = new GlideRecordSecure (' תקרית '); inc. addQuery (' caller_id ', opened_for); inc. addQuery (' מדינה ', ' ב ', ' 1, 2 '); inc. orderByDesc (' sys_created_on '); inc. שאילתה (); אם (inc. next ()) {sysidlist. incsysid = inc. getUniqueValue ();} אחר {inc. לאתחל (); inc.caller_id = opened_for; inc.contact_type = ' טלפון '; inc. דחיפות = זה. getParameter (' IncUrgency '); inc. אימפקט = זה. getParameter (' השפעה '); inc.short_description = ' שיחה שהתקבלה מ-' + זה. getParameter (' value '); מsysidlist = inc. insert ();} var גרינט = GlideRecordSecure חדש (' אינטראקציה '); גרינט. אתחול (); grInt.assigned_to = gs getUserID (); גרינט ' type = ' טלפון '; grInt.opened_for = opened_for; var sysid = גרינט. insert (); sysidlist sysid = sysid; החזר את JSON. stringify (sysidlist);//sysid; },
-
עבור אל ' נווט המסננים ' וחפש דפי ממשק משתמש.
בחר באפשרות ' דפי ui ' תחת ' ממשק משתמש '.
-
סנן את דפי UI עם שם וחפש agentdesktop.
-
שנה את הפונקציה "screenpop" בשדה ה-script.
פונקציה נוכחית:
התכונה ' פופ screenpop ' (callerani, callSessionInfo) {אם (callerani = = = callSessionInfo) {phoneNumber = Callerani (stripPrefixes);} var callerani = gaout חדש (' GlideAjax '); gaout addParam (' sysparm_name ', ' UserGetSysId '); gaout. addParam (' שדה ', ' טלפון '); gaout. addParam (' value ', callerani); gaout getXMLWait (); var sysid = gaout. getAnswer (); openFrameAPI openServiceNowForm ({ישות: ' אינטראקציה ', שאילתה: ' 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 = חדש GlideAjax (' propUtils '); gaout addParam (' sysparm_name ', ' UserGetSysId '); gaout. addParam (' שדה ', ' טלפון '); gaout. addParam (' value ', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout. addParam (' פגיעה ', השפעה); gaout.getXMLWait(); var sysid = gaout. getAnswer (); var sysObj = JSON. ניתוח (gaout. getAnswer); אם (sysObj. incsysid) {openFrameAPI. openServiceNowForm ({ישות: ' אירוע ', ' שאילתה ': ' sys_id = ' + sysObj ', ' interaction_sys_id ': Incsysid. sysObj});} אחר {openFrameAPI. openServiceNowForm ({ישות: ' אירוע ', ' שאילתה ': ' sys_id =-1 ', ' interaction_sys_id ': sysObj. sysid});} חלון. localStorage. setItem ("screenpopinteraction", JSON. stringify (sysObj)); }
אם מידע המתקשר קיים ב-CRM, ואין תקרית חדשה או בלתי-מתקדמת לאחר מכן היישום פותח אירוע חדש
לשנות את הקוד על ServiceNow
הוספת עמודות חדשות לטבלת "WEBEXCC IMP פעילות"
לחץ על עדכון.
הוספת עמודות חדשות לטבלת ' יומן הטלפונים '
WebexCC מיפוי שינויי פעילות
לחץ על עדכן .
שינויים ב-Script כולל
-
עבור למסנן הניווט וחפש את המילה "script כולל".
בחר בסקריפט כולל את ממשק המשתמש של המערכת.
-
סנן את השם עם "propUtils".
-
לשנות את השיטה "setWebexcctable".
קוד דוגמה חדש לאירוע:
setWebexcctable: פונקציה () {var sys_id = 0; var actInfo = JSON. ניתוח (' actInfo '); var webexcc = חדש GlideRecordSecure (gs. getProperty (' webexccactivitytable ')); webexcc addQuery ("u_callobject", actInfo. CallObject); webexcc. שאילתה; webexcc הבאה ()) {//Activities על רשומת האירוע;//var actInfoString = זו. 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='Update State to closed.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid ); inci. query; אם (inci) {incnum = inci. number; var jsonPretty = JSON. stringify (actInfo, null, 2);//JSON.stringify (JSON. ניתוח (actInfoString), null, 2); inci. הערות = jsonPretty; inci. עדכון ();}} אחרת {var suser = GlideRecordSecure חדש ("sys_user"); suser. addQuery ("הטלפון", זה. getParameter (' ani ')); suser שאילתה (); אם (suser. הבא) {var inc = חדש GlideRecordSecure (' תקרית '); inc. addQuery (' caller_id ', suser.sys_id); inc. addQuery (' המדינה ', ' ב ', ' 1, 2 '); inc. orderByDesc (' sys_created_on '); inc. שאילתה (); אם (inc. next) {var jsonPretty = JSON. stringify (actInfo, null, 2); הערות = jsonPretty; inc. update ();}}} webexcc.u_ani = actInfo. webexcc.u_dnis = actInfo dnis; webexcc.u_queuename = actInfo queuename; webexcc.u_wrapuptime = actInfo wrapuptime; webexcc.u_callduration = actInfo CallDurationInSeconds; webexcc.u_ringingtime = actInfo ringingtime; webexcc.u_activitydate = actInfo ActivityDate; webexcc.u_callobject = actInfo CallObject; webexcc.u_calltype = actInfo CallType; webexcc.u_calldisposition = actInfo CallDisposition; webexcc.u_incidentnumber = incnum; webexcc.u_interactionsnumber = intenum; sys_id = webexcc. insert (); } החזר sys_id; },
שינויי שיטה בדפי UI
-
עבור לסינון נווט וחפש את "דפי UI"
בחר באפשרות ' דפי ui ' תחת ' ממשק משתמש '.
-
סנן את דפי UI עם שם וחפש agentdesktop.
-
שנה את הפונקציה "nowActivities ו-screenpop" בקובץ ה-script.
פונקציה נוכחית:
פונקציה 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 (' אני ');}
קוד לדוגמה עבור האירוע:
פונקציה nowActivities (actInfo, ani) {var sysObjstr = window. localStorage. getItem ("screenpopinteraction"); אם (sysObjstr! = null & & sysObjstr! = לא מוגדר) {var sysObjjson = JSON. ניתוח (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 (' ani ', AddParam (ani)); gaout.getXML(SetCCsysId); } פונקציה screenpop (callerani, callSessionInfo) {אם (callerani = = = callSessionInfo. phoneNumber) {callerani = stripPrefixes (callerani);} var gaout = חדש (' GlideAjax '); propUtils Gaout (' sysparm_name ', ' AddParam '); UserGetSysId gaout phone); gaout מaddParam (' value ', callerani); gaout. getXMLWait ();//var sysid = gaout. getAnswer (); var sysObj = JSON. ניתוח (gaout. getAnswer); אם (sysObj. incsysid) {openFrameAPI. openServiceNowForm ({ישות: ' אירוע ', שאילתה: ' sys_id = ' +sysObj incsysid, ' interaction_sys_id ': sysObj sysid} '; } אחרת {openFrameAPI. openServiceNowForm ({ישות: ' אירוע ', ' שאילתה ': ' sys_id =-1 ', ' interaction_sys_id ': sysObj. sysid});} חלון. localStorage ("setItem", JSON. screenpopinteraction (Stringify)); }
תוצאות לאחר העדכון
ההתאמות האישיות הבאות חלות על גירסאות 1.0.5 ומתחת. עבור ההתאמות האישיות עבור הגירסאות החדשות יותר 1.0.7 ומעלה, בצע את השלבים שלעיל. |
התאמה אישית 1-הוספת כללים עסקיים מותאמים אישית עבור מקרי שימוש בזרימת שיחה
עבור כל שיחה חדשה למחבר ה-CRM WebexCC ב-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", שם); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "ˆ"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; להחזיר את כתובת ה-url; } פונקציה UserGetSysId (שדה, ערך) {var משתמש = GlideRecord חדש ("sys_user"); משתמש. addQuery (שדה, ערך); משתמש. שאילתה (); אם (משתמש. הבא ()) החזר user.sys_id;
תצורת לדוגמה של הכלל העסקי
-
הפיכת לקוח לזמין
עיבוד שילוב טלפוניה במחשב (CTI) לאירוע מסומן כנכון .
-
האם לעדכן את כתובת ה-screenpop באמצעות CTI כלל מותאם אישית "cti.do ? sysparm_cti_rule = createIncident & sysparm_caller_phone = "
הsysparm_cti_rule = name כאשר ' name ' הוא שם הפונקציה שאליו יש להפעיל את העיבוד לCTI ולא להשתמש בסקריפט המוגדר כברירת מחדל.
להגדיר את הפונקציה בערך sys_script מסומנת לקוח מסומן.
אם עליך להוסיף, לעדכן או למחוק כל GlideRecords בפונקציה, יש לקרוא לפונקציה נפרדת nonclient לבצע את העדכונים.
כדי להפוך קובץ script לניתן להתקשרות ללקוח, עליך לבדוק את תיבת הסימון הניתן להתקשרות לקוח בטופס שמוצג בעת הצגת ערך הsys_script. תיבת הסימון הנקראת לקוח אינה מופיעה כברירת מחדל. כדי להציג, עליך לשנות את השדות המציגים בטופס באמצעות סמל הילוך ומנגנון דלי הרפש. |
התאמה אישית 2-הוספת משתנה CAD בטבלת פעילות של מרכז אנשי קשר Webex
מאמר זה מפרט את התהליך להוספת עמודה נוספת לטבלת ServiceNow-webexcc_activity שנוצרה בהתקנה של מחבר Webex CC עבור ServiceNow CRM.
כברירת מחדל, הטבלה כוללת שדות מערכת וערכים מחוץ לקופסה.
ניתן ליצור משתנים ספציפיים יותר לעסקים (משתני CAD) בתוך מעצב הזרימה WebexCC ולהוסיף משתני CAD אלה בתוך יומן הפעילות של השיחה ServiceNow post, ולהמשיך להימשך לנתוני טבלת פעילות שיחה לאחר השיחה.
|
-
ערוך את הטבלה בגירסת המפתח של ServiceNow.
-
לכו לסטודיו
Webex קשר. -
בחר בטבלת פעילות WebexCC.
-
לדוגמה, CustomerName.
-
בחר פריסת רשימה עבור פעילות WebexCC.
שלב זה אינו נדרש אם אתה משתמש בערכת העדכון XML-רק שורה אחת נדרשת להוספה " webexcc.u_customername = actInfo. customername " לpropUtils. |



לראות את הקו עם: webexcc.u_customername = actInfo. customername; עם הערה תומכת.
var propUtils2 = Class. create (); propUtils2. אב-טיפוס = אובייקט. extendsObject (כללי. 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 '); להחזיר את JSON. stringify (webexccprop);}, setWebexcctable: פונקציה () {var sys_id = 0; var actInfo = JSON. ניתוח משנה (הgetParameter)); var actInfo = חדש Webexcc (הx_caci_ webexcc.webexccactivitytable')); webexcc.addQuery("callobject", actInfo.CallObject); webexcc. query; אם (! webexcc הבא ()) {webexcc. ani = actInfo. ani; webexcc. dnis = actInfo; dnis = 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-לכידת הווידיאו ביומן הפעילויות. u_customername = actInfo CustomerName; sys_id = webexcc. insert (); פעילות על רשומת אירוע; var actInfoString = getParameter (' actInfo '); var suser = GlideRecordSecure חדש ("sys_user"); suser addQuery ("טלפון", זה. getParameter (' ani '); suser. query; אם (suser) {var inc = GlideRecordSecure חדש (' תקרית '); inc. addQuery (' caller_id ', suser.sys_id); inc. orderByDesc (' sys_created_on '); inc. שאילתה (); אם (inc. next) {var jsonPretty = JSON. stringify (JSON. ניתוח (מחרוזת משחק), null, 2); inc. הערות = jsonPretty; inc. update ();}}} להחזיר sys_id; }, הקלד: ' propUtils2 '};



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

