瞭解內容與系統變數
在機器人交談期間,使用內容與系統變數存取重要資訊。內容變數可讓您的機器人無論管道為何皆能收集客戶資訊。系統變數會儲存對話的後端資訊。
必要版本
| 檢視支援的版本。 |
內容變數
內容變數會在 Salesforce 物件與客戶用來與機器人互動的管道之間建立動態對應。我們提供預先建立的內容變數,讓管理員無論管道為何都可以查詢連絡人,然後存取任何相關物件。當結合「聊天」使用時,會從聊天前表單中取用資料,以方便快速對應。
例如,如果機器人交談使用「聊天」,則會從 LiveChatTranscript 物件中讀取「連絡人識別碼」。若交談使用「傳訊」,則「連絡人識別碼」會從繫結至 MessagingSession 物件的 MessagingEndUser 物件中讀取。
機器人可以參照 Salesforce 中的多個物件以判斷誰是您的客戶。如果存在連絡人識別碼,您可以將「連絡人識別碼」內容變數搭配流程或 Apex 使用。此方法會輸出連絡人名字、姓氏及任何其他欄位。
內容變數為唯讀。
Salesforce 提供下列預先建立內容變數:
- 可路由識別碼:如果您使用聊天前表單,請使用「可路由識別碼」存取目前機器人工作階段的 LiveChatTranscript 記錄。您可以在那裡查詢「連絡人識別碼」和「商機識別碼」欄位。
- 聊天索引鍵:聊天文字稿的工作階段識別碼。使用「聊天索引鍵」參照訂單或個案、存取在聊天文字稿記錄上建立的自訂欄位,並將資訊傳送至 Apex 或流程。
- 連絡人識別碼:使用「連絡人識別碼」來找出聊天客戶何時為已知連絡人。
- 若服務代表先前已連結「傳訊使用者」與「連絡人」,則透過「傳訊」會填入「機器人產生器」中的 ContactId 內容變數。此變數會繫結至 MessagingEndUser.ContactId 欄位。當服務代表收到連結通知或透過「管道-物件連結」時,會建立連結。ContactId 變數在聊天客戶第一次連絡服務代表時為空值,對於僅遇到機器人的傳回「傳訊」使用者則為空值。
- 一般使用者識別碼:在「機器人產生器」中,使用「一般使用者識別碼」來尋找與機器人交談的客戶相關資訊。在 Apex 或流程中,使用「一般使用者識別碼」來查詢客戶的「連絡人識別碼」
提供的內容變數會對應至以下管道物件:
| 標籤 | API 名稱 | 資料類型 | 聊天管道欄位對應 | 聊天 Omni-Channel 欄位對應 | 傳訊管道欄位對應 |
|---|---|---|---|---|---|
| 聊天金鑰 | ChatKey | 文字 | LiveChatTranscript.ChatKey | LiveChatTranscript.ChatKey | 不適用 |
| 連絡人識別碼 | ContactId | 識別碼 | LiveChatTranscript.ContactId | LiveChatTranscript.ContactId | MessagingEndUser.ContactId |
| 使用者識別碼 | EndUserId | 識別碼 | 不適用 | LiveChatTranscript.LiveChatVisitorId | MessagingSession.MessagingEndUserId |
| 可路由識別碼 | RoutableId | 識別碼 | 不適用 | LiveChatTranscript.Id | MessagingSession.Id |
內容變數在變數名稱前以 [Context] 標記進行識別。您可以使用內容變數作為對話動作的輸入。
自訂內容變數
自訂內容變數可協助機器人使用在交談中學習的資訊。您可以將自訂內容變數對應至聊天前表單上的自訂欄位,以自訂交談,或使用傳入的「傳訊」電話號碼來查詢連絡人。
自訂內容變數可連結至多個管道與物件。「聊天」管道可對應至 LiveChatTranscript 物件,「傳訊頻道」可從 MessagingSession 或 MessagingUser 物件對應。
若要建立自訂內容變數,請參閱 建立自訂內容變數。
系統變數
Salesforce 提供以下系統變數:
- 轉介機器人識別碼:在機器人對機器人的轉移流程中,此欄位會顯示啟動此次轉移流程的機器人識別碼。
- 上次客戶輸入:客戶最近輸入的文字字串。只有客戶輸入文字時才會填入此欄位,而不是在客戶選取靜態或動態選項回應時填入。若要擷取上次客戶輸入的資訊,請使用對話動作的「上次客戶輸入」系統變數。接著您可以將輸入內容傳送至 Apex 以供進一步處理,例如進行情感分析。

您也可以在對話規則條件中使用「上次客戶輸入」系統變數。

合併欄位中的內容與系統變數
如同其他 Einstein 機器人變數,您可以使用合併語法在機器人訊息中使用內容和系統變數。
- 若要呼叫自訂欄位,請使用「欄位名稱」,並在結尾附加
__c。例如,{!CustomField__c}。 - 若要呼叫特定記錄,請使用
{!Record.Field}。 - 若要在清單變數中呼叫項目,請使用
FieldName[X],其中 X 會參照清單中項目的位置。由於 Einstein 機器人使用含清單變數的零型索引,因此清單的第一個項目為FieldName[0]。
{!$System.LastCustomerInput}
{!$Context.ContactId}
{!VariableName}
- 建立自訂內容變數
系統包含連絡人的內容變數,但您可以建立任何類型的內容變數,以用於您的機器人實作中。您可以針對產品名稱、商店位置、推薦 URL,或客戶購物車內的項目,使用內容變數。
