自動化規則¶
自動化規則允許針對特定觸發行為,執行一個或多個預先設定的操作。例如:若某個欄位設為指定資料值時,自動建立活動,或在記錄最後一次更新 7 天後,自動封存。
建立自動化規則時,可使用 範圍篩選器,加入執行自動化規則前必須滿足的條件,例如:商機必須分配給指定銷售人員,或記錄的狀態不可是 草稿。
若要使用 Odoo Studio 建立自動化規則,請依照以下步驟操作:
開啟 Studio ,按一下 自動化,然後按 新增。
為自動化規則命名,提供一個清晰、有意義的名稱,以識別其用途。
選擇 觸發 。若畫面因應所選觸發器而顯示有欄位需要填寫,請填入相關資料。
按一下 加入操作,然後選擇 操作 的 類型,畫面會因應你所選的操作而顯示一些欄位,請填寫相關資訊。
按一下 儲存並關閉 或 儲存及新增。
Example
舉例,若想確保能跟進滿意度較低的客戶,此自動化規則可在銷售單建立 3 個月後,為滿意度評分低於 30% 的客戶建立跟進活動。
觸發¶
觸發 是執行自動化規則所需的事件類型。可用的觸發事件會因應 模型 而有所不同。系統總共有五種觸發類別:
加入條件¶
你可使用範圍篩選器,決定自動化規則應該針對或排除哪些記錄。高效率的篩選,能避免對不受規則影響的記錄進行不必要的處理,從而提高整體效能。
小訣竅
建立自動化規則之前,請先 啟動開發人員模式,在加入範圍篩選器上可享最大靈活度。
視乎所選觸發,你可設定一項或多項條件,要求記錄在觸發 之前 及/或 之後 必須滿足。
範圍更新前 是指記錄在觸發 之前 必須滿足的條件。例如:記錄必須為
類型 = 客戶發票及狀態 = 已過賬。啟動開發人員模式,按一下 編輯範圍,然後按 新增規則 (若可用)。
額外條件,或在某些情況下稱為 套用至 篩選器,用於設定記錄在觸發事件發生 之後 必須滿足的條件,例如:客戶發票必須為
付款狀態 = 部份已付。如有需要, 啟動開發人員模式,然後按一下 加入條件 或 編輯範圍 (視情況而定),再按一下 新規則。
發生 觸發 事件時,例如已過賬客戶發票的付款狀態被更新,自動化規則會檢查所設定的條件,並在記錄符合這些條件時,自動執行 操作 。
Example
若想在個人但不是公司的現有聯絡人首次設定電郵地址(而不是修改已有的電郵地址)時執行自動操作,可將 更新前範圍 設為 電郵未設定 及 是公司未設定 ,並將 套用至 範圍設為 電郵已設定 。
備註
建立記錄時,不會檢查 更新前範圍 。
資料值更新¶
在資料庫發生指定變化時,觸發自動操作。可用的觸發會視乎模型而不同,並會基於常見的更改,例如加入特定標籤(譬如加入至任務中)或設置欄位值(譬如為 使用者 欄位設定一個值)。
選擇觸發事件,然後按需要,選擇適用的資料值。
電郵活動¶
接收或發送電子郵件時,觸發自動操作。
時間條件¶
在一個相對於日期欄位,或相對於記錄建立或更新時間的時間點,觸發自動操作。可使用以下觸發事件:
基於日期欄位:在所選欄位的日期一段設定時間之前或之後,觸發操作。
建立後:在建立及儲存記錄一段設定時間之後觸發操作。
上次更新後:在編輯及儲存現有記錄一段設定時間之後觸發操作。
然後,你可進一步定義:
延遲:設定分鐘、小時、天數或月份數目。若想在觸發日期之前執行操作,可輸入負數數值。若選擇 基於日期欄位 觸發,亦須選擇用作計算延遲時間的日期欄位。
備註
預設情況下,排程工具每 240 分鐘(即 4 小時)會檢查一次由時間觸發的自動化規則。一般而言,此頻率對於「訂單日期後 3 個月」或「上次更新後 7 天」等延遲設定,已經足夠。
若延遲設定少於 2,400 分鐘(即 40 小時),系統會重新計算檢查所需的頻率,以確保盡可能處理更細化的延遲,例如:活動開始時間前 1 小時,或記錄建立後 30 分鐘。
螢幕上會顯示一個訊息,表示規則按預定時間觸發後,可能出現的延遲。
若要查看或手動編輯排程工具的頻率,請 啟動開發人員模式,然後前往 ,查看資料庫中所有預先排定的操作。
在搜尋列中,輸入
自動化,然後在結果清單中按一下 自動化規則:檢查及執行。如有需要,可更新 執行時間每隔 欄位的值。你亦可隨時按 手動執行,以手動觸發此預定操作。額外條件:按一下 加入條件,然後指定自動化規則執行前,必須滿足的條件。按一下 新增規則 可加入其他條件。
當達到延遲時間又滿足條件時,會自動執行該操作。
Example
若要在日曆事件開始 之前 30 分鐘傳送提醒電郵,可選擇 開始(日曆事件) 作為 觸發事件 的日期欄位,並將 延遲 設為 -30 分鐘。
自訂¶
觸發自動化操作:
儲存時:儲存記錄時。
刪除時:記錄被刪除時。
操作介面變更時:當有欄位值在 表單檢視畫面 上更改時。此設定甚至適用於記錄儲存之前。
若選擇 儲存時 及 操作介面變更時 兩種觸發事件,你 必須 隨後在 更新此項時 欄位中,選擇用於觸發自動化規則的對應欄位。
警告
若 更新此項時 欄位未有選擇任何欄位,該自動化操作可能會在每一項記錄上都執行多次。
你也可選擇在 套用至 欄位中,設定觸發自動化規則需要符合的其他條件。
Example
若要在建立記錄(例如:建立新聯絡人)之後 即時 觸發自動化操作,請選擇 儲存時 觸發事件,並將 更新前範圍 設為 識別碼未設定,以及將 套用至 範圍設為 識別碼已設定。記得在 更新此項時 欄位選擇正確的欄位。
儲存新的聯絡人時,系統會自動向記錄指派一個資料庫識別碼,從而觸發自動化規則。
備註
操作介面變更時 觸發事件只可與 執行程式碼 操作一起使用,並只會在手動修改時觸發。若欄位透過其他自動化規則更改,便不會觸發此操作。
外部¶
你可使用 網絡鈎子 (webhook),依據外部系統或應用程式的特定事件,觸發自動操作。
在 Odoo 配置網絡鈎子(該網絡鈎子的網址是由系統產生)並設定目標記錄後,還需要在外部系統中實施。
警告
我們 強烈建議 你在決定使用網絡鈎子前,以及在整個實施過程中,諮詢開發人員、解決方案架構師或其他技術人員。若配置不當,網絡鈎子可以擾亂 Odoo 資料庫,並需要一段時間才可修正和恢復。
備註
自動化操作亦可設置為當你的 Odoo 資料庫發生事件時, 向外部系統的網絡鈎子傳送數據 。
也參考
動作¶
設定自動化規則的 觸發 後,在 執行操作 分頁中,按一下 加入操作 ,以定義需要執行的操作。
小訣竅
你可以為同一項自動化規則,設定多項操作。預設情況下,操作會依照定義的順序執行。
即是說,假設你設定了一個 更新記錄 操作,然後再設定一個 傳送電郵 操作,而電郵地址是引用剛被更新的欄位,那麼電郵操作將會使用已更新的值。但是,如果 傳送電郵 操作是設定在 更新記錄 之前,電郵地址便會使用更新記錄 之前 已設置的值。
若要更改已定義的操作順序,請按一下操作旁邊的 (拖曳把手) 圖示,然後將其拖放至所需位置。
更新記錄¶
此操作會更新記錄的其中一個(相關)欄位。按一下 更新 欄位,然後在顯示的清單中,選擇或搜尋需要更新的欄位。如有需要,可按一下欄位名稱旁的 (右箭嘴),存取相關欄位清單。
若選擇 多對多欄位,請選擇該欄位應該如何更新:可以是 加入 、 移除 或 設定為 所選值,或完全 清除 現有值。
Example
若想自動化操作從客戶記錄中移除一個標籤,請將 更新 欄位設定為 客戶 > 標籤,選擇 透過移除,然後選擇適用的標籤。
小訣竅
或者,你也可使用 Python 程式碼,動態設定記錄的欄位。要執行此操作,請選擇 計算 而非 更新,然後輸入用於計算欄位值的程式碼。例如,若想自動化規則在任務優先級別設為 高 時(透過為任務加上星號),計算自訂的 日期時間欄位,可將觸發器的 優先級別設為 定義為 高,並按以下步驟定義 更新記錄 操作:
建立活動¶
此操作用於將關聯至記錄的新增活動排程。選擇 活動類型,輸入 標題 及描述,然後在 期限尚餘 欄位設定活動預排時間,然後選擇 使用者類型:
若想永遠將活動分配給相同的使用者,可選擇 指定使用者,然後將該使用者加入至 負責人 欄位;
若想動態指定與記錄相關聯的使用者,可選擇 動態使用者(基於記錄)。如有需要,可修改 使用者欄位。
Example
當潛在客戶轉換為銷售機會後,自動化操作可以為負責該潛在客戶的使用者,自動安排通話。要執行此操作,請將 活動類型 設為 通話,並將 使用者類型 設為 動態使用者(基於記錄)。
傳送電子郵件及 SMS 短訊¶
這些操作用於向連結至特定記錄的聯絡人,傳送電子郵件或 SMS 文字訊息。要執行此操作,選取或建立 電郵範本 或 短訊範本,然後在 傳送電郵為 或 傳送短訊為 欄位中,選擇你想發送電子郵件或短訊的方式:
電郵:以電子郵件形式,將訊息發送給 電郵範本 的收件人。
訊息:在記錄中發佈訊息,並通知該記錄的關注者。
備註:以內部備註形式發送訊息,內部使用者可在聊天欄看到。
短訊(不加備註):以 SMS 文字訊息形式,將訊息傳送給 短訊範本 的收件人。
短訊(加入備註):以 SMS 文字訊息形式,將訊息傳送給 短訊範本 的收件人,並以內部備註形式,發佈至聊天欄。
只限備註:訊息只會作為內部備註發佈至聊天欄。
傳送 WhatsApp¶
重要
要自動化傳送 WhatsApp 訊息,須建立一個或多個 WhatsApp 範本。
此操作用於向連結至特定記錄的聯絡人,傳送 WhatsApp 訊息。要執行此操作,請從下拉式選單中,選擇相應的 WhatsApp 範本。
加入及移除關注者¶
此操作用於為現有聯絡人,訂閱為記錄的關注者,或取消訂閱(取消關注)。
創建記錄¶
此操作用於在任何模型上建立新的記錄。
在 要建立的記錄 欄位中,選擇所需的模型。預設情況下,該欄位會是目前的模型。為記錄命名一個 名稱,之後,如果要在另一個模型上建立記錄,請在 連結欄位 選擇一個欄位,以連結至觸發建立新記錄的原本記錄。
小訣竅
你可建立另一個包含 更新記錄 操作的自動化規則,以便在必要時為新增記錄更新欄位。例如,可使用 建立記錄 操作,建立新的專案任務,然後使用 更新記錄 操作,將其指派給指定使用者。
執行程式碼¶
此操作用於執行 Python 程式碼。 你可在 程式碼 分頁中,編寫你的自訂程式碼,並可使用以下變數:
env:觸發操作的環境model:觸發操作所針對的記錄的模型,是空白的記錄集record:觸發操作所針對的記錄,可以是空集records:在多模式下觸發操作所針對的所有記錄的記錄集。此項可留空time、datetime、dateutil、timezone:有用的 Python 程式庫(時間、日期時間、日期公用程式、時區)float_compare:公用程式函數,按指定精確度比較浮點數log(message, level='info'):在 ir.logging 表格中,記錄除錯資訊的系統日誌寫入函數_logger.info(message):在伺服器日誌中發佈訊息的系統日誌寫入工具UserError:在面向使用者的警告訊息中,標示錯誤的異常類Command:x2many 指令命名空間action = {...}:傳回一項操作
小訣竅
程式碼 及 幫助 分頁都有關於可用變數的說明。
傳送網絡鈎子(webhook)通知¶
此操作用於向 網址 欄位所指定的網絡鈎子網址(webhook URL)傳送包含所選 欄位 的值的 POST API 請求。
範例負載 可預覽請求所包括的數據樣本。預覽的數據會抽取自隨機記錄。若無可用記錄,會使用虛擬數據。
備註
你亦可設立自動化操作,在外部系統發生指明事件時, 利用網絡鈎子接收來自該外部系統的數據。
執行現有行動¶
此操作用於同時觸發多個(與目前模型關聯的)操作。要執行此操作,請按一下 加入資料行,然後在 加入:子操作 彈出視窗中,選擇一個現有操作,或按 新增 建立新操作。