Hướng đẫn đồng bộ task/công việc từ Notion sang tin nhắn trên Larksuite với Make.com

Gần đây một người bạn của mình là CMO tại 1 doanh nghiệp đang sử dụng larksuite làm công cụ Quản lý và Giao tiếp nội bộ, gặp phải 1 tình huống là phòng Marketing đang cộng tác với nhiều Freelance trong các mảng Copywriting, Design thông qua ứng dụng notion, vậy:

  • Làm sao để toàn bộ phòng Marketing hoặc cá nhân phụ trách tại Doanh nghiệp biết hiện đang có những công việc nào đang được giao trên Notion
  • Ai là người phụ trách công việc? deadline hoàn thành là khi nào? Và làm sao để cập nhập tiến độ công việc?
  • Vì doanh nghiệp đang vận hành trên Larksuite và cần hạn chế thao tác chuyển đổi qua lại giữa các ứng dụng (gây xao nhãng, tốn thời gian) và đồng bộ tập trung thông tin tại Larksuite?

Vậy là mình đã hỗ trợ bạn mình xây dựng 1 quy trình xử lý tự động “Đồng bộ task từ Notion sang tin nhắn trên Larksuite” với các bước như sau:

  1. Kết nối Notion tới Make
  2. Tạo “Custom bot” & Tin nhắn mẫu trên Larksuite
  3. Tạo quy trình đồng bộ tự động trên Make

1. Kết nối Notion tới Make

Truy cập công cụ quản lý tích hợp của Notion

Truy cập công cụ quản lý tích hợp của Notion tại địa chỉ https://www.notion.so/my-integrations hoặc làm theo các bước sau:

Bước 1: Vào mục “Settings & members”

Bước 2: Vào mục “My connections”

Bước 3: Kéo xuống dưới và click vào đường dẫn “Develop or manage integrations”


Tạo mới kết nối mới

Bước 1: Tạo mới kết nối

Bước 2: Cấp quyền truy cập cho ứng dụng

Bước 3: Thêm thông tin giới thiệu tổ chức và Redirect URIs



Cho phép Page hoặc Table trên Notion kết nối với ứng dụng Make

Kết nối tới với Notion từ Make

msedge_xN4IuRm1rS.gif

Xem thêm tài liệu hướng dẫn kết nối Notion tới Make
https://www.make.com/en/help/app/notion#connect-notion-to-make


2. Tạo “Custom bot” & Tin nhắn mẫu trên Larksuite

Bước 1: Để thực hiện gửi tin nhắn tới group chat trên Larksuite, bạn cần tạo mới 1 “Custom bot” trong mục Setting > Bots > Add Bot và copy đường dẫn Webhook của “Custom bot”



Bước 2: Tạo tin nhắn mẫu với ứng dụng “Card builder”

  • Truy cập đường dẫn https://open.larksuite.com/tool/cardbuilder
  • Bạn có thể lựa chọn 3 cách thức để tạo mẫu tin nhắn là:
    • Template có sẵn
    • Xây dựng từ đầu với các thành phần có sẵn
    • Import tin nhắn mẫu được chia sẻ

  • Thay code tin nhắn mẫu bạn đã tạo vào cấu trúc code sau, theo thứ tự là elements, header
    {
         "msg_type": "interactive",
         "card": {
             "elements": [{
                     "tag": "div",
                     "text": {
                             "content": "**West Lake**, located at No. 1 Longjing Road, Xihu District, Hangzhou City, Zhejiang Province, west of Hangzhou City, with a total area of 49 square kilometers, a catchment area of 21.22 square kilometers, and a lake area of 6.38 square kilometers km.",
                             "tag": "lark_md"
                     }
             }, {
                     "actions": [{
                             "tag": "button",
                             "text": {
                                     "content": "More attractions introduction: Rose:",
                                     "tag": "lark_md"
                             },
                             "url": "https://www.example.com",
                             "type": "default",
                             "value": {}
                     }],
                     "tag": "action"
             }],
             "header": {
                     "title": {
                             "content": "Today's travel recommendation",
                             "tag": "plain_text"
                     }
             }
         }
    }
    
  • Sử dụng công cụ Json beautify để kiểm tra cấu trúc cấu trúc mã Json và dễ tuỳ biến trước khi thực hiện thêm mã Json vào quy trình “Đồng bộ nhiệm vụ/task từ Notion tới Larksuite”

Xem thêm: Tài liệu hướng dẫn hướng dẫn tạo mới và sử dụng Custom bot (Custom bot usage guide - Developer Guides - Documentation - Lark Developer (larksuite.com))

Bước 3: Kiểm thử “Tin nhắn mẫu” tới webhook của “custom bot” bằng Postman

Hướng dẫn sử dụng Postman[1]

3. Tạo quy trình đồng bộ trên Marke

Node 1: Nhận dữ liệu từ Notion

Sau khi hoàn thành bước tạo kết nối với trên Notion, trên make chúng ta lựa chọn module Notion Search Objects để tiến hành tạo kết nối giữa Notion và Make.

  • Connection: Tạo kết nối mới từ giứ Notion và Make
  • Database ID: Tìm kiếm tên Database hoặc nhập Database ID
  • Filter: Bộ lọc những dữ liệu cần gửi tới lark
    • Ngày tạo task: Lựa chọn định dạng phù hợp với trường dữ liệu trên Notion, ở đây là định dạng Fomula với So sánh String - Equals với ngày hiện tại đã được format về định dạng DD/MM/YYYY với công thức {{formatDate(now; "DD/MM/YYYY")}}

    Lưu ý: Cần thống nhất định dạng cấu trúc ngày tháng trên Notion và Make. Ví dụ trên sử dụng định dạng DD/MM/YYYY và nên trên Notion cần tạo thêm 1 trường dữ liệu dạng công thức đề Format định ngày Ngày tạo task về dạng DD/MM/YYYY

Node 2, 3: Chuyển đổi dữ liệu sang định dạng Json

Sẽ có 2 dữ liệu từ Notion cần trích xuất là {{Properties_value}} (Dữ liệu về nhiệm vụ) và {{url}} (Link truy cập nhiệm vụ trên Notion). Để trích xuất dữ liệu từ node 1 chúng ta sử dụng module Transform to JSON
image

Node 4: Phân tích dữ liệu từ cấu trúc Json

Từ dữ liệu định dạng JSON đã được trích xuất từ node 2,3 thì cần thêm 1 bước nữa để chuyển đổi thành các đối tượng mà chúng ta có thể thêm vào các trường dữ liệu tuỳ biến trong quá trình gửi dữ liệu tới Larksuite với modun Prase JSON.

image

Lưa chọn nguồn dữ liệu JSON cần phân chuyển đổi thành các đối tượng riêng lẻ. Ở đây là dữ liệu JSON string được trích xuất từ {{Properties_value}} (Dữ liệu về nhiệm vụ), vì dữ liệu về {{url}} (Link truy cập nhiệm vụ trên Notion) chỉ gồm 1 URL duy nhất nên có thể sử dụng luôn mà không cần chuyển đổi

Node 5: Tạo request tới “Custom bot”

Để chuyển dữ liệu đã được định dạng từ Notion tới Larksuite thông qua ứng dụng Make chúng ta cần sử dụng tiếp module HTTP Make a request

  • URL: Link webhook của Custom bot
  • Method: Lựa chọn phương thức Post
  • Body type: Raw
  • Content type: JSON (application/json)
  • Request content: Code tin nhắn mẫu đã tạo ở trên

Node 6: Cập nhập trạng thái “đã gửi” trên Notion

Đây là bước cuối cùng của quy trình, mục đích cập nhập trường thông tin “Đã gửi tới lark” nhằm loại bỏ nhiệm vụ đã gửi tới lark trong luồng xử lý tự động tiếp theo. Để thực hiện bước này chúng ta lựa chọn module Notion Update a Database Item

  • Lựa chọn/Tìm kiếm Database cần update
  • Lựa chọn Database item ID cần cập nhập bằng cách sử dụng công thức {{replace(8.id; "-"; "")}} nhằm lấy lại Database item ID ở bước trước đó và xoá dấu “-” trong ID[2]
  • Tìm trường thông tin cần nhập trên dữ liệu, ở đây là “Sent to lark” lựa chọn “Đã gửi”, ngoài ra bạn có thể tuỳ biến và cập nhập thêm các trường thông tin khác.


Filter 1: Tạo bộ lọc kiểm tra trạng thái task cần đồng bộ

Vì quy trình của chúng ta được cài đặt sau mỗi 15 phút sẽ kiểm tra bảng dữ liệu trên Notion nếu thoả các điều kiện ở Node 1 thì sẽ bắt đầu tiến trình xử lý tự động. Nhưng trong trường hợp không có dữ liệu phù hợp thì quy trình vẫn sẽ chạy và tạo ra các dữ liệu trống và hệ thống của make vẫn ghi nhận các Operations làm tăng chi phí vận hành.

Vì thế chúng ta cài đặt 1 bộ lọc sau node 1 để tạm dừng quy trình nếu không có dữ liệu phù hợp

Tổng kết

Mong rằng với bài hướng dẫn trên bạn có thể hiểu cách tự mình xây dựng 1 quy trình xử lý tự động với Make hoặc áp dụng “Mẫu quy trình đồng bộ công việc từ Notion sang tin nhắn trên Larksuite” được đính kèm bên dưới để tối ưu quy trình làm việc hiện tại của doanh nghiệp.

Ở phần tiếp theo, mình sẽ chia sẻ quy trình động bộ task từ Notion sang Lark base với make


  1. Postman là một ứng dụng REST Client, dùng để thực hiện test/kiểm thử, gửi các request, API ↩︎

  2. Định dạng Database item ID trong Notion không có dấu “-” ở giữa, nhưng khi chuyển dữ liệu lên make sẽ có thêm dấu “-” vì thế cần loại bỏ để xác định đúng Database item ID cần được cập nhập ↩︎