ChatGPT + Notion 연동 방법 정리

대상: ChatGPT / Notion을 같이 써서 “노트 + 자동화 + 요약/정리”를 한 번에 돌리고 싶은 개발자
환경 예시:

  • Notion 워크스페이스 + Notion API Integration
  • ChatGPT (Plus 이상: 커넥터 & Custom GPT 사용) (ChatGPT)
  • 선택: Make.com(구 Integromat) 계정

1. 문제/주제 요약

하고 싶은 건 대략 이런 거죠:

  1. ChatGPT 안에서 바로 Notion DB 조회/검색/추가
    • “회의록 DB에서 이번 달 회의만 찾아서 요약해줘”
    • “할 일 DB에 새로운 태스크 하나 추가해줘”
  2. Make 같은 외부 자동화 툴로 ChatGPT ↔ Notion 연결
    • Notion에 새 페이지가 생기면 → ChatGPT로 요약 → 다시 Notion에 저장
    • Notion DB의 오래된 아이템들 → ChatGPT로 리포트 생성 → 이메일/Slack 발송

이 글에서는 (A) ChatGPT 내부에서 Notion DB를 직접 다루는 방법
(B) Make 시나리오로 ChatGPT–Notion을 자동화하는 방법을 단계별로 정리합니다.


2. 배경 / 개념 설명

2-1. 옵션 1: ChatGPT “커넥터 + Actions”로 Notion 직접 연결

지금 ChatGPT에는 두 가지 축이 있습니다:

  1. Connectors (커넥터)
    • ChatGPT 설정에서 Notion 계정을 연결하면
    • ChatGPT가 내 Notion 페이지/DB를 검색/조회할 수 있음 (ChatGPT)
    • Plus / Pro / Business / Enterprise / Edu 플랜에서 사용 가능
  2. Custom GPT + Actions
    • Custom GPT 안에 “Notion API 호출 액션”을 정의
    • ex) /v1/databases/{id}/query, /v1/pages 등을 직접 호출해서
      DB 조회/레코드 생성/업데이트 가능 (OpenAI 요리책)

Connectors는 “검색·읽기 중심”,
Actions는 “읽기 + 쓰기(업데이트/생성)까지 포함한 커스텀 자동화” 라고 보면 됩니다.

2-2. 옵션 2: Make.com 같은 외부 자동화 툴로 브릿지 만들기

Make는 “앱 A 이벤트 → 앱 B 작업”을 GUI로 이어붙이는 자동화 툴입니다. (Make)

  • Notion 모듈: DB 조회, 페이지 생성/업데이트, 데이터 소스 생성 등 지원 (Make)
  • OpenAI(ChatGPT) 모듈: 프롬프트 입력 → 응답 받아오기 (Chat Completion 등) (Make)

대표적인 플로우:

  • Trigger: “Notion DB에 새 아이템 생성됨”
  • Action1: 아이템 내용 → OpenAI(ChatGPT)로 보내서 요약/가공
  • Action2: 결과를 다시 Notion 아이템 속성/본문에 업데이트 (Make)

또는 반대로:

  • Webhook/Custom GPT Action → Make 시나리오 호출 → Notion 작업 수행 (Make Community)

3. 설정/연결 순서 (실전 튜토리얼)

3-1. 공통 전제: Notion API Integration 만들기

ChatGPT Actions / Make 모두 Notion API Integration을 써서 DB에 접근합니다. (Notion API)

  1. Notion Integration 만들기
    • 브라우저에서 https://www.notion.com/my-integrations 접속
    • “New integration” → 이름 지정, 워크스페이스 선택
    • Internal Integration Token을 발급받고 안전한 곳에 저장
  2. Integration에 DB 접근 권한 주기
    • Notion에서 원하는 DB 또는 그 부모 페이지 열기
    • 우측 상단 Share → 방금 만든 Integration 초대
    • 이걸 안 하면 API에서 해당 DB를 볼 수 없음
  3. Database ID 확인

이제 이 토큰과 DB ID를 Actions/Make에서 사용합니다.


3-2. 방법 A: ChatGPT 커넥터로 Notion DB 읽기 (간단, 무코드)

이 방법은 **“ChatGPT 채팅창에서 필요할 때 Notion 내용 찾아쓰는 용도”**에 좋습니다. 쓰기/업데이트는 아직 제한적이고, 읽기·검색 중심으로 생각하면 됩니다. (ChatGPT)

3-2-1. Notion 커넥터 연결

  1. ChatGPT 웹에서 (chatgpt.com)
    • 좌측 하단 이름(프로필) 클릭 → Settings
    • “Connectors” 또는 “Connected apps” 메뉴로 이동 (OpenAI Help Center)
  2. 목록에서 Notion 선택 → “Connect”
  3. Notion OAuth 창에서:
    • 사용할 워크스페이스 선택
    • ChatGPT가 접근해도 되는 범위를 확인 후 승인

연결이 끝나면, ChatGPT는 커넥터를 통해 Notion 콘텐츠를 검색 할 수 있습니다. (실제 UI에서는 “앱에서 검색” 토글이나, 왼쪽에 연동 앱 리스트가 보일 수 있습니다.)

3-2-2. 실제 사용 예시

연결 후, 대화창에서 이렇게 쓸 수 있습니다 (한글로 질문 가능):

  • “Notion에서 ‘회의록’이라는 데이터베이스를 찾아서, 지난 2주 동안의 회의만 요약해줘.”
  • “내 Notion 워크스페이스에서 ‘TODO’ 라는 단어가 들어간 페이지들을 찾아서 리스트업해줘.”

ChatGPT는 커넥터를 통해 Notion에서 관련 페이지/DB를 검색하고, 결과를 요약/정리해서 보여줍니다. (ChatGPT)

✅ 장점

  • 설정이 간단 (OAuth 한 번)
  • Plus 이상이면 바로 사용 가능
  • 임시로 Notion 내용 참고할 때 아주 편함

⚠️ 한계

  • “이 DB에 새 row 만들어줘”, “특정 속성 업데이트해줘” 같은 정교한 쓰기 작업은 Actions + API 쪽이 더 적합

3-3. 방법 B: Custom GPT + Notion API Actions로 읽기/쓰기 모두 하기

조금 더 개발자스럽게, Notion DB를 직접 읽고 쓰는 Custom GPT를 만들고 싶다면 Actions + Notion API 조합을 쓰는 게 좋습니다. (OpenAI 요리책)

3-3-1. Custom GPT 뼈대 만들기

  1. ChatGPT에서 Explore GPTs → Create (또는 https://chatgpt.com/gpts/editor) 접속 (OpenAI Help Center)
  2. Create 탭에서 GPT에게 설명:
    • 예:
    • “너는 나의 Notion 비서야. Notion 데이터베이스를 읽고/쓴다. 회의록 DB(회의 ID, 제목, 날짜, 요약, 태그)를 관리하고, 내가 말한 내용을 적절히 정리해서 row를 생성/업데이트 해줘.”
  3. 기본 역할/톤을 만들어두고, Configure 탭으로 이동

3-3-2. Action 추가 – Notion API 연결

  1. Configure 탭 → Actions → Add Action (OpenAI 요리책)
  2. “Import from URL” 또는 직접 스키마 입력 중 택1
  3. Authentication 설정
    • Auth 타입: API Key (Bearer)
    • HTTP 헤더:
      • Authorization: Bearer {NOTION_SECRET}
      • Notion-Version: 2022-06-28 (또는 최신 버전) (Notion API)
    • ChatGPT Actions 설정에서 이 키를 입력 (사용자에게는 키를 숨긴 채로 GPT가 호출)
  4. 예시: “회의록 DB 조회” 액션 정의(개념 형태)
# 아주 단순화한 예시 (실제 스펙은 더 많은 필드 포함)
paths:
  /v1/databases/{database_id}/query:
    post:
      operationId: queryDatabase
      parameters:
        - name: database_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filter:
                  type: object
                sorts:
                  type: array
      responses:
        "200":
          description: successful operation

이렇게 등록해두면, GPT는 queryDatabase 액션을 호출해서 Notion DB를 가져올 수 있습니다.

3-3-3. 실제 대화 예시 (개념)

  • 나:
  • “이번 주에 진행한 회의 요약해줘. 제목, 날짜, 참가자, 요약, 태그 필드 맞춰서 ‘회의록 DB’에 row로 추가해.”
  • GPT 내부 처리:
    1. 내가 작성한 설명을 바탕으로, 현재 DB 스키마를 얻기 위해 Retrieve database/Query 같은 액션 호출
    2. Notion DB 속성 이름에 맞춰 JSON payload 생성
    3. POST /v1/pages 액션으로 새 row 생성 (Notion API)
  • 결과: Notion 회의록 DB에 깔끔하게 정리된 row가 자동 추가

✅ 장점

  • 읽기 + 쓰기 모두 가능
  • 특정 DB 스키마에 맞춘 자동화된 입력/업데이트에 강함
  • Custom GPT 안에 “우리 팀 Notion 사용 규칙”까지 넣어 일관된 포맷 유지 가능

⚠️ 주의

  • Notion API 스키마를 어느 정도 이해해야 함
  • 액션 정의/테스트에 시간이 조금 들 수 있음
  • Notion 토큰/DB ID 보호 필수 (다른 사람과 공유되는 GPT에 노출 금지)

3-4. 방법 C: Make.com으로 ChatGPT–Notion 워크플로 자동화

이제 **외부 자동화 툴(Make)**를 이용해서, ChatGPT와 Notion을 연결하는 방법입니다. (Make)

대표 시나리오를 하나 잡아 볼게요:

시나리오
“Notion의 회의록 DB에 새 row가 생기면 → Make가 내용을 꺼내서 ChatGPT로 요약 → 다시 요약 결과를 해당 row의 요약 필드에 저장”

3-4-1. Make에서 Notion & OpenAI 연결

  1. Make.com 가입/로그인 후 새 Scenario 생성
  2. 첫 번째 모듈: Notion 선택
    • 예: Watch Database Items 또는 Search Objects / List Data Source Items (새 데이터 감시) (Make)
    • Notion 계정 OAuth 연결
  3. 두 번째 모듈: OpenAI (ChatGPT) 선택
    • 예: Create a Chat Completion, Create a Completion 등 텍스트 생성 모듈 (Make)
    • OpenAI API 키 입력

3-4-2. 플로우 구성 (모듈 체인 예시)

  1. 모듈 1 – Notion: Watch Database Items
    • 대상 DB 선택 (회의록 DB)
    • “새 아이템 또는 업데이트된 아이템”을 트리거로 설정
  2. 모듈 2 – OpenAI(ChatGPT): Create Chat Completion
    • Prompt 텍스트에 Notion에서 받은 필드를 넣습니다.
    • 예:
    • 아래 회의록 내용을 한 문단 요약 + 주요 결정사항 bullet 3개로 정리해줘. 제목: {{1.Title}} 내용: {{1.Content}} 참가자: {{1.Attendees}}
    • 모델: gpt-4.1 / gpt-4.1-mini 등 선택
  3. 모듈 3 – Notion: Update Database Item
    • 1번 모듈에서 받은 page_id 또는 item id 사용
    • 요약 속성에 2번 모듈의 응답 텍스트를 매핑 (Make)

이제 시나리오를 ON 하면:

  • 누군가 Notion 회의록 DB에 새 row를 작성
  • Make가 이를 감지 → ChatGPT로 요약 → 결과를 요약 필드에 자동 채움

3-4-3. 반대 방향: Custom GPT → Make → Notion

위의 흐름을 역방향으로도 쓸 수 있습니다. 예를 들어: (Make Community)

  1. Custom GPT에 Webhook 호출용 Action 하나 정의
    • URL: Make의 Webhook 모듈에서 생성한 URL
    • GPT가 POST { … 요청 데이터 … }를 보내도록 정의
  2. Make 시나리오:
    • Trigger: Webhook
    • Action1: Notion Create/Update Database Item
  3. 사용 예:
    • ChatGPT에게 “이번 주 TODO를 회의록 DB 형태로 정리해서 Notion에 저장해줘”라고 말하면
    • GPT가 Webhook Action 호출 → Make가 받은 데이터를 Notion DB에 반영

✅ 장점

  • GUI 기반이라, 비개발자도 어느 정도 수정 가능
  • ChatGPT 외에도 Slack, Gmail, Google Calendar 등과 한 번에 연결
  • 복잡한 워크플로(조건분기, 반복, 집계 등) 구현 가능

⚠️ 주의

  • Free 플랜에는 실행 수/속도 제한 있음
  • 시나리오가 많아지면 관리/비용 이슈
  • 중간에 어떤 데이터가 오가는지 로깅/보안 설계 필요

4. 추가 팁 / 자주 하는 실수

  1. Notion Integration 권한 안 주고 “왜 안 되지?”
    • Integration을 만들어도, 각 DB/페이지에서 Share → Integration 초대를 안 하면 API 접근 불가. (Notion API)
  2. DB ID / Page ID 헷갈림
    • 커넥터는 대화식이라 상관없지만, Actions/Make에서는 ID가 정확해야 한다.
    • Notion 공식 문서의 “Retrieve database”/“Retrieve page” 부분을 꼭 참고. (Notion API)
  3. 토큰/키를 GPT 설명/프롬프트에 써버리는 실수
    • API 키는 Actions의 Authentication 설정에만 넣기
    • Instructions에 하드코딩하면, GPT 공유 시 그대로 노출될 수 있음. (OpenAI 요리책)
  4. Make 시나리오에서 무한 루프
    • “Notion 업데이트 → 시나리오 트리거 → 다시 업데이트…”
    • 필터 조건을 잘못 설정하면 루프가 생길 수 있으니,
      • ex) 특정 속성이 비어있는 아이템만 처리, 처리 후 “processed=true” 플래그 세팅 등으로 제어. (Make Community)
  5. 권한/보안 규칙 정리 없이 사내 공유
    • Business/Enterprise 환경이라면,
      • 누가 어떤 GPT/Make 시나리오를 만들고, 어떤 Notion DB에 쓸 수 있는지
      • 데이터 보관 기간/로그/접근 제어 정책을 미리 정해두는 게 좋음. (Notion API)

5. 정리

  • ChatGPT 커넥터로 Notion을 연결하면, 별도 코드 없이 ChatGPT 채팅 안에서 Notion 페이지/DB를 바로 검색·참조할 수 있습니다. (Plus 이상) (ChatGPT)
  • 조금 더 개발자스럽게 쓰고 싶으면 Custom GPT + Actions + Notion API 조합으로, 특정 DB에 대한 읽기/쓰기 자동화 GPT를 만들 수 있습니다. (OpenAI 요리책)
  • 워크플로 전체를 연결하고 싶다면 Make 같은 자동화 툴로
    • Notion 이벤트 → ChatGPT 처리 → 다시 Notion/Slack/이메일로 흘리는 파이프라인을 구성할 수 있습니다.

댓글 남기기