대상: ChatGPT / Notion을 같이 써서 “노트 + 자동화 + 요약/정리”를 한 번에 돌리고 싶은 개발자
환경 예시:
- Notion 워크스페이스 + Notion API Integration
- ChatGPT (Plus 이상: 커넥터 & Custom GPT 사용) (ChatGPT)
- 선택: Make.com(구 Integromat) 계정
1. 문제/주제 요약
하고 싶은 건 대략 이런 거죠:
- ChatGPT 안에서 바로 Notion DB 조회/검색/추가
- “회의록 DB에서 이번 달 회의만 찾아서 요약해줘”
- “할 일 DB에 새로운 태스크 하나 추가해줘”
- 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에는 두 가지 축이 있습니다:
- Connectors (커넥터)
- ChatGPT 설정에서 Notion 계정을 연결하면
- ChatGPT가 내 Notion 페이지/DB를 검색/조회할 수 있음 (ChatGPT)
- Plus / Pro / Business / Enterprise / Edu 플랜에서 사용 가능
- 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)
- Notion Integration 만들기
- 브라우저에서 https://www.notion.com/my-integrations 접속
- “New integration” → 이름 지정, 워크스페이스 선택
- Internal Integration Token을 발급받고 안전한 곳에 저장
- Integration에 DB 접근 권한 주기
- Notion에서 원하는 DB 또는 그 부모 페이지 열기
- 우측 상단 Share → 방금 만든 Integration 초대
- 이걸 안 하면 API에서 해당 DB를 볼 수 없음
- Database ID 확인
- DB 페이지 URL 예:
https://www.notion.so/workspace/My-DB-1234567890abcdef1234567890abcdef - 123456… 부분이 Database ID (공식 문서에도 설명) (Notion API)
- DB 페이지 URL 예:
이제 이 토큰과 DB ID를 Actions/Make에서 사용합니다.
3-2. 방법 A: ChatGPT 커넥터로 Notion DB 읽기 (간단, 무코드)
이 방법은 **“ChatGPT 채팅창에서 필요할 때 Notion 내용 찾아쓰는 용도”**에 좋습니다. 쓰기/업데이트는 아직 제한적이고, 읽기·검색 중심으로 생각하면 됩니다. (ChatGPT)
3-2-1. Notion 커넥터 연결
- ChatGPT 웹에서 (chatgpt.com)
- 좌측 하단 이름(프로필) 클릭 → Settings
- “Connectors” 또는 “Connected apps” 메뉴로 이동 (OpenAI Help Center)
- 목록에서 Notion 선택 → “Connect”
- 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 뼈대 만들기
- ChatGPT에서 Explore GPTs → Create (또는 https://chatgpt.com/gpts/editor) 접속 (OpenAI Help Center)
- Create 탭에서 GPT에게 설명:
- 예:
- “너는 나의 Notion 비서야. Notion 데이터베이스를 읽고/쓴다. 회의록 DB(회의 ID, 제목, 날짜, 요약, 태그)를 관리하고, 내가 말한 내용을 적절히 정리해서 row를 생성/업데이트 해줘.”
- 기본 역할/톤을 만들어두고, Configure 탭으로 이동
3-3-2. Action 추가 – Notion API 연결
- Configure 탭 → Actions → Add Action (OpenAI 요리책)
- “Import from URL” 또는 직접 스키마 입력 중 택1
- 쉬운 방법: 커뮤니티에서 제공하는 Notion OpenAPI 스펙 URL을 사용할 수 있음 (예: notion-openapi-chatgpt-action 같은 프로젝트) (GitHub)
- 직접 만들 경우, 다음과 같은 엔드포인트부터 시작하는 걸 추천:
- POST https://api.notion.com/v1/databases/{database_id}/query (DB 조회) (Notion API)
- POST https://api.notion.com/v1/pages (DB row 생성) (Notion API)
- Authentication 설정
- Auth 타입: API Key (Bearer)
- HTTP 헤더:
- Authorization: Bearer {NOTION_SECRET}
- Notion-Version: 2022-06-28 (또는 최신 버전) (Notion API)
- ChatGPT Actions 설정에서 이 키를 입력 (사용자에게는 키를 숨긴 채로 GPT가 호출)
- 예시: “회의록 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 내부 처리:
- 내가 작성한 설명을 바탕으로, 현재 DB 스키마를 얻기 위해 Retrieve database/Query 같은 액션 호출
- Notion DB 속성 이름에 맞춰 JSON payload 생성
- 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 연결
- Make.com 가입/로그인 후 새 Scenario 생성
- 첫 번째 모듈: Notion 선택
- 예: Watch Database Items 또는 Search Objects / List Data Source Items (새 데이터 감시) (Make)
- Notion 계정 OAuth 연결
- 두 번째 모듈: OpenAI (ChatGPT) 선택
- 예: Create a Chat Completion, Create a Completion 등 텍스트 생성 모듈 (Make)
- OpenAI API 키 입력
3-4-2. 플로우 구성 (모듈 체인 예시)
- 모듈 1 – Notion: Watch Database Items
- 대상 DB 선택 (회의록 DB)
- “새 아이템 또는 업데이트된 아이템”을 트리거로 설정
- 모듈 2 – OpenAI(ChatGPT): Create Chat Completion
- Prompt 텍스트에 Notion에서 받은 필드를 넣습니다.
- 예:
- 아래 회의록 내용을 한 문단 요약 + 주요 결정사항 bullet 3개로 정리해줘. 제목: {{1.Title}} 내용: {{1.Content}} 참가자: {{1.Attendees}}
- 모델: gpt-4.1 / gpt-4.1-mini 등 선택
- 모듈 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)
- Custom GPT에 Webhook 호출용 Action 하나 정의
- URL: Make의 Webhook 모듈에서 생성한 URL
- GPT가 POST { … 요청 데이터 … }를 보내도록 정의
- Make 시나리오:
- Trigger: Webhook
- Action1: Notion Create/Update Database Item
- 사용 예:
- ChatGPT에게 “이번 주 TODO를 회의록 DB 형태로 정리해서 Notion에 저장해줘”라고 말하면
- GPT가 Webhook Action 호출 → Make가 받은 데이터를 Notion DB에 반영
✅ 장점
- GUI 기반이라, 비개발자도 어느 정도 수정 가능
- ChatGPT 외에도 Slack, Gmail, Google Calendar 등과 한 번에 연결
- 복잡한 워크플로(조건분기, 반복, 집계 등) 구현 가능
⚠️ 주의
- Free 플랜에는 실행 수/속도 제한 있음
- 시나리오가 많아지면 관리/비용 이슈
- 중간에 어떤 데이터가 오가는지 로깅/보안 설계 필요
4. 추가 팁 / 자주 하는 실수
- Notion Integration 권한 안 주고 “왜 안 되지?”
- Integration을 만들어도, 각 DB/페이지에서 Share → Integration 초대를 안 하면 API 접근 불가. (Notion API)
- DB ID / Page ID 헷갈림
- 커넥터는 대화식이라 상관없지만, Actions/Make에서는 ID가 정확해야 한다.
- Notion 공식 문서의 “Retrieve database”/“Retrieve page” 부분을 꼭 참고. (Notion API)
- 토큰/키를 GPT 설명/프롬프트에 써버리는 실수
- API 키는 Actions의 Authentication 설정에만 넣기
- Instructions에 하드코딩하면, GPT 공유 시 그대로 노출될 수 있음. (OpenAI 요리책)
- Make 시나리오에서 무한 루프
- “Notion 업데이트 → 시나리오 트리거 → 다시 업데이트…”
- 필터 조건을 잘못 설정하면 루프가 생길 수 있으니,
- ex) 특정 속성이 비어있는 아이템만 처리, 처리 후 “processed=true” 플래그 세팅 등으로 제어. (Make Community)
- 권한/보안 규칙 정리 없이 사내 공유
- Business/Enterprise 환경이라면,
- 누가 어떤 GPT/Make 시나리오를 만들고, 어떤 Notion DB에 쓸 수 있는지
- 데이터 보관 기간/로그/접근 제어 정책을 미리 정해두는 게 좋음. (Notion API)
- Business/Enterprise 환경이라면,
5. 정리
- ChatGPT 커넥터로 Notion을 연결하면, 별도 코드 없이 ChatGPT 채팅 안에서 Notion 페이지/DB를 바로 검색·참조할 수 있습니다. (Plus 이상) (ChatGPT)
- 조금 더 개발자스럽게 쓰고 싶으면 Custom GPT + Actions + Notion API 조합으로, 특정 DB에 대한 읽기/쓰기 자동화 GPT를 만들 수 있습니다. (OpenAI 요리책)
- 워크플로 전체를 연결하고 싶다면 Make 같은 자동화 툴로
- Notion 이벤트 → ChatGPT 처리 → 다시 Notion/Slack/이메일로 흘리는 파이프라인을 구성할 수 있습니다.