Ability Name: community/notion-quick-capture#188
Ability Name: community/notion-quick-capture#188Rizwan-095 merged 11 commits intoopenhome-dev:devfrom
Conversation
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
🔀 Branch Merge CheckPR direction: ✅ Passed — |
✅ Ability Validation Passed |
✅ Community PR Path Check — PassedAll changed files are inside the |
🔍 Lint Results✅
|
Signed-off-by: Abubakar Abbasi <abubakarabbasi541@gmail.com>
|
I checked the setup on the link, and I did not get the |
|
@abubakar4360 I checked and it's there. You have to go to the notion.so/profile url and create an internal integration. |
|
Hello @azazrashid, I checked the demo, great work on the notion ability. The schema caching design is smart — fetching and storing Notion property types once and reusing them across the session keeps the LLM property-mapping prompt accurate without hammering the API on every command. A few things to fix before this can go through:
|
uzair401
left a comment
There was a problem hiding this comment.
Hi @azazrashid, Please address the issues highlighted by @abubakar4360, and then we will proceed further.
Updated various phrases and adjusted maximum spoken items. Signed-off-by: Uzair Ullah <uzairullahmail@gmail.com>
|
Hello @azazrashid, I’ve implemented the changes requested by @abubakar4360. Please use this approach for building abilities in the future. |
uzair401
left a comment
There was a problem hiding this comment.
Approved for community.
We will proceed with adopting this ability for a 30-day evaluation period to monitor performance, identify any bugs, and implement any necessary fixes or optimizations. If the ability proves stable and meets our quality standards during this period, we will move forward with publishing it to the marketplace, ensuring full credit is given to the original author for their work and contribution.
We truly appreciate your effort and encourage you to continue developing and submitting new abilities. Contributions like yours help strengthen the ecosystem, and we look forward to seeing more of your work.

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:
Behavior:
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
Checklist
community/my-ability-name/main.pyfollows SDK pattern (extendsMatchingCapability, hasregister_capability+call)README.mdincluded with description, suggested triggers, and setupresume_normal_flow()called on every exit pathprint()— usingeditor_logging_handlerredis,connection_manager,user_config)asyncio.sleep()orasyncio.create_task()— usingsession_tasks