Skip to content

Ability Name: community/notion-quick-capture#188

Open
azazrashid wants to merge 7 commits intoopenhome-dev:devfrom
azazrashid:add-notion-quick-capture
Open

Ability Name: community/notion-quick-capture#188
azazrashid wants to merge 7 commits intoopenhome-dev:devfrom
azazrashid:add-notion-quick-capture

Conversation

@azazrashid
Copy link

Add notion-quick-capture community ability

Voice inbox for Notion: capture tasks and notes, search pages, read content, and query databases by voice via the Notion API.

Deliverables:

  • community/notion-quick-capture/main.py — ability logic (quick add to database, quick note to page, search, read page, query database; first-run setup with token validation and database discovery; handling for multi-data-source DBs and invalid tokens)
  • community/notion-quick-capture/config.json — unique_name and matching_hotwords for trigger registration
  • community/notion-quick-capture/init.py — package marker
  • community/notion-quick-capture/README.md — setup (integration creation, sharing with OpenHome), trigger words, example flows, API usage, limitations

Behavior:

  • Uses Notion API 2022-06-28; internal integration token (no OAuth).
  • Persists integration_token, databases (nickname + schema cache), notes_page_id in notion_capture_prefs.json (delete-then-write).
  • Validates token on startup; re-runs setup if invalid.
  • Skips/removes databases that use multiple data sources (unsupported).
  • Quick add/query fall back to title-only or no filter when schema fetch fails.
  • Exit words and resume_normal_flow() on all paths; editor_logging_handler only; no blocked imports.

Suggested Trigger Words
"notion",
"add to my tasks",
"new task",
"add a note",
"add to notion",
"notion note",
"search notion",
"find in notion",
"read from notion",
"notion tasks",
"what tasks",
"capture to notion"

Demo:
https://www.loom.com/share/8b19595010914807a8ec50da118bb8b5 https://www.loom.com/share/ce9d7c49a9a64556919c9684555323e8

Type

  • New community Ability
  • Improvement to existing Ability
  • Bug fix
  • Documentation update

Checklist

  • Files are in community/my-ability-name/
  • main.py follows SDK pattern (extends MatchingCapability, has register_capability + call)
  • README.md included with description, suggested triggers, and setup
  • resume_normal_flow() called on every exit path
  • No print() — using editor_logging_handler
  • No hardcoded API keys — using placeholders
  • No blocked imports (redis, connection_manager, user_config)
  • No asyncio.sleep() or asyncio.create_task() — using session_tasks
  • Error handling on all external calls
  • Tested in OpenHome Live Editor

Add notion-quick-capture community ability

Voice inbox for Notion: capture tasks and notes, search pages,
read content, and query databases by voice via the Notion API.

Deliverables:
- community/notion-quick-capture/main.py — ability logic (quick add
  to database, quick note to page, search, read page, query database;
  first-run setup with token validation and database discovery;
  handling for multi-data-source DBs and invalid tokens)
- community/notion-quick-capture/config.json — unique_name and
  matching_hotwords for trigger registration
- community/notion-quick-capture/__init__.py — package marker
- community/notion-quick-capture/README.md — setup (integration
  creation, sharing with OpenHome), trigger words, example flows,
  API usage, limitations

Behavior:
- Uses Notion API 2022-06-28; internal integration token (no OAuth).
- Persists integration_token, databases (nickname + schema cache),
  notes_page_id in notion_capture_prefs.json (delete-then-write).
- Validates token on startup; re-runs setup if invalid.
- Skips/removes databases that use multiple data sources (unsupported).
- Quick add/query fall back to title-only or no filter when schema
  fetch fails.
- Exit words and resume_normal_flow() on all paths; editor_logging_handler
  only; no blocked imports.

Suggested Trigger Words
        "notion",
        "add to my tasks",
        "new task",
        "add a note",
        "add to notion",
        "notion note",
        "search notion",
        "find in notion",
        "read from notion",
        "notion tasks",
        "what tasks",
        "capture to notion"

Demo:
https://www.loom.com/share/8b19595010914807a8ec50da118bb8b5
https://www.loom.com/share/ce9d7c49a9a64556919c9684555323e8
@azazrashid azazrashid requested a review from a team as a code owner March 4, 2026 13:08
@github-actions github-actions bot added the first-contribution First-time contributor label Mar 4, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 4, 2026

🔀 Branch Merge Check

PR direction: add-notion-quick-capturedev

Passedadd-notion-quick-capturedev is a valid merge direction

@github-actions
Copy link
Contributor

github-actions bot commented Mar 4, 2026

✅ Ability Validation Passed

📋 Validating: community/notion-quick-capture
  ✅ All checks passed!

@github-actions
Copy link
Contributor

github-actions bot commented Mar 4, 2026

✅ Community PR Path Check — Passed

All changed files are inside the community/ folder. Looks good!

@github-actions github-actions bot added the community-ability Community-contributed ability label Mar 4, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 4, 2026

🔍 Lint Results

__init__.py — Empty as expected

Files linted: community/notion-quick-capture/main.py

✅ Flake8 — Passed

✅ All checks passed!

Rizwan-095 and others added 2 commits March 5, 2026 09:31
@abubakar4360
Copy link
Contributor

I checked the setup on the link, and I did not get the ntn... token. Can you please check again if there are changes on Notion's site?

@azazrashid
Copy link
Author

@abubakar4360 I checked and it's there. You have to go to the notion.so/profile url and create an internal integration.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-ability Community-contributed ability first-contribution First-time contributor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants