castomFLOW
Mở castomFLOW

Triggers & actions

Cái gì khởi động nó, nó làm gì, nó quyết định thế nào

Ba câu hỏi, và mọi quy trình trên nền tảng này là câu trả lời cho chúng. Trang này là bộ từ vựng: các cách một lượt chạy có thể bắt đầu, những việc một bước có thể làm, và những thành phần định hình con đường giữa hai điều đó.

Triggers

Bốn cách một lượt chạy bắt đầu

Lịch định kỳ

Mười phút một lần, mỗi thứ Hai lúc bảy giờ, ngày làm việc đầu tiên của tháng. Được diễn đạt theo múi giờ bạn chọn, nên việc đồng hồ quay lại giờ không phải là một sự cố.

Webhook

Cửa hàng của bạn, CRM của bạn, hệ thống thanh toán của bạn, bất cứ thứ gì có thể gửi yêu cầu HTTP. Xác minh chữ ký được bật mặc định và payload được lưu cùng với lượt chạy.

Một sự kiện từ thế giới

Một buổi hòa nhạc được công bố, một trận đấu được lên lịch, một trận động đất, một cảnh báo lũ lụt, một ngưỡng chất lượng không khí bị vượt qua, một nhà cung cấp bị gián đoạn. Hơn 175 nguồn, được làm mới mỗi mười đến hai mươi phút.

Kiểm tra định kỳ, hoặc một con người

Theo dõi một endpoint, một hộp thư hoặc một thư mục và bắt đầu khi có gì đó thay đổi. Hoặc khởi động nó bằng tay, từ bảng điều khiển, vì đôi khi đó mới là câu trả lời trung thực.

Một lượt chạy cho mỗi sự việc. Một trigger kích hoạt hai lần cho cùng một sự kiện gốc — một webhook được người gửi thử lại, một lần kiểm tra định kỳ thấy lại cùng một dòng dữ liệu — sẽ khởi động một lượt chạy, chứ không phải hai. Việc khử trùng lặp được khóa trên bất cứ thứ gì định danh sự việc đó, và bạn có thể tự đặt khóa đó khi cách định danh của người gửi tệ hơn của bạn.

Hành động

Các bước làm việc gì đó

Một action thay đổi điều gì đó bên ngoài lượt chạy: nó ghi, gửi, tính tiền, đặt chỗ, lấy về hoặc lưu trữ. Có hai loại, và sự khác biệt nằm ở việc có sự tham gia của một mô hình hay không.

Action tất định

Gọi một endpoint HTTP. Đọc và ghi vào hệ thống của bạn. Định hình lại payload. Tra cứu thứ gì đó trong dữ liệu tham chiếu. Gửi e-mail, SMS, thông báo đẩy hoặc thư in. Cung cấp một khung giờ đặt chỗ. Nhận một khoản thanh toán. Tạo một liên kết rút gọn. Lấy một hình ảnh kèm giấy phép của nó. Ghi một dòng, một tệp, một bản ghi.

Cùng đầu vào, cùng đầu ra. Chúng không tốn chi phí để chạy, đó là lý do lời khuyên trung thực là dùng chúng cho mọi thứ không thực sự cần đến phán đoán.

Action AI

Phân loại tin nhắn này. Soạn bản trả lời kia. Tóm tắt một chuỗi hội thoại thành ba gạch đầu dòng. Trích xuất các trường từ một tài liệu phi cấu trúc. Chọn giữa các phương án dựa trên một quy tắc bạn viết bằng văn xuôi. Dịch, giữ nguyên giọng văn.

Mỗi bước AI khai báo hình dạng của dữ liệu nó trả về, và kết quả trả về được kiểm tra theo hình dạng đó trước khi luồng chạy tiếp. Nếu mô hình tạo ra thứ gì đó sai định dạng, bước đó thất bại sạch sẽ thay vì làm ô nhiễm mười hai bước tiếp theo.

Có điều gì đó xảy ra. Rồi điều đúng đắn tiếp theo xảy ra.

Flow: những bước chỉ nghĩ về luồng chạy

Điều kiện rẽ nhánh theo một giá trị. Cả hai nhánh luôn được định nghĩa — một điều kiện thiếu nhánh else là cách phổ biến nhất khiến tự động hóa âm thầm làm mất bản ghi, nên ở đây không thể để một nhánh lơ lửng.

Chờ giữ một luồng chạy cho đến một thời điểm hoặc một sự kiện. Một lệnh chờ là một wake_at được ghi trên chính luồng chạy, chứ không phải một hàng nằm trong hàng đợi — đó là lý do một quy trình có thể giữ mười nghìn người trong ba tuần mà không tốn bất cứ thứ gì và không ai nhận ra.

Giờ yên tĩnh ngăn tin nhắn gửi đi đến tay người nhận lúc ba giờ sáng. Một luồng chạy đến bước gửi trong khung giờ yên tĩnh sẽ chờ đến khi khung giờ khép lại. Mức độ nghiêm trọng có thể cố ý ghi đè lên, dành cho những cảnh báo được thiết kế để đánh thức con người.

Chia tách gửi một phần luồng chạy theo đường A và phần còn lại theo đường B, để bạn có thể so sánh hai dòng tiêu đề, hai lệnh chờ hay hai thứ tự với nhau trên lưu lượng thật.

Mục tiêu đánh dấu điều mà quy trình được tạo ra để đạt tới. Khi một luồng chạy đạt mục tiêu, nó dừng lại ở đó, bất kể phía sau còn gì — khách hàng đã mua sẽ không nhận lời nhắc mua thứ ba.

Giỏ hàng bị bỏ lạiĐã đạt mục tiêu
  • ⚡Trình kích hoạtGiỏ hàng không hoạt động 40 phút. Đã khử trùng lặp theo id giỏ hàng.
  • ?Điều kiệnGiỏ hàng trên 150 zł? Có — đi đường dài hơn.
  • ⏸ChờMột wake_at trên luồng chạy. Không hàng đợi, không chi phí.
  • ATách50/50 theo dòng tiêu đề. Luồng chạy này nhận biến thể A.
  • ✉GửiE-mail với liên kết ngắn, lượt chuyển hướng được đếm theo từng người nhận.
  • ★Mục tiêuĐơn hàng đã đặt. Luồng chạy dừng ở đây; lời nhắc thứ hai không bao giờ được gửi.

Các bước đã gọi mô hình: 1Các bước không tốn chi phí: 5

Lỗi là một phần của luồng, không phải ngoại lệ của nó

Một bước thất bại có nơi để đi. Thử lại với thời gian chờ tăng dần, và có giới hạn số lần. Đi theo một đường thay thế. Dừng luồng chạy và lưu nó ở nơi con người sẽ nhìn thấy. Hoặc cứ tiếp tục, vì bước đó vốn là tùy chọn và bạn thà có phần lớn kết quả còn hơn là không có gì.

Mặc định cho một bước giao tiếp với hệ thống của người khác là thử lại vài lần rồi dừng — vì một hệ thống đang sập lúc 09:14 thường hoạt động trở lại lúc 09:19, và vì một luồng chạy đã dừng dễ suy luận hơn nhiều so với một luồng chạy chỉ xảy ra một nửa.

Điều bạn không thể làm: một bước không thể quay ngược về một bước trước đó. Một quy trình là một đường có hướng, không phải một chương trình có lệnh nhảy. Nếu công việc của bạn thực sự cần vòng lặp, hãy lặp qua một danh sách trong một bước duy nhất, hoặc khởi chạy một luồng chạy cho mỗi phần tử — cả hai đều được hỗ trợ, và cả hai đều dễ đọc lại sau này hơn một chu trình.