Quy tắc tự động hóa

Quy tắc tự động hóa được sử dụng để kích hoạt các thay đổi tự động dựa trên hành động của người dùng (ví dụ: áp dụng sửa đổi khi một trường được đặt thành một giá trị cụ thể), sự kiện email, điều kiện thời gian (ví dụ: lưu trữ bản ghi 7 ngày sau lần cập nhật cuối cùng) hoặc bên ngoài sự kiện.

Để tạo quy tắc tự động hóa với Studio, hãy tiến hành như sau:

  1. Mở Studio và nhấp vào Automations, sau đó nhấp vào New.

  2. Chọn Trigger và nếu cần, hãy điền vào các trường xuất hiện trên màn hình dựa trên trình kích hoạt đã chọn.

  3. Nhấp vào Thêm một hành động, sau đó chọn Type của action và điền vào các trường xuất hiện trên màn hình dựa trên hành động đã chọn của bạn .

  4. Nhấp vào Save & Close hoặc Save & New.

Example

Ví dụ về hành động tự động trên mô hình Đăng ký

Mẹo

  • Để sửa đổi model của quy tắc tự động hóa, hãy chuyển đổi mô hình trước khi nhấp vào Automations trong Studio hoặc kích hoạt chế độ nhà phát triển, tạo hoặc chỉnh sửa một quy tắc tự động hóa và chọn Model trong biểu mẫu Automation Rules.

  • Bạn cũng có thể tạo quy tắc tự động hóa từ bất kỳ giai đoạn kanban nào bằng cách nhấp vào biểu tượng bánh răng ( ) bên cạnh tên giai đoạn kanban, sau đó chọn Automations. Trong trường hợp này, Trigger được đặt thành Stage được đặt thành theo mặc định, nhưng bạn có thể thay đổi nó nếu cần.

    Tạo tự động hóa từ giai đoạn Kanban

Trigger

Trigger được sử dụng để xác định khi nào nên áp dụng quy tắc tự động hóa. Các trình kích hoạt khả dụng tùy thuộc vào model. Tổng cộng có năm loại kích hoạt có sẵn:

Mẹo

Bạn cũng có thể xác định Before Update Domain để chỉ định các điều kiện phải đáp ứng trước khi quy tắc tự động hóa được kích hoạt. Ngược lại, các điều kiện được xác định bằng bộ lọc Điều kiện bổ sungApply on được kiểm tra trong quá trình thực thi quy tắc tự động hóa.

Để xác định Trước khi cập nhật miền, kích hoạt chế độ nhà phát triển, tạo hoặc chỉnh sửa quy tắc tự động hóa, nhấp vào Chỉnh sửa tên miền, sau đó nhấp vào Mới Quy tắc.

Ví dụ: nếu bạn muốn hành động tự động xảy ra khi địa chỉ email được đặt cho một liên hệ chưa có địa chỉ trước đó (ngược lại với việc sửa đổi địa chỉ hiện tại của họ), hãy xác định Before Update Domain thành :guilabel :Email chưa được đặtÁp dụng trên miền cho Email đã được đặt.

Ví dụ về trình kích hoạt với Miền cập nhật trước

Giá trị được cập nhật

Trình kích hoạt có sẵn trong danh mục này tùy thuộc vào kiểu máy và dựa trên các thay đổi chung của trường, chẳng hạn như thêm thẻ cụ thể (ví dụ: vào tác vụ) hoặc đặt trường User. Chọn trình kích hoạt, sau đó chọn một giá trị nếu cần.

Ví dụ về trình kích hoạt Cập nhật giá trị

Sự kiện email

Kích hoạt các hành động tự động khi nhận hoặc gửi email.

Điều kiện thời gian

Kích hoạt các hành động tự động dựa trên trường ngày. Các trình kích hoạt sau đây có sẵn:

  • Dựa trên trường ngày: Chọn trường sẽ được sử dụng bên cạnh trường Delay.

  • Sau khi tạo: Hành động được kích hoạt khi một bản ghi được tạo và lưu.

  • Sau lần cập nhật cuối cùng: Hành động được kích hoạt khi bản ghi hiện có được chỉnh sửa và lưu.

Sau đó bạn có thể xác định:

  • a Delay: Chỉ định số phút, giờ, ngày hoặc tháng. Để kích hoạt hành động trước ngày kích hoạt, hãy chỉ định số âm. Nếu bạn đã chọn trình kích hoạt Dựa trên trường ngày, bạn cũng phải chọn trường ngày sẽ được sử dụng để xác định độ trễ.

  • Điều kiện bổ sung: Nhấp vào Thêm điều kiện, sau đó chỉ định các điều kiện cần đáp ứng để kích hoạt quy tắc tự động hóa. Nhấp vào Quy tắc mới để thêm điều kiện khác.

Hành động được kích hoạt khi đạt đến độ trễ và các điều kiện được đáp ứng.

Example

Nếu bạn muốn gửi email nhắc nhở 30 phút trước khi bắt đầu một sự kiện lịch, hãy chọn Start (Calendar Event) trong Trigger Date và đặt Delay thành ** -30** Phút.

Ví dụ về trình kích hoạt trường Dựa trên ngày

Ghi chú

Theo mặc định, bộ lập lịch kiểm tra ngày kích hoạt cứ sau 4 giờ, nghĩa là độ chi tiết thấp hơn trong tự động hóa dựa trên thời gian có thể không phải lúc nào cũng được đáp ứng.

Tùy chỉnh

Kích hoạt các hành động tự động:

  • Đang lưu: Khi bản ghi được lưu;

  • Khi xóa: Khi một bản ghi bị xóa;

  • Khi thay đổi giao diện người dùng: Khi giá trị của trường được thay đổi trên Chế độ xem biểu mẫu, ngay cả trước khi lưu bản ghi.

Đối với các trình kích hoạt Khi lưuKhi thay đổi giao diện người dùng, sau đó bạn phải chọn (các) trường sẽ được sử dụng để kích hoạt quy tắc tự động hóa trong Khi cập nhật cánh đồng.

Cảnh báo

Nếu không có trường nào được chọn trong trường Khi cập nhật, hành động tự động có thể được thực thi nhiều lần trên mỗi bản ghi.

Theo tùy chọn, bạn cũng có thể xác định các điều kiện bổ sung cần đáp ứng để kích hoạt quy tắc tự động hóa trong trường Apply on.

Ghi chú

Trình kích hoạt On UI Change chỉ có thể được sử dụng với hành động Thực thi mã và chỉ hoạt động khi sửa đổi được thực hiện thủ công. Hành động không được thực thi nếu trường được thay đổi thông qua một quy tắc tự động hóa khác.

Bên ngoài

Kích hoạt các hành động tự động dựa trên sự kiện bên ngoài bằng webhook. Webhook là phương thức liên lạc giữa hai hệ thống trong đó hệ thống nguồn gửi yêu cầu HTTP(S) đến hệ thống đích dựa trên một sự kiện cụ thể. Nó thường bao gồm tải trọng dữ liệu chứa thông tin về sự kiện đã xảy ra.

Để định cấu hình trình kích hoạt On webhook, hãy sao chép URL do SoOn tạo vào hệ thống đích (tức là hệ thống nhận yêu cầu). Sau đó, trong trường Target Record, nhập mã chạy để xác định (các) bản ghi sẽ được cập nhật bằng quy tắc tự động hóa.

Cảnh báo

URL phải được coi là bí mật; chia sẻ nó trực tuyến hoặc không thận trọng có thể khiến hệ thống của bạn rơi vào tay các bên độc hại. Nhấp vào nút Rotate Secret để thay đổi bí mật của URL nếu cần.

Ghi chú

  • Mã được xác định theo mặc định trong trường Target Record hoạt động với các webhook đến từ cơ sở dữ liệu SoOn khác. Nó được sử dụng để xác định (các) bản ghi sẽ được cập nhật bằng cách sử dụng thông tin trong tải trọng.

  • Nếu bạn muốn sử dụng nội dung của webhook cho mục đích khác ngoài việc tìm (các) bản ghi (ví dụ: tạo một bản ghi), thì lựa chọn duy nhất của bạn là sử dụng studio/automated-actions/action/python -code hành động. Trong trường hợp này, trường Bản ghi mục tiêu phải chứa bất kỳ mã hợp lệ nào, nhưng kết quả của nó không có bất kỳ ảnh hưởng nào đến chính hành động tự động.

  • Nội dung webhook có sẵn trong ngữ cảnh hành động của máy chủ dưới dạng biến tải trọng (tức là một từ điển chứa tham số GET hoặc nội dung POST JSON của yêu cầu đến).

Bạn cũng có thể chọn Log Calls để ghi lại tải trọng nhận được, ví dụ: để đảm bảo dữ liệu do hệ thống nguồn gửi phù hợp với định dạng và nội dung mong đợi. Điều này cũng giúp xác định và chẩn đoán bất kỳ vấn đề nào có thể phát sinh. Để truy cập nhật ký, hãy nhấp vào nút thông minh Logs ở đầu biểu mẫu Automation Rules.

Hành động

Khi bạn đã xác định trigger của quy tắc tự động hóa, hãy nhấp vào Thêm một hành động để xác định hành động sẽ được thực thi.

Mẹo

Bạn có thể xác định nhiều hành động cho cùng một quy tắc kích hoạt/tự động hóa. Các hành động được thực hiện theo thứ tự chúng được xác định. Ví dụ: điều này có nghĩa là nếu bạn xác định một hành động Update record và sau đó là một hành động Send email thì email sẽ sử dụng các giá trị được cập nhật. Tuy nhiên, nếu hành động Gửi email được xác định trước hành động Cập nhật bản ghi, thì email sẽ sử dụng các giá trị được đặt trước hành động cập nhật được chạy.

Cập nhật bản ghi

Hành động này cho phép cập nhật một trong các trường (có liên quan) của bản ghi. Nhấp vào trường Update và trong danh sách mở ra, hãy chọn hoặc tìm kiếm trường sẽ được cập nhật; bấm vào mũi tên phải bên cạnh tên trường để truy cập danh sách các trường liên quan nếu cần.

Nếu bạn đã chọn trường many2many, hãy chọn xem trường có phải được cập nhật bởi Adding, Removing hay :guilabel:` Đặt nó thành` giá trị đã chọn hoặc bằng Xóa nó.

Example

Nếu bạn muốn hành động tự động xóa thẻ khỏi bản ghi khách hàng, hãy đặt trường Update thành Customer > Tags, chọn By Removal, sau đó chọn thẻ.

Ví dụ về hành động Cập nhật bản ghi

Mẹo

Ngoài ra, bạn cũng có thể thiết lập động trường của bản ghi bằng mã Python. Để làm như vậy, hãy chọn Compute thay vì Update, sau đó nhập mã dùng để tính giá trị của trường. Ví dụ: nếu bạn muốn quy tắc tự động hóa tính toán một trường datetime tùy chỉnh khi mức độ ưu tiên của nhiệm vụ được đặt thành Cao (bằng cách gắn dấu sao cho nhiệm vụ), bạn có thể xác định trình kích hoạt Ưu tiên được đặt thành thành Cao và xác định hành động Update Record như sau:

Tính toán trường ngày giờ tùy chỉnh bằng biểu thức Python

Tạo hoạt động

Hành động này được sử dụng để lên lịch cho một hoạt động mới được liên kết với bản ghi. Chọn một Loại hoạt động, nhập Title và mô tả, sau đó chỉ định thời điểm bạn muốn hoạt động được lên lịch trong trường Due Date In và chọn một :guilabel:` Loại người dùng`:

  • Để luôn chỉ định hoạt động cho cùng một người dùng, hãy chọn Specific User và thêm người dùng vào trường Responsible;

  • Để nhắm mục tiêu động một người dùng được liên kết với bản ghi, hãy chọn Người dùng động (dựa trên bản ghi) và thay đổi Trường người dùng nếu cần.

Example

Sau khi khách hàng tiềm năng được chuyển thành cơ hội, bạn muốn hành động tự động thiết lập lệnh gọi cho người dùng chịu trách nhiệm về khách hàng tiềm năng. Để làm như vậy, hãy đặt Loại hoạt động thành CallUser Type thành Dynamic User (based on record).

Ví dụ về hành động Tạo hoạt động

Gửi email và gửi tin nhắn SMS

Những hành động này được sử dụng để gửi email hoặc tin nhắn văn bản đến một liên hệ được liên kết với một bản ghi cụ thể. Để làm như vậy, hãy chọn hoặc tạo một Mẫu email hoặc một Mẫu SMS, sau đó, trong trường Gửi Email dưới dạng hoặc Gửi SMS dưới dạng, chọn cách thức bạn muốn gửi email hoặc tin nhắn văn bản:

  • Email: để gửi tin nhắn dưới dạng email đến những người nhận Mẫu email.

  • Message: để đăng tin nhắn lên bản ghi và thông báo cho những người theo dõi bản ghi.

  • Note: để gửi tin nhắn dưới dạng ghi chú nội bộ hiển thị cho người dùng nội bộ trong cuộc trò chuyện.

  • SMS (không có ghi chú): để gửi tin nhắn dưới dạng tin nhắn văn bản tới những người nhận SMS template.

  • SMS (có ghi chú): để gửi tin nhắn dưới dạng tin nhắn văn bản tới người nhận Mẫu SMS và đăng nó dưới dạng ghi chú nội bộ trong cuộc trò chuyện.

  • Note only: chỉ đăng tin nhắn dưới dạng ghi chú nội bộ trong cuộc trò chuyện.

Thêm người theo dõi và xóa người theo dõi

Sử dụng những hành động này để (hủy) đăng ký các liên hệ hiện có vào/từ bản ghi.

Tạo bản ghi

Hành động này được sử dụng để tạo bản ghi mới trên bất kỳ mô hình nào.

Chọn mô hình được yêu cầu trong trường Record to Create; nó chứa mô hình hiện tại theo mặc định. Chỉ định Name cho bản ghi, sau đó, nếu bạn muốn tạo bản ghi trên một mô hình khác, hãy chọn một trường trong trường Link Field để liên kết bản ghi đã kích hoạt việc tạo bản ghi mới ghi.

Ghi chú

Danh sách thả xuống liên quan đến trường Link Field chỉ chứa one2many field hiện có trên mô hình hiện tại được liên kết với trường many2one trên mô hình đích.

Mẹo

Bạn có thể tạo một quy tắc tự động hóa khác với các hành động Cập nhật bản ghi để cập nhật các trường của bản ghi mới nếu cần. Ví dụ: bạn có thể sử dụng hành động Create Record để tạo một tác vụ dự án mới, sau đó gán nó cho một người dùng cụ thể bằng hành động Update Record.

Thực thi mã

Hành động này được sử dụng để thực thi mã Python. Bạn có thể viết mã của mình vào tab Code bằng cách sử dụng các biến sau:

  • env: môi trường nơi hành động được kích hoạt

  • model: mô hình của bản ghi mà hành động được kích hoạt trên đó; là một tập bản ghi trống

  • record: bản ghi mà hành động được kích hoạt; có thể bị vô hiệu

  • records: tập bản ghi của tất cả các bản ghi mà hành động được kích hoạt ở nhiều chế độ; cái này có thể để trống

  • time, datetime, dateutil, timezone: các thư viện Python hữu ích

  • float_compare: hàm tiện ích để so sánh số float dựa trên độ chính xác cụ thể

  • log(message, level='info'): chức năng ghi nhật ký để ghi lại thông tin gỡ lỗi trong bảng ir.logging

  • _logger.info(message): logger để phát ra thông báo trong nhật ký máy chủ

  • UserError: lớp ngoại lệ để đưa ra các thông báo cảnh báo đối với người dùng

  • Command: không gian tên lệnh x2many

  • action = {...}: để trả về một hành động

Mẹo

Các biến có sẵn được mô tả cả trong tab CodeHelp.

Gửi thông báo Webhook

Hành động này cho phép gửi yêu cầu POST với các giá trị của Fields tới URL được chỉ định trong trường URL.

Sample Payload cung cấp bản xem trước dữ liệu có trong yêu cầu bằng cách sử dụng dữ liệu của bản ghi ngẫu nhiên hoặc dữ liệu giả nếu không có bản ghi nào.

Thực hiện các hành động hiện có

Hành động này được sử dụng để kích hoạt nhiều hành động (được liên kết với mô hình hiện tại) cùng một lúc. Để làm như vậy, hãy nhấp vào Thêm một dòng, sau đó, trong cửa sổ bật lên Thêm: Hành động con, chọn một hành động hiện có hoặc nhấp vào Mới để tạo một hành động mới.