ⓒ 2025 AI교육연구회 withseok. All rights reserved. (위드석)
[블로그 글 내용 상업적 이용금지] 위드석홈 | 위드석개발 | AI교육연구회

ChatGPT와 Notion 직접 연결하기 완벽 가이드

최근 ChatGPT가 Notion과

공식적으로 연결(Integration) 기능을 지원하면서,

아이디어 정리, 회의록 요약,

작업 자동화 등 다양한 워크플로우를

훨씬 쉽게 구현할 수 있게 되었습니다.

 

이 글에서는

ChatGPT ↔ Notion 직접 연결 방법

공식 커넥터 방식

Notion API 직접 연동

두 가지로 나누어 친절하게 설명드리겠습니다.


1. ChatGPT 공식 Notion 커넥터 사용하기

이 방식은

프로그래밍 없이 바로 연결할 수 있으며,

ChatGPT Plus/팀/엔터프라이즈 사용자라면

바로 이용 가능합니다.

1.1 연결 절차

  1. ChatGPT에서 설정 열기
    좌측 하단 ⚙ Settings연결(Connections) 메뉴 진입
  2. Notion 커넥터 추가
    Notion 항목에서 Connect 클릭 → Notion 계정 로그인 → ChatGPT 접근 요청 허용(Allow)
  3. Notion에서 권한 부여
    Notion 웹/앱에서 연결된 통합(Integration) 확인 → ChatGPT/OpenAI 항목 클릭 → 사용할 페이지나 데이터베이스에서 Share → Integration 초대 → 읽기 또는 편집 권한 부여
  4. 연결 확인
    ChatGPT 설정에서 Notion이 Connected로 표시되면 준비 완료

이제 ChatGPT 대화창에서

Notion에서 ○○ 페이지 불러와

같이 명령을 입력하면,

권한이 부여된 페이지나

데이터베이스를

바로 읽고 쓸 수 있습니다.


2. Notion API + ChatGPT API 직접 연동

이 방식은

개발자나 고급 자동화가

필요한 경우 유용합니다.

원하는 기능을 자유롭게 구현할 수 있습니다.

 

2.1 준비물

2.2 Python 예시 코드


import requests
import openai

# Notion API 키 & 데이터베이스 ID
NOTION_TOKEN = "your_notion_secret"
DATABASE_ID = "your_database_id"

# OpenAI API 키
openai.api_key = "your_openai_api_key"

# Notion 데이터 가져오기
url = f"https://api.notion.com/v1/databases/{DATABASE_ID}/query"
headers = {
    "Authorization": f"Bearer {NOTION_TOKEN}",
    "Notion-Version": "2022-06-28"
}
res = requests.post(url, headers=headers)
data = res.json()

# ChatGPT에 내용 전달
prompt = f"이 노션 데이터로 목차를 만들어줘:\n{data}"
resp = openai.ChatCompletion.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": prompt}]
)

print(resp.choices[0].message["content"])

이 방식은

완전한 커스터마이징이 가능하며,

Notion과 ChatGPT를 이용한

자동 보고서 생성, 데이터 분석,

일정 관리 등

다양한 자동화를 구현할 수 있습니다.


3. 공식 커넥터 vs API 연동 비교

방식 장점 단점
공식 커넥터 코딩 불필요, 실시간 명령 가능 권한 범위 제한, 플러스/팀 이상 필요
API 직접 연동 기능 자유 구현, 강력한 자동화 API 키 발급과 코딩 필요

 

DATABASE_ID는 이메일이 아닙니다

DATABASE_ID

노션 데이터베이스의 고유 식별자입니다.

계정 이메일(ID)과는 전혀 관계가 없습니다.

API로 데이터베이스를 조회하거나 쓰려면

이 식별자가 꼭 필요합니다.

DATABASE_ID 빠르게 이해하기

  • 대상: 노션의 데이터베이스(표 형태 페이지)
  • 형태: 영문/숫자 조합의 긴 문자열
  • 용도: Notion API에서 어떤 DB를 읽고/쓰는지 지정

DATABASE_ID 찾는 방법 (URL에서 복사)

  1. 웹 브라우저에서 해당 데이터베이스를 엽니다.
  2. 주소표시줄(URL)을 확인합니다.
  3. 다음 예시처럼, URL 중간의 긴 문자열이 바로 DATABASE_ID입니다.

예시 1 (쿼리 파라미터 포함)

https://www.notion.so/workspace-name/abcd1234efgh5678ijkl9012mnop3456?v=XXXXXXXX
    

→ 이 중 abcd1234efgh5678ijkl9012mnop3456 부분이 DATABASE_ID.

예시 2 (제목과 섞여 보이는 형태)

https://www.notion.so/My-Database-12345678abcd1234efgh5678ijkl9012
    

→ 끝의 12345678abcd1234efgh5678ijkl9012DATABASE_ID.

하이픈(-) 처리 팁

일부 URL에서는 식별자에 -(하이픈)가 섞여 보일 수 있습니다.

많은 API 클라이언트/예제에서

하이픈을 제거한 형태를 사용하므로,

오류가 나면 하이픈을 빼고 시도해 보세요.

 

자주 묻는 질문(FAQ)

Q1. 페이지 ID와 데이터베이스 ID는 다른가요?
A. 네. 일반 페이지(Page)도 ID가 있지만, 표 형태의 데이터베이스(DB) ID와는 별개입니다. DB를 API로 다루려면 데이터베이스 ID가 필요합니다.

Q2. 데이터베이스가 아니라 단일 페이지 내용만 다루고 싶어요.
A. 페이지 본문 읽기/쓰기라면 페이지 ID를 사용합니다. 하지만 To‑Do/컨텐츠를 구조화해서 목록으로 다룰 거라면 데이터베이스를 만드는 편이 좋습니다.

Q3. 권한 오류(unauthorized)가 떠요.
A. 노션에서 해당 DB/페이지의 Share 메뉴로 들어가 ChatGPT/OpenAI Integration을 초대하고, 읽기 또는 편집 권한을 부여했는지 확인하세요.

Q4. 내 워크스페이스 전체가 자동으로 보이나요?
A. 아니요. 보안상 기본은 선택 공유입니다. 사용하려는 DB/페이지를 명시적으로 Integration에 공유해 주세요.

코드 예시(갱신)

아래처럼 DATABASE_ID에는

이메일이 아니라 URL에서 복사한 식별자를 넣습니다.

import requests

NOTION_TOKEN = "your_notion_secret"
DATABASE_ID  = "abcd1234efgh5678ijkl9012mnop3456"  # ← URL에서 복사한 식별자

url = f"https://api.notion.com/v1/databases/{DATABASE_ID}/query"
headers = {
    "Authorization": f"Bearer {NOTION_TOKEN}",
    "Notion-Version": "2022-06-28"
}
res = requests.post(url, headers=headers)
print(res.status_code, res.json().get("object"))
체크리스트
  • DB URL에서 DATABASE_ID 정확히 복사했는가?
  • 하이픈(-) 제거가 필요한지 확인했는가?
  • 노션에서 Integration에 해당 DB를 공유했는가?
  • Notion-Version 헤더를 넣었는가?

ChatGPT API key

 

ⓒ 2025 AI교육연구회 withseok. All rights reserved. (위드석)

상업적 이용금지

위드석 | AI교육연구회

320x100

+ Recent posts