Notion 툴킷은 에이전트와 워크플로우가 Notion 페이지와 데이터베이스와 상호작용할 수 있게 합니다. 콘텐츠 검색, 데이터베이스 레코드 쿼리 및 업데이트, 페이지 내용 읽기 및 추가, 새 페이지 생성을 지원합니다.
전제 조건
- Notion 계정 (무료 플랜으로 충분)
- Notion 워크스페이스 (모든 계정에 기본적으로 있음)
연결 만들기
- 워크플로우에서 Notion 툴킷 단계를 추가합니다.
- Notion과 연결을 클릭합니다.
- Notion 동의 화면에서 연결을 인증하고 접근 권한을 부여할 페이지와 데이터베이스를 선택합니다.
채팅에서 툴킷이 처음 호출될 때 OAuth를 통해 Notion 계정에 연결하라는 메시지가 표시됩니다.
툴킷은 연결과 명시적으로 공유된 페이지와 데이터베이스에만 접근할 수 있습니다. 콘텐츠를 공유하려면 Notion에서 페이지 또는 데이터베이스를 열고 ··· → 연결을 클릭한 다음 통합을 추가하세요. 동일한 워크스페이스에서 공유되지 않은 콘텐츠는 보이지 않습니다.
사용 가능한 도구
| 도구 | 설명 |
|---|
| Search | 모든 공유된 페이지와 데이터베이스를 제목으로 검색합니다 |
| List Databases | 연결이 접근할 수 있는 모든 데이터베이스를 반환합니다 |
| Get Database | 특정 데이터베이스의 스키마(열 이름 및 유형)를 반환합니다 |
| Query Database | 선택적 필터 및 정렬로 데이터베이스에서 레코드를 가져옵니다 |
| Get Page | 페이지 또는 데이터베이스 레코드의 속성 값과 메타데이터를 가져옵니다 |
| Create Page | 새 데이터베이스 레코드 또는 하위 페이지를 생성합니다 |
| Update Page | 기존 페이지의 속성을 업데이트하거나 보관합니다 |
| Get Page Content | 페이지의 본문 텍스트(콘텐츠 블록)를 읽습니다 |
| Append Content | 페이지 하단에 새 콘텐츠 블록을 추가합니다 |
모든 공유된 페이지와 데이터베이스를 검색하여 제목으로 일치 항목을 반환합니다.
핵심 입력:
| 입력 | 설명 |
|---|
| Query | 검색할 텍스트 |
| Filter Type | 선택적으로 page 또는 database로 제한합니다. 둘 다 검색하려면 비워 둡니다. |
| Page Size | 반환할 결과 수 (기본값: 10, 최대: 100) |
다운스트림 단계에서 결과 참조:
- 첫 번째 결과의 ID:
{{ step.output.results[0].id }}
데이터베이스 작업
List Databases
연결이 접근할 수 있는 모든 데이터베이스를 이름과 ID와 함께 반환합니다.
Get Database
특정 데이터베이스의 스키마 — 열 이름과 속성 유형을 반환합니다.
핵심 입력:
| 입력 | 설명 |
|---|
| Database ID | 데이터베이스의 ID — List Databases에서 또는 Notion URL에서: ?v= 앞의 세그먼트 |
Query Database
선택적 필터링 및 정렬로 데이터베이스에서 레코드를 가져옵니다.
필터 예시:
단일 필터 — Status가 “In Progress”인 레코드:
{
"property": "Status",
"select": { "equals": "In Progress" }
}
AND 로직이 포함된 결합 필터:
{
"and": [
{ "property": "Status", "select": { "equals": "In Progress" } },
{ "property": "Done", "checkbox": { "equals": false } }
]
}
정렬 — 최신순:
[
{ "property": "Created time", "direction": "descending" }
]
페이지 작업
Get Page
특정 페이지 또는 데이터베이스 레코드의 속성 값과 메타데이터를 가져옵니다.
Create Page
새 페이지를 생성합니다 — 데이터베이스 내 레코드(새 행) 또는 다른 페이지 아래의 하위 페이지로.
속성 형식 (필드 유형별):
// Select 필드
{ "Status": { "select": { "name": "To Do" } } }
// Date 필드
{ "Due Date": { "date": { "start": "2026-06-01" } } }
// Checkbox 필드
{ "Done": { "checkbox": false } }
// Number 필드
{ "Priority Score": { "number": 8 } }
// Rich text 필드
{ "Notes": { "rich_text": [{ "text": { "content": "검토 후 발송 필요." } }] } }
Update Page
기존 페이지의 속성을 업데이트하거나 보관합니다.
예시 — 태스크를 완료로 표시:
{
"Status": { "select": { "name": "Done" } },
"Done": { "checkbox": true },
"Completed On": { "date": { "start": "2026-05-26" } }
}
콘텐츠 작업
Get Page Content
Notion 페이지 내의 콘텐츠 블록 — 단락, 제목, 글머리 기호 목록 등을 가져옵니다.
Append Content
기존 Notion 페이지 하단에 새 콘텐츠 블록을 추가합니다.
문제 해결
| 증상 | 가능한 원인 | 해결 |
|---|
401 Unauthorized | 토큰이 폐기되었거나 없음 | OAuth 흐름을 통해 다시 인증 |
404 Not Found | 콘텐츠가 연결과 공유되지 않음 | ··· → 연결을 통해 페이지 공유 |
| 빈 검색 또는 쿼리 결과 | 연결과 공유된 것이 없음 | 적어도 하나의 페이지 또는 데이터베이스를 공유 |
| 속성 업데이트가 조용히 무시됨 | 속성 이름 대소문자 불일치 | Get Database를 사용하여 정확한 속성 이름 확인 — 대소문자 구분 |
oauth_not_configured 오류 | 클라이언트 ID/시크릿이 슈퍼 관리자에 저장되지 않음 | Notion OAuth 설정 참조 |