שילוב של Voice עם Salesforce ו-NiCE CXone

ארכיטקטורה של השילוב בין Agent Assist ו-NiCE CXone לבין Salesforce

שילוב Voice הזה משתמש באפליקציית Salesforce‏ NiCE CXone Agent for Service Cloud Voice (BYOT) כדי לאפשר לסוכנים שלכם לקבל שיחות ב-NiCE CXone ב-Salesforce Service Cloud Voice.

‫Agent Assist משתמש בזרם של שיחות קוליות מ-NiCE CXone Agent Assist Hub כדי לספק הצעות לסוכנים ב-Salesforce Lightning Service Console.

לפני שמתחילים

כדי לשלב מודולים של ממשק המשתמש של Agent Assist עם Salesforce, צריך גישה למקורות המידע הבאים:

  • Node.js: פועלים לפי הוראות ההתקנה המומלצות למערכת ההפעלה.

  • Salesforce CLI: פועלים לפי הוראות ההתקנה המומלצות למערכת ההפעלה שלכם.

  • Google Cloud CLI: מתקינים את הפקודה gcloud לפי ההוראות ומבצעים אימות באמצעות gcloud auth login.

  • Salesforce: מתחברים לכתובת ה-URL של המופע או לדף הכניסה של Salesforce ורושמים את הפרטים הבאים:

    • כתובת ה-URL של הדומיין שלי ב-Salesforce. כדי למצוא את כתובת ה-URL של הדומיין שלי:
      1. עוברים לסרגל התפריטים > תפריט הגדרה.
      2. לוחצים על הגדרה.
      3. בתיבה חיפוש מהיר, מזינים הדומיין שלי. שם הדומיין הוא בפורמט הבא: MY-DOMAIN-NAME.develop.my.salesforce.com.
    • מזהה הארגון שלכם ב-Salesforce. כדי למצוא את מזהה הארגון, פועלים לפי השלבים הבאים:
      1. עוברים לסרגל התפריטים > תפריט הגדרה.
      2. לוחצים על הגדרה.
      3. בתיבה Quick Find, מזינים Company Information. הערה: בדקנו את שלבי השילוב האלה רק עם Salesforce Developer Edition. אם אתם משתמשים במהדורה אחרת, יכול להיות שתיתקלו בהבדלים ברישיונות לתכונות ובממשק של Salesforce.
  • הקצה העורפי של השילוב של Agent Assist

    1. פועלים לפי ההוראות כדי להגדיר את השילוב.
    2. לפני שמריצים את סקריפט הפריסה, מגדירים את משתני הסביבה הבאים באמצעות deploy.sh, או בקובץ .env בשורש הפרויקט:
      • AUTH_OPTION: צריך להגדיר את הערך הזה ל-SalesforceLWC.
      • SALESFORCE_DOMAIN: שם דומיין דומה ל-YOUR_SUBDOMAIN.develop.lightning.force.com. הערך הזה מצוין בדרישות המוקדמות של Salesforce. לא כולל https://.
      • SALESFORCE_ORGANIZATION_ID: הערך הזה מצוין בדרישה המוקדמת של Salesforce.
  • מכונה של NiCE CXone

  • רישיון לתוסף NiCE CXone Agent Assist Hub: התוסף NiCE CXone Agent Assist Hub מאפשר למופע NiCE CXone לשלוח מדיה של שיחות קוליות אל Agent Assist של Google Cloud. ‫NiCE CXone הוא מוצר עם רישיון. פרטים נוספים זמינים בתיעוד של NiCE CXone Agent Assist Hub.

שלב 1: הגדרה של NiCE CXone Studio ו-NiCE CXone Agent Assist Hub

בשלב הזה מתוארות כל ההגדרות שצריך לבצע במופע NiCE CXone.

הגדרת רצף פעולות לשיחות באמצעות NiCE CXone Studio

בשלב הזה, מגדירים תהליך שיחה מבוסס-קוד באמצעות NiCE CXone Studio כדי לנתב שיחות נכנסות לנציגים ולשלוח את זרמי המדיה של השיחות ל-Agent Assist. מגדירים את רצף הפעולות לשיחה באמצעות הטריגרים והפעולות הבאים של NiCE CXone Studio, לפי הסדר הזה:

  1. נכנסים למסוף NiCE CXone.
  2. פותחים את התפריט Applications (אפליקציות) ().
  3. פותחים את ניתוב לכל הערוצים > Studio.
  4. בדף Studio, יוצרים תסריט חדש.

מגדירים את רצף הפעולות של השיחה באמצעות הטריגרים והפעולות הבאים של NiCE CXone Studio:

  1. התחלה: הטריגר הזה מופעל כשמתקבלת שיחה למספר הטלפון של NiCE Point of Contact (POC).
  2. Reqagent: הפעולה הזו שולחת את השיחה למיומנות ספציפית. בוחרים את המיומנות שמשויכת לסוכנים שרוצים שיקבלו שיחות.
  3. Music: הפעולה הזו מפעילה מוזיקה בהמתנה.
  4. Wait: הפעולה הזו משהה את התהליך עד להפעלת טריגר אחר.

בנפרד, אבל באותו תהליך ב-Studio, מגדירים מה קורה כשהסוכן עונה לשיחה הנכנסת.

  1. Onanswer: הטריגר הזה מופעל כשסוכן נמצא במיומנות.
  2. Ziptone: השמעת צליל ביפ כשנציג מרים את הטלפון ב-NiCE CXone agent desktop (כמו NiCE CXone Agent for Service Cloud Voice (BYOT) softphone).
  3. Agent Assist: הפעולה הזו אחראית ליצירת שיחה ולשליחת זרמי המדיה של שיחה נכנסת אל Dialogflow, כדי שמודולי ה-UI של Agent Assist LWC יוכלו לעבד את התמליל ואת ההצעות של Agent Assist (כמו PGKA,‏ GKA ו-AI Coaching) ב-Salesforce. פרטים על ההגדרה מופיעים במאמרי העזרה על האינטגרציה הזו. הערה: בשלב הזה נדרש פרופיל שיחה שהוגדר מראש.

אפשר גם להגדיר את Agent Assist לשיחות יוצאות. השילוב דורש הפעלה של הפעולה Agent Assist כשצד מרוחק עונה לשיחה יוצאת. ההטמעה המדויקת תלויה בהגדרות שלכם, אבל בדרך כלל אפשר להשיג את זה בסקריפט באמצעות הפעולה Placecall כדי ליזום את השיחה, ולחבר את הפעולה Agent Assist לענף OnAnswer של Placecall. מידע נוסף על Placecall,‏ Onanswer ו-Agent Assist זמין במסמכי העזרה של NiCE CXone Studio.

הערה לגבי פרטי חשבון NiCE CXone

מבצעים את השלב הזה כדי לאסוף את פרטי החשבון שלכם ב-NiCE CXone. תצטרכו את המידע הזה כדי להגדיר את NiCE CXone Agent for Service Cloud Voice (BYOT) ב-Salesforce בהמשך.

  • רושמים את מספר היחידה העסקית של NiCE ממסוף NiCE CXone. בפרויקט Salesforce (שתשכפלו בשלב הבא), בקובץ ServiceCloudVoicePlatformService.js, מעדכנים את CONFIG.niceBusNo כך שישקף את מספר היחידה העסקית של NiCE. כך מודולי ה-UI של Agent Assist ב-LWC יוכלו לקבוע את conversationName שנוצר על ידי NiCE CXone Agent Assist Hub (פרטים על השיטה generateNiCEConversationName מופיעים באותו קובץ).
  • רושמים את מספר הטלפון של איש הקשר (POC) של NiCE ממסוף NiCE CXone. זה המספר שהלקוחות יתקשרו אליו כדי לדבר עם הנציגים שלכם, ושתשתמשו בו כדי לבדוק את השילוב הזה של Agent Assist.

שלב 2: הגדרת פרויקט פיתוח ב-Salesforce

כדי להתחיל לשלב מודולים של ממשק המשתמש של Agent Assist, פועלים לפי השלבים הבאים.

  1. מריצים את הקוד הבא כדי לשכפל את מאגר השילוב של Agent Assist ולפתוח את הפרויקט:

    git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations
    cd salesforce/aa-lwc
    
  2. מריצים את הפקודות הבאות כדי להוריד את קובצי JavaScript של מודולי ממשק המשתמש, שאותם פורסים בהמשך כמשאבים סטטיים. ב-Salesforce נדרש שהמשאבים הסטטיים יטענו JavaScript של צד שלישי.

    npm run generate-static-resources
    npm install
    
  3. מעדכנים את ServiceCloudVoicePlatformService.js עם מספר יחידת העסקים של NiCE שרשמתם בשלב הקודם:

    const CONFIG = {
    // For this.platform = "servicecloudvoice-nice", the NiCE Business Unit Number
    // https://help.nicecxone.com/content/acd/businessunits/managebusinessunit.htm
    niceBusNo: 1234567 // Make sure this matches your NiCE CXone Business Unit Number.
    };
    

שלב 3: הגדרת סביבת Salesforce

אתם יכולים לשלב מודולים של ממשק המשתמש של Agent Assist בסביבה ספציפית, כמו סביבת ייצור או סביבת פיתוח. ב-Salesforce, הסביבות האלה נקראות ארגונים (orgs).

הגדרת הארגון באמצעות Salesforce CLI

כדי להגדיר את הארגון לשילוב של Agent Assist באמצעות Salesforce CLI, צריך לפעול לפי השלבים הבאים.

  1. מריצים את הקוד הבא ומאמתים את ה-CLI באמצעות פרטי הכניסה ל-Salesforce שבהם אתם משתמשים בדרך כלל.

    npm run login
    
  2. מריצים את הקוד הבא כדי לפרוס את ה-LWC בארגון.

    npm run deploy
    

שלב 4: יצירת אפליקציית לקוח חיצונית

רכיב ה-LWC של Salesforce משתמש בהרשאה באמצעות OAuth 2.0 של פרטי כניסה של לקוח כדי לאמת אתכם. אפליקציית לקוח חיצונית מאפשרת את תהליך אימות הלקוח. משתמשים בטוקן הצרכן ובסוד הצרכן של האפליקציה כדי להגדיר את Salesforce LWC לאימות משתמשים באמצעות Salesforce.

  1. עוברים לסרגל התפריטים > לתפריט הגדרה ואז לוחצים על הגדרה.
  2. בתיבה חיפוש מהיר, מקלידים מנהל אפליקציות חיצוניות ללקוח.
  3. לוחצים על External Client App Manager (ניהול אפליקציות חיצוניות ללקוח) > New External Client App (אפליקציה חדשה ללקוח חיצוני) > Create (יצירה), ואז מזינים את הפרטים הבאים.
    • שם האפליקציה של הלקוח החיצוני: lwc auth
    • שם ה-API: lwc_auth
    • אימייל ליצירת קשר: your_email@example.com
    • API (הפעלת הגדרות OAuth) > הפעלת OAuth: נבחר
    • API (הפעלת הגדרות OAuth) > כתובת URL של קריאה חוזרת (callback): https://login.salesforce.com/services/oauth2/callback
    • API (הפעלת הגדרות OAuth) > היקפי הרשאות OAuth שנבחרו: גישה לשירות של כתובות URL של זהויות
    • API (Enable OAuth Settings) > Enable Client Credentials Flow: Selected
  4. לוחצים על יצירה.
  5. עוברים לסרגל התפריטים > לתפריט הגדרה ואז לוחצים על הגדרה.
  6. בתיבה חיפוש מהיר, מקלידים מנהל אפליקציות חיצוניות ללקוח.
  7. לוחצים על השם של אפליקציית הלקוח החיצונית > עריכה.
  8. עוברים אל OAuth Policies > OAuth Flows and External Client App Enhancements.
  9. מוודאים שהאפשרות Enable Client Credentials Flow מסומנת.
  10. בשדה Run As (הרצה בתור), מזינים את שם המשתמש שלכם להתחברות.
  11. לוחצים על Save.
  12. עוברים לסרגל התפריטים > לתפריט הגדרה ואז לוחצים על הגדרה. בתיבה חיפוש מהיר, מקלידים מנהל אפליקציות חיצוניות ללקוח.
  13. לוחצים על השם של אפליקציית הלקוח החיצונית > עריכה.
  14. עוברים אל הגדרות OAuth > הגדרות אפליקציה > מפתח וסוד צרכן.
  15. מזינים את קוד האימות שנשלח לאימייל.
  16. מעתיקים את טוקן הצרכן ואת הסוד לשימוש עם טוקן הצרכן למקום בטוח. תצטרכו אותם בשלב מאוחר יותר.

הגדרה של CORS וכללי מדיניות בנושא אבטחת תוכן

  1. עוברים לסרגל התפריטים > לתפריט הגדרה ואז לוחצים על הגדרה.
  2. בתיבה חיפוש מהיר, מזינים CORS ואז לוחצים על עריכה.
    1. בוחרים באפשרות הפעלה של CORS לנקודות קצה של OAuth.
    2. לוחצים על Save.
  3. עוברים לסרגל התפריטים > לתפריט הגדרה ואז לוחצים על הגדרה.
  4. בתיבה חיפוש מהיר, מזינים כתובות URL מהימנות ולוחצים על כתובת URL מהימנה חדשה.
  5. מזינים את הפרטים הבאים:
    • שם ה-API: ui_connector
    • כתובת URL: מזינים את כתובת ה-URL של נקודת הקצה של שירות Cloud Run של מחבר ממשק המשתמש שפרסתם באמצעות שילוב ה-Agent Assist עם הקצה העורפי. אפשר למצוא את כתובת ה-URL הזו במסוף Cloud Run. לדוגמה: https://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    • הנחיות CSP: מסמנים את כל תיבות הסימון.
    • לוחצים על שמירה ויצירת מסנן חדש.
  6. מזינים את הפרטים הבאים:
    • שם ה-API: ui_connector_wss
    • כתובת URL: מזינים את כתובת ה-URL של נקודת הקצה של שירות Cloud Run של מחבר ממשק המשתמש שפרסתם באמצעות שילוב ה-Backend של Agent Assist. אפשר למצוא את כתובת ה-URL הזו במסוף Cloud Run. משנים את הפרוטוקול ל-wss, לתנועה של WebSockets. לדוגמה: wss://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    • הנחיות CSP: מסמנים את כל תיבות הסימון.
    • לוחצים על שמירה ויצירת מסנן חדש.
  7. מזינים את הפרטים הבאים:
    • שם ה-API: salesforce_domain
    • כתובת URL: מזינים את כתובת ה-URL של הדומיין ב-Salesforce בפורמט הבא: https://YOUR_SUBDOMAIN.my.salesforce.com.
    • הנחיות CSP: מסמנים את כל תיבות הסימון.
    • לוחצים על Save.

שלב 5: התקנה של NiCE CXone Agent for Service Cloud Voice (BYOT)

‫Salesforce מספקת את רישיון התוסף Service Cloud Voice, שמאפשר שילוב של טלפונים רכים של צד שלישי עם מופע Salesforce. ‫NiCE CXone מספק תוסף ל-Service Cloud Voice שנקרא NiCE CXone Agent for Service Cloud Voice (BYOT). כדי להגדיר את NiCE CXone Agent for Service Cloud Voice (BYOT) במופע Salesforce עם SCV, פועלים לפי התיעוד של NiCE.

שלב 6: התקנת רכיב האינטרנט של Salesforce Lightning

כדי להשתמש בכלי העריכה של Lightning Experience כדי להוסיף את רכיב האינטרנט של Salesforce Lightning לדף אנשי הקשר שבו NiCE CXone Agent for Service Cloud Voice (BYOT) נפתח כשמתקבלת שיחה חדשה, צריך לבצע את השלבים הבאים.

  1. עוברים אל מסוף השירות.
  2. נכנסים ל-NiCE CXone Agent for Service Cloud Voice (BYOT) בסרגל כלי השירות.
  3. מתקשרים למספר איש הקשר של NiCE שמשויך לחשבון NiCE שאיתו נכנסתם.
  4. מקבלים את השיחה הנכנסת. תיפתח כרטיסייה חדשה של רשומת שיחה ב-Voice.
  5. לוחצים על התפריט הגדרה > עריכת הדף.
  6. לוחצים על תבנית > שינוי.
    1. בוחרים באפשרות כותרת ואז באפשרות שני אזורים שווים.
    2. לוחצים על הבא.
    3. ממפים כל אזור לאזור חדש.
    4. לוחצים על סיום.
  7. בסרגל הצד רכיבים, מעבירים את agentAssistContainerModule לסרגל הצד. הערה: הרכיב הזה סופק על ידי הפקודה npm deploy.
  8. לוחצים על הרכיב שהצבתם בשלב הקודם וממלאים את השדות בטופס באופן הבא כדי להוסיף פרטי הגדרה.
    • endpoint: כתובת ה-URL של הקצה העורפי של שילוב הסוכן, כמו כתובת URL ממסוף Cloud Run, למשל: https://UI_CONNECTOR_ENDPOINT.GCP_REGION.run.app
    • channel: מציינים שהשילוב הוא voice.
    • platform: מציינים שהפלטפורמה היא servicecloudvoice-nice.
    • conversationProfile: שם המשאב של פרופיל השיחה של Agent Assist (דוגמה: projects/GCP_PROJECT_ID/locations/GCP_REGION/conversationProfiles/CONVERSATION_PROFILE_ID)
    • consumerKey: טוקן הצרכן של אפליקציית הלקוח החיצונית משלב 4.
    • consumerSecret: סוד הצרכן של אפליקציית הלקוח החיצונית משלב 4.
    • containerHeight: הגובה של מאגר Agent Assist.

שלב 7: בודקים את השילוב

אפשר לבדוק את השילוב של Voice באמצעות שיחת ניסיון למוקד הטלפוני של Salesforce.

  1. נכנסים ל-NiCE CXone Agent for Service Cloud Voice (BYOT) מהווידג'ט Omni-Channel בסרגל הכלים של Service Console.
  2. מתקשרים למספר של איש הקשר ב-NiCE CXone. אפשר למצוא את המידע הזה במסוף NiCE CXone.
  3. במסוף השירות, מאשרים את השיחה הנכנסת. אמור להיפתח מסך עם רשומה חדשה של שיחה ב-Voice.
  4. רכיב האינטרנט של Salesforce Lightning אמור להיטען בסרגל הצד ברשומה של שיחה ב-Voice.
  5. בודקים את שני הצדדים של השיחה כדי לוודא שהתמלול והתכונות של Agent Assist פועלים כמו שהגדרתם אותם בפרופיל השיחה במסוף Agent Assist.