Bỏ qua để đến Nội dung

Chia sẻ và hướng dẫn cài đặt workflow Notion to Linkedin trong N8N

Workflow này dùng n8n để tự động hóa toàn bộ quy trình – từ lấy nội dung trong Notion, xử lý, định dạng cho đến đăng bài lên LinkedIn và cập nhật trạng thái, giúp bạn tiết kiệm rất nhiều thời gian.

✅ Workflow làm được những gì?

  • Chạy theo lịch tự động (ví dụ 15:00 mỗi ngày)
  • Lọc đúng bài viết trong Notion theo ngày hiện tại
  • Lấy và gom nội dung từ các block Notion, định dạng lại phù hợp với LinkedIn
  • Tự động tải hình ảnh liên quan (nếu có)
  • Đăng bài lên LinkedIn hoàn toàn tự động
  • Cập nhật trạng thái bài viết trong Notion để dễ quản lý và không bị đăng trùng

💡 Phù hợp cho những ai:

  • Làm personal branding trên LinkedIn nhưng muốn tối ưu thời gian
  • Lên lịch và quản lý nội dung trên Notion
  • Muốn có quy trình đăng bài ổn định, chuyên nghiệp và ít sai sót

1. Chuẩn bị trước khi import

  1. Tạo tài khoản & cài n8n
    1. Có thể dùng n8n Cloud hoặc tự host trên VPS / Docker.
  2. Chuẩn bị tài khoản & quyền truy cập
    1. Tài khoản Notion: tạo Integration và cấp quyền cho database chứa bài viết.
    2. Tài khoản LinkedIn: đã kết nối được với n8n (qua node LinkedIn) và có quyền đăng bài cho trang cá nhân hoặc Company Page mà bạn chọn.

2. Import workflow vào n8n

  1. Mở giao diện n8n → chọn Workflows → Import from File.
  2. Chọn file 0008-notion_linkedin_pub.json.
  3. Sau khi import, bạn sẽ thấy workflow có tên Notion to Linkedin với các node:
    • Schedule Trigger
    • Filter the table for the day's post
    • Fetch the content on the page
    • Aggregate the Notion blocks
    • Format the post
    • Download image
    • Merge
    • Publish on LinkedIn
    • Update post status in notion database
    • Một số Sticky Note để ghi chú.

3. Thiết lập Credentials cho Notion & LinkedIn

3.1. Notion

  1. Vào Settings → API trên Notion, tạo một Integration mới.
  2. Copy Internal Integration Token.
  3. Trên n8n:
    • Vào Credentials → tạo mới Notion API credential.
    • Dán token vừa copy.
  4. Quay lại Notion, mở database chứa bài viết (Ví dụ trong JSON đang dùng database ID: f09dc21b-1070-4d5a-bf7f-a9ab3dbb69fb – tên hiển thị là Postagens).
  5. Chia sẻ database đó cho Integration vừa tạo (Share → thêm Integration).

3.2. LinkedIn

  1. Trong n8n, tạo LinkedIn credential (theo hướng dẫn n8n – OAuth app LinkedIn).
  2. Kết nối, đảm bảo bạn đã:
  • Liên kết với trang cá nhân và/hoặc Company Page.
  • Có quyền w_member_social / w_organization_social tùy nơi đăng.

4. Cấu hình chi tiết từng node chính

4.1. Schedule Trigger – Lên lịch chạy

  • Node: Schedule Trigger
  • Trong JSON đang đặt:
    • Rule interval → triggerAtHour: 15 → nghĩa là 15:00 mỗi ngày.
  • Bạn có thể chỉnh lại:
    • Tần suất (mỗi ngày, mỗi giờ, mỗi tuần…)
    • Giờ chạy phù hợp múi giờ server.

4.2. Filter the table for the day's post – Lọc bài đăng trong Notion

  • Node: Filter the table for the day's post (Notion node)
    • Các thiết lập quan trọng:
    • resource: databasePage
    • operation: getAll
    • databaseId: trỏ tới database bài viết của bạn
  • filters:
    • Field: Date|date
    • Condition: equals
    • Date: ={{ $today.format("yyyy/mM/dd") }}
  • Việc bạn cần làm:
    1. Đảm bảo database Notion của bạn có property Date (kiểu date), tên khớp hoặc sửa lại filter cho đúng.
    2. Nếu bạn dùng tên property khác (ví dụ Ngày đăng), hãy sửa key lại tương ứng trong node.

4.3. Fetch the content on the page – Lấy nội dung từng bài

  • Node: Fetch the content on the page (Notion node)
  • Lấy blockId từ {{ $json.url }} của mỗi page trong database.
  • Đảm bảo:
    • Các page trong database là Notion page có nội dung dạng blocks (text, image, v.v.).

4.4. Aggregate the Notion blocks – Gom nội dung & ảnh

  • Node: Aggregate the Notion blocks (Aggregate node)
  • Đang gom:
    • content
    • image.file.url
  • Yêu cầu:
    • Workflow Notion đã chuẩn hóa để text ra trường content, ảnh ra image.file.url.
    • Nếu cấu trúc block Notion của bạn khác, có thể cần chỉnh lại cách map/scripting trước node này.

4.5. Format the post – Định dạng bài LinkedIn

  • Node: Format the post (Code node)
  • Code đang làm nhiệm vụ:
    • Ghép các dòng text trong mảng content thành một chuỗi formattedText.
    • Nếu một dòng bắt đầu bằng - (gạch đầu dòng), sẽ thêm khoảng trống dòng phía trên để giống bullet list trên LinkedIn.
  • Bạn có thể tùy chỉnh logic trong đoạn JS này:
    • Thêm hashtag, CTA, link, signature cá nhân…

4.6. Download image – Tải ảnh từ Notion

  • Node: Download image (HTTP Request)
  • URL: ={{ $json.url[0] }} – lấy ảnh đầu tiên trong danh sách.
  • Nếu bài viết không có ảnh, cần:
    • Đảm bảo workflow vẫn chạy an toàn (ví dụ kiểm tra null trong bước trước đó, hoặc cho phép bài không ảnh).

4.7. Merge – Ghép text & ảnh

  • Node: Merge
  • Mode: combine – mergeByPosition
  • Ghép output từ:
    • Format the post (text)
    • Download image (file binary)
  • Kết quả: mỗi item chứa đầy đủ text + ảnh để đưa sang LinkedIn.

4.8. Publish on LinkedIn – Đăng bài

  • Node: Publish on LinkedIn (LinkedIn node)
  • Tham số quan trọng:
    • person: "CcS-_lLyzG"
      • Đây là ID profile/organization trong môi trường mẫu. Bạn phải đổi thành ID tương ứng trong tài khoản của bạn (chọn từ dropdown khi LinkedIn credential kết nối thành công).
    • text: ={{ $json.formattedText }}
    • shareMediaCategory: IMAGE (đăng bài có ảnh)
  • Kiểm tra:
    • Test với 1 bài demo trước khi bật schedule.

4.9. Update post status in notion database – Cập nhật trạng thái

  • Node: Update post status in notion database (Notion node)
  • Hoạt động:
    • Tìm đúng page theo URL từ node Filter the table for the day's post.
    • Cập nhật property Status|select thành "Published".
  • Bạn cần:
    • Đảm bảo database có property Status kiểu select và đã tạo option Published.
    • Nếu dùng tên khác (ví dụ Trạng thái), sửa lại key trong node.

5. Kiểm tra & chạy thử

  1. Tạm thời tắt Schedule Trigger, sau đó bấm Execute Workflow từ node Filter the table for the day's post với một ngày có bài viết.
  2. Kiểm tra từng node:
    • Có lấy đúng page Notion không?
    • Nội dung text có đẹp & đúng format không?
    • Ảnh tải về OK không?
    • LinkedIn có đăng bài thành công (ở chế độ test) không?
    • Notion có đổi Status sang Publish​ed không?
  3. Khi mọi thứ hoạt động đúng:
    • Bật active cho workflow.
    • Để Schedule Trigger tự động chạy mỗi ngày.

6. Gợi ý tùy biến thêm

  • Thêm node IF để:
    • Nếu hôm nay không có bài nào → không đăng, không báo lỗi.
  • Thêm gửi thông báo:
    • Qua email / Telegram / Slack sau khi đăng thành công.
  • Thêm logic:
    • Tự động gắn hashtag, thêm UTM link, thêm CTA cuối bài.