發佈時間: 2025-4-9 最近更新: 2025-5-10字數 2223閱讀時間 6 分鐘

type
status
date
slug
summary
tags
category
icon
password
💡
一個能夠讓使用者預先排好社群內容與排程,自動製圖、發文上架,並發送成功通知的自動化流程。
在社群媒體的經營中,排程貼文與跨平台通知是常見需求。
繼日前記錄如何使用Make.com串接 Google Sheets、OpenAI API、FTP、Facebook Pages 與 HTTP 模組(最終傳送到 Discord頻道),達到自動化社群發文與通知的目的。
此次使用 n8n 針對相同工作流作設計。操作體感來說,n8n 較 make 入門門檻相對較高,n8n 有比較多需要使用者撰寫程式碼(如:時間格式轉換等)串接的地方。後面會再詳述。
notion image

安裝部署n8n

與 make 不太一樣的是, n8n 除了註冊付費使用該司平台服務,也可自己部署在本地端、自己部署到雲端等,自由度很高。
使用者可以自行評估用量、使用頻率等成本,判斷何種部署作選擇。

參考資料

各節點模組功能介紹與設定

每個節點都分為用途準備素材節點設定等三部分做介紹。
設置節點步驟,於畫面右上角點「+」按鈕,即可選擇/搜尋需要使用的節點。
notion image
notion image

Google Sheets Trigger → row added 偵測新資料

  • 用途:透過試算表集中管理所有貼文資訊,並由模監聽觀察是否有新資料列、發文時間≤現在時間,作為整個流程的觸發起點
  • 準備素材—Google Sheet
    • 發文內容:社群貼文的文字內容
    • 做圖提示詞:放你想請AI協助製圖的提示詞需求,圖片會作為發文的附圖
    • 發文時間:指定預計發布到社群的時間
    • 狀態:記錄貼文是否已發佈上架(預設是留白,最後完成流程再自動更新上去)
      • notion image

IF 判斷是否到了發文排程時間&尚未上架

以「條件」作判斷:如果符合條件(TRUE)就⋯,不符合(FALSE)就⋯
notion image
  • 用途:讓試算表資料經過邏輯條件判斷哪些文需要發,條件設定為 發文時間≤現在時間,且 發文狀態欄位為空白(還沒寫上「貼文已發布」)作為整個流程的觸發起點
    • notion image
  • 準備素材&節點設定
    • 條件一:發文時間≤現在時間

    • 時間格式統一:因為google sheet的時間格式與n8n不盡相同,要進行轉換。
      • google sheet 時間格式 YYYY-MM-DD HH:mm 日期與時間中間會隔著一個空格
      • n8n 時間格式:日期與時間中間會隔著一個T
      • 抓取系統時間
        • 工作流時區設定:在工作流上方「⋯」處找到 Settings → Timezone 選 Asia/Taipei (配合google sheet時區)
          • notion image
            notion image
        • 節點內設定抓取系統「現在時間」,可於左邊input挑選 $now 拖曳過去使用,並設為「is before or equal to」(早於或等於,≤)
          • notion image

          條件二:發文狀態欄位為空白(還沒寫上「貼文已發布」)

        • 發文狀態欄位為空:左邊input挑選google sheet抓進來的資料,拖曳 狀態 欄位過來,設定為「is empty」(空白)

    OpenAI → Generate an image 生成圖片

    notion image
    • 用途:以提示詞生成貼文的附圖
      • notion image

    FTP 上傳圖片備份(選用)

    • 用途:將AI生成的圖片上傳到指定伺服器空間存放,供備用
      • notion image
    • 準備素材&節點設定
      • 存放的空間去設定憑證
      • 放image的路徑位置

    FTP 下載給發文用(選用)

    • 用途:將上傳到指定伺服器空間存放的圖片,下載給發文使用
      • notion image
    • 準備素材&節點設定
      • 存放的空間去設定憑證
      • 下載image的路徑位置
      • Put Output File in Field:下載的檔名

    Merge 合併圖與文

    • 用途:將要發文的圖與文等素材集合備用。
      • notion image
    • 準備素材&節點設定
      • Mode:Combine
      • Combine By: Position
      • Number of Inputs:2

    Facebook Pages 粉專發布新貼文

    • 用途:生成一篇有圖的貼文
      • notion image
    • 節點設定
      • Edge: photos
      • Input Binary Field: data-img
      • 建立一個Query Parameters:
        • Name: message
        • Value: 左邊input挑選 發文內容 欄位拖曳放進來

    Google Sheets 更新發文時間與狀態

    • 用途:更新試算表內欄位資料
      • notion image
    • 準備素材&節點設定
      • Column to match on: 發文內容
      • Values to Update: 除了發文時間、狀態,其他直接拖曳欄位過來(一定要放,不然會更新成空白)。
        • 發文時間為「現在」
          • 狀態為「貼文已上架」

      Discord 到頻道發送上架貼文的通知

      • 用途:當貼文成功發佈後,向 Discord Webhook 發送通知。讓使用者(或社群行銷單位)能即時在 Discord 頻道收到「貼文已上架」。
      • 準備素材
        • 先到欲接收通知的Discord頻道進行設定:進入編輯頻道 新增Webhook,並複製webhook網址
          • notion image
      • 節點設定:
        • Connection Type: Webhook
        • Credential for Discord Webhook: 新建一個憑證,貼上剛剛從Discord複製的網址
          • notion image
        • Operation:選用「Send a Message」
        • Message:輸入

      測試驗證

      • 在 Google Sheets 中新增一筆測試資料,並填入預計發文時間。
      • 觀察每一節點模組的執行情況:
        • ChatGPT 是否成功生成圖片?
        • Facebook 是否順利發布圖文?
        • Discord 是否收到通知?

      實測效果

      notion image
      粉絲專頁成功發出一篇依照試算表擬定內容的圖文
      粉絲專頁成功發出一篇依照試算表擬定內容的圖文
      Discord接收通知頻道,有即時跳出訊息。
      Discord接收通知頻道,有即時跳出訊息。
      如手機有打開Discord相關通知設定,即會收到即時通知!
      如手機有打開Discord相關通知設定,即會收到即時通知!

      贊助支持鼓勵

       
       
      Loading...
      自然語言處理 (NLP) 基礎

      自然語言處理 (NLP) 基礎

      AI知識學習紀錄 PART2


      小程式大學問:Chorme Extension擴充功能-譯起翻FlipTrans

      小程式大學問:Chorme Extension擴充功能-譯起翻FlipTrans

      使用者於chorme安裝擴充功能後,設定好自有的AI服務商API Key,即可以於瀏覽外文頁面時一鍵翻譯繁體中文,也可生成該文重點摘要。