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

安裝部署n8n
與 make 不太一樣的是, n8n 除了註冊付費使用該司平台服務,也可自己部署在本地端、自己部署到雲端等,自由度很高。
使用者可以自行評估用量、使用頻率等成本,判斷何種部署作選擇。
參考資料
- 官方平台訂閱:
- 純自架本地端,不上網:
- Windows版
- Mac版
- 自架部署雲端
- 使用Zeabur
- 使用Railway
- 使用Render
- 使用Google cloud的VM虛擬機的免費方案

📔 這是我用的方式。考量個人使用量尚且不多,也還不想訂閱任何付費服務。
各節點模組功能介紹與設定
每個節點都分為用途、準備素材、節點設定等三部分做介紹。
設置節點步驟,於畫面右上角點「+」按鈕,即可選擇/搜尋需要使用的節點。


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

- 節點設定:
- credential to connect with 連接憑證
- 憑證授權需先準備API KEY,參考教學如下,建議先把所有可能會用到的 Google 服務都啟用(如:Gmail, Calendar, Sheets, Doc, Youtube等):
- sheet設定(這邊依照個人情境需求調整)
- Poll Times 觸發頻率(多久巡邏一次)
- Document 選擇試算表來源
- Sheet 選擇工作表
- Trigger On 在何種事件發生時觸發

IF 判斷是否到了發文排程時間&尚未上架
以「條件」作判斷:如果符合條件(TRUE)就⋯,不符合(FALSE)就⋯

- 用途:讓試算表資料經過邏輯條件判斷哪些文需要發,條件設定為
發文時間≤現在時間
,且發文狀態欄位為空白(還沒寫上「貼文已發布」)
作為整個流程的觸發起點

- 準備素材&節點設定:
OpenAI → Generate an image 生成圖片

- 用途:以提示詞生成貼文的附圖

- 準備素材&節點設定:
- credential to connect with 連接憑證
- 憑證授權需先準備 OPENAI API KEY,參考如下。 申請後貼入 n8n OPENAI節點新增憑證視窗的 API key 欄位。
- Resource:Image
- Operation: 選擇「Generate an Image」
- Model: 選擇「DALL-E-3」
- Prompt: 左邊input挑選
做圖提示詞
欄位拖曳放進來 - Quality:畫質,看需求選
- Resolution: 解析度
- Style: 風格

FTP 上傳圖片備份(選用)
- 用途:將AI生成的圖片上傳到指定伺服器空間存放,供備用

- 準備素材&節點設定:
- 存放的空間去設定憑證
- 放image的路徑位置
FTP 下載給發文用(選用)
- 用途:將上傳到指定伺服器空間存放的圖片,下載給發文使用

- 準備素材&節點設定:
- 存放的空間去設定憑證
- 下載image的路徑位置
- Put Output File in Field:下載的檔名
Merge 合併圖與文
- 用途:將要發文的圖與文等素材集合備用。

- 準備素材&節點設定:
- Mode:Combine
- Combine By: Position
- Number of Inputs:2
Facebook Pages 粉專發布新貼文
- 用途:生成一篇有圖的貼文

- 準備素材:
- credential to connect with 連接憑證
- 憑證授權需先準備 Facebook Graph 的token,入口如下。
設定教學請參考:
- 節點設定:
- Edge: photos
- Input Binary Field: data-img
- 建立一個Query Parameters:
- Name: message
- Value: 左邊input挑選
發文內容
欄位拖曳放進來
Google Sheets 更新發文時間與狀態
- 用途:更新試算表內欄位資料

- 準備素材&節點設定:
- Column to match on: 發文內容
- Values to Update: 除了發文時間、狀態,其他直接拖曳欄位過來(一定要放,不然會更新成空白)。
- 設
發文時間
為「現在」 - 設
狀態
為「貼文已上架」
Discord 到頻道發送上架貼文的通知
- 用途:當貼文成功發佈後,向 Discord Webhook 發送通知。讓使用者(或社群行銷單位)能即時在 Discord 頻道收到「貼文已上架」。
- 準備素材:
- 先到欲接收通知的Discord頻道進行設定:進入
編輯頻道
新增Webhook,並複製webhook網址

- 節點設定:
- Connection Type: Webhook
- Credential for Discord Webhook: 新建一個憑證,貼上剛剛從Discord複製的網址
- Operation:選用「Send a Message」
- Message:輸入

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



