n8n-Threads 포스팅 자동화 #2 : Threads 자동 포스팅 워크플로우 만들기

소개

Threads API를 활용한 자동 포스팅 시나리오를 n8n으로 구현했습니다.
챗봇을 우선으로 구현했으나, 슬랙/텔레그램 등에서 입력된 메시지를 기반으로 Threads에 실시간으로 텍스트를 게시할 수 있는 구조입니다.

이 워크플로우는 #1 시리즈의 Supabase에 저장된 최신 장기 토큰을 불러와 활용하며, Threads의 media container와 publish API를 사용해 완전 자동화된 글 게시를 가능하게 합니다.

[[n8n-Threads 포스팅 자동화 #1 : Threads API 토큰 1시간 제한 > 2개월 장기 토큰으로 자동 연장 워크플로우 만들기]]
https://www.gpters.org/nocode/post/n8nthreads-posting-automation-1-TKoYHOclxLZv6Si

진행 방법

✅ 전체 흐름 요약

  1. 메시지 입력 받기 → 2. 토큰 가져오기 → 3. 설정값 구성 → 4. 컨테이너 생성 → 5. 게시


✅ 워크플로우 구성 (노드별 설명)

1. When chat message received (Chat Trigger)

  • 외부에서 들어오는 텍스트 입력을 수신합니다.

  • 예: 슬랙, 텔레그램, 웹훅, 폼 등에서 입력된 메시지를 기준으로 자동 포스팅 진행 가능

2. 토큰 행 가지고 오기1 (Supabase)

  • Supabase에서 active = true인 Threads 장기 토큰을 불러옵니다.

  • 토큰은 #3 워크플로우에서 주기적으로 갱신/저장됨

    게임 설정의 스크린 샷

3. 쓰레드 포스팅 셋팅 (Set Node)

  • 포스팅에 필요한 데이터들을 세팅합니다:

    • access_token: Supabase에서 가져온 토큰

    • account_id: 쓰레드 @xxxxxxxxxx 에 해당하는 id

    • thread_id: 게시 대상 계정 ID(developer.facebook.com에서 조회되는 ID, 숫자들)

    • Text: 쓰레드에 포스팅하고자 하는 내용 = 텍스트

      한국 메신저 설정의 스크린 샷

4. 미디어 컨테이너 생성 (HTTP Request)

  • Threads에서 먼저 컨테이너 라는 녀석을 만들어야 글을 게시할 수 있습니다.

  • 컨테이너가 정확히 먼지, 왜 만들어야 하는지 나도 몰라요.
    그냥, https://developers.facebook.com/docs/threads에서 만들라고 하니까 만들어요~^^

    게임 설정을 보여주는 화면의 스크린 샷

  • 이 요청으로 생성된 컨테이너 ID가 다음 단계에서 사용됩니다.

5. 쓰레드 포스팅 (HTTP Request)

  • 위에서 생성한 컨테이너 ID를 기반으로 실제 게시 요청을 보냅니다.

    컴퓨터 설정을 보여주는 화면의 스크린 샷

결과와 배운 점

💡 깨달음

  • Threads API는 “컨테이너 생성 → 게시”의 두 단계 구조를 따라야 하며, 각 단계마다 토큰과 ID값이 정확히 매핑돼야 합니다.

  • 텍스트 길이는 반드시 500자 이하로 제한해야 오류 없이 작동합니다.

  • Supabase를 통한 토큰 관리는 여러 워크플로우에 동시에 사용되기 때문에 통합 관리가 결국 연결할 때 아주 효율적입니다.

⚠ 시행착오

  • 컨테이너 생성 후 ID를 제대로 넘기지 않으면 게시가 실패합니다 (creation_id missing 오류)

  • 토큰이 만료된 경우도 흔하므로 항상 최신 토큰을 가져오도록 자동화 구성 필요

🚀 다음 계획

  • GPT를 활용해 500자 요약 글 자동 생성 후 Threads에 연동

  • 텍스트로 만족할 순 없쥬???
    이미지 포스트나 멀티슬라이드 업로드 기능 확장해야겠죠?

참고 자료

👉 이 게시글도 읽어보세요