Notion Task Inbox
Central inbox where any input (GitHub issue, chat mention, verbal idea, Obsidian note) lands as a task row. Triaged from one place.
Database
- Name: 📥 Task Inbox
- Database ID:
6f9d9ab2-1f95-445a-8382-2bd3e796f1b4
- Data source ID:
7e4181de-54bc-46da-b2da-a40b1adfa2b2
Schema
| Property |
Type |
Purpose |
| Name |
Title |
Task description |
| Source |
Select |
Options: github, chat, notion, obsidian, manual, cron, email |
| Priority |
Select |
Options: low, medium, high, urgent |
| Status |
Select |
Options: inbox, triaged, assigned, in-progress, done |
| Date |
Date |
Auto-stamped |
| Tags |
Multi-select |
Labels for grouping |
| Notes |
Rich text |
Context, links, attachments |
Create a Task
curl -s -X POST "https://api.notion.com/v1/pages" \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{
"parent": {"database_id": "6f9d9ab2-1f95-445a-8382-2bd3e796f1b4"},
"properties": {
"Name": {"title": [{"text": {"content": "Investigate Notion MCP setup for multi-agent access"}}]},
"Source": {"select": {"name": "manual"}},
"Priority": {"select": {"name": "medium"}},
"Status": {"select": {"name": "inbox"}},
"Date": {"date": {"start": "'$(date -u +%Y-%m-%d)'"}},
"Tags": {"multi_select": [{"name": "notion"}, {"name": "mcp"}]},
"Notes": {"rich_text": [{"text": {"content": "Set up Notion MCP server so Claude Code and Cursor can also access Notion workspace."}}]}
}
}' | jq .
Feeding the Inbox
Three paths:
- Manual — Create tasks via API during conversations (ideas, bug reports, feature requests)
- Cron poll — A cron job checks Obsidian inbox, GitHub issues, etc. and creates rows
- Webhook — Future: GitHub webhook → create task page
Triage Pattern
Query inbox items to see what needs attention:
curl -s -X POST "https://api.notion.com/v1/data_sources/7e4181de-54bc-46da-b2da-a40b1adfa2b2/query" \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{
"filter": {"property": "Status", "select": {"equals": "inbox"}},
"sorts": [{"property": "Priority", "direction": "descending"}]
}' | jq '.results[] | {name: .properties.Name.title[0].plain_text, priority: .properties.Priority.select.name, source: .properties.Source.select.name}'
Update Task Status
curl -s -X PATCH "https://api.notion.com/v1/pages/{page_id}" \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{
"properties": {
"Status": {"select": {"name": "in-progress"}}
}
}' | jq .
1---2name: notion-task-inbox3description: Manage the Notion Task Inbox — create tasks from GitHub, chat, Obsidian, and manual entry. Central triage point.4license: MIT5---6
7# Notion Task Inbox
8
9Central inbox where any input (GitHub issue, chat mention, verbal idea, Obsidian note) lands as a task row. Triaged from one place.
10
11## Database
12
13- **Name:** 📥 Task Inbox
14- **Database ID:** `6f9d9ab2-1f95-445a-8382-2bd3e796f1b4`
15- **Data source ID:** `7e4181de-54bc-46da-b2da-a40b1adfa2b2`
16
17## Schema
18
19| Property | Type | Purpose |
20|----------|------|---------|
21| Name | Title | Task description |
22| Source | Select | Options: github, chat, notion, obsidian, manual, cron, email |
23| Priority | Select | Options: low, medium, high, urgent |
24| Status | Select | Options: inbox, triaged, assigned, in-progress, done |
25| Date | Date | Auto-stamped |
26| Tags | Multi-select | Labels for grouping |
27| Notes | Rich text | Context, links, attachments |
28
29## Create a Task
30
31```bash
32curl -s -X POST "https://api.notion.com/v1/pages" \
33 -H "Authorization: Bearer $NOTION_API_KEY" \
34 -H "Notion-Version: 2025-09-03" \
35 -H "Content-Type: application/json" \
36 -d '{
37 "parent": {"database_id": "6f9d9ab2-1f95-445a-8382-2bd3e796f1b4"},
38 "properties": {
39 "Name": {"title": [{"text": {"content": "Investigate Notion MCP setup for multi-agent access"}}]},
40 "Source": {"select": {"name": "manual"}},
41 "Priority": {"select": {"name": "medium"}},
42 "Status": {"select": {"name": "inbox"}},
43 "Date": {"date": {"start": "'$(date -u +%Y-%m-%d)'"}},
44 "Tags": {"multi_select": [{"name": "notion"}, {"name": "mcp"}]},
45 "Notes": {"rich_text": [{"text": {"content": "Set up Notion MCP server so Claude Code and Cursor can also access Notion workspace."}}]}
46 }
47 }' | jq .
48```
49
50## Feeding the Inbox
51
52Three paths:
531. **Manual** — Create tasks via API during conversations (ideas, bug reports, feature requests)
542. **Cron poll** — A cron job checks Obsidian inbox, GitHub issues, etc. and creates rows
553. **Webhook** — Future: GitHub webhook → create task page
56
57## Triage Pattern
58
59Query inbox items to see what needs attention:
60
61```bash
62curl -s -X POST "https://api.notion.com/v1/data_sources/7e4181de-54bc-46da-b2da-a40b1adfa2b2/query" \
63 -H "Authorization: Bearer $NOTION_API_KEY" \
64 -H "Notion-Version: 2025-09-03" \
65 -H "Content-Type: application/json" \
66 -d '{
67 "filter": {"property": "Status", "select": {"equals": "inbox"}},
68 "sorts": [{"property": "Priority", "direction": "descending"}]
69 }' | jq '.results[] | {name: .properties.Name.title[0].plain_text, priority: .properties.Priority.select.name, source: .properties.Source.select.name}'
70```
71
72## Update Task Status
73
74```bash
75curl -s -X PATCH "https://api.notion.com/v1/pages/{page_id}" \
76 -H "Authorization: Bearer $NOTION_API_KEY" \
77 -H "Notion-Version: 2025-09-03" \
78 -H "Content-Type: application/json" \
79 -d '{
80 "properties": {
81 "Status": {"select": {"name": "in-progress"}}
82 }
83 }' | jq .
84```