59c4510055
This release adds three new agent templates to the library, bringing the total to four. New templates: - PM Discovery Agent: synthesises customer interviews from Notion or Google Drive, identifies cross-interview themes, scores assumption confidence, generates follow-up questions - PM Stakeholder Comms Agent: detects audience type (executive/investor/stakeholder/board), pulls activity from Linear/Jira/Drive, drafts in audience-appropriate format - PM Launch Agent: end-to-end launch coordination with channel-specific content, calendar, success metrics, and launch checklist Each template follows the established pattern: README, AGENT.md, orchestrate.sh, 2 subagents, connectors with example configs, examples, smoke test. Total file count: 37 new files across 3 templates. Updated README to position library as 4-template collection. Bumped marketplace.json from v8.0.0 to v9.0.0.
85 lines
3.7 KiB
JSON
85 lines
3.7 KiB
JSON
{
|
|
"connector_name": "notion",
|
|
"version": "1.0.0",
|
|
"description": "Notion connector for the PM Discovery Agent. Reads interview notes from a Notion database where each interview is a database row.",
|
|
|
|
"configuration": {
|
|
"database_id": "DATABASE_ID_HERE",
|
|
"workspace_url": "https://www.notion.so/your-workspace",
|
|
"expected_properties": {
|
|
"title_property": "Name",
|
|
"date_property": "Interview Date",
|
|
"interviewee_property": "Interviewee",
|
|
"segment_property": "Segment",
|
|
"status_property": "Status",
|
|
"tags_property": "Tags"
|
|
},
|
|
"default_filters": {
|
|
"status_is": "Completed",
|
|
"exclude_archived": true
|
|
},
|
|
"default_sort": {
|
|
"property": "Interview Date",
|
|
"direction": "descending"
|
|
},
|
|
"rate_limit_requests_per_second": 3
|
|
},
|
|
|
|
"credentials": {
|
|
"_comment": "Notion uses an integration token. Create one at https://www.notion.so/my-integrations and share your database with it.",
|
|
"integration_token_env_var": "NOTION_INTEGRATION_TOKEN",
|
|
"integration_token_placeholder": "secret_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
},
|
|
|
|
"available_operations": [
|
|
{
|
|
"name": "list_recent_interviews",
|
|
"description": "Get the N most recent interviews from the configured database",
|
|
"filters": ["segment", "tags", "date_range", "status"],
|
|
"max_results": 50
|
|
},
|
|
{
|
|
"name": "get_interview_content",
|
|
"description": "Fetch the full page content of a specific interview (notes, transcript, observations)",
|
|
"required_input": "page_id"
|
|
},
|
|
{
|
|
"name": "search_interviews",
|
|
"description": "Search interview content by keyword",
|
|
"required_input": "search_query"
|
|
}
|
|
],
|
|
|
|
"permissions_required": [
|
|
"Read content",
|
|
"Read user information without email"
|
|
],
|
|
|
|
"_setup_instructions": [
|
|
"1. Create a Notion integration at https://www.notion.so/my-integrations",
|
|
"2. Click '+ New integration', name it 'PM Discovery Agent', leave defaults",
|
|
"3. After creation, copy the Internal Integration Token (starts with 'secret_')",
|
|
"4. Set the environment variable: export NOTION_INTEGRATION_TOKEN='secret_xxxxx...'",
|
|
"5. Open your interview notes database in Notion",
|
|
"6. Click '...' menu in top right > 'Add connections' > select your new integration",
|
|
"7. Find your database ID: it's the long string in the URL when viewing the database (after the workspace name and before the '?'). Example: notion.so/workspace/abc123def456 — abc123def456 is the ID",
|
|
"8. Update database_id in this file",
|
|
"9. Update expected_properties to match your actual property names (the agent expects fields named Name, Interview Date, Interviewee, Segment, Status, Tags — adjust if yours are different)",
|
|
"10. Save this file as 'notion.json' (without the .example)",
|
|
"11. Test the connection: bash orchestrate.sh --research-question 'Test' --interview-source notion --dry-run"
|
|
],
|
|
|
|
"_notion_database_setup_recommendation": [
|
|
"If you don't have a Notion database for interviews yet, create one with these properties:",
|
|
"- Name (title) — interview identifier or interviewee name",
|
|
"- Interview Date (date) — when the interview happened",
|
|
"- Interviewee (text) — who was interviewed",
|
|
"- Segment (select) — which user segment they belong to",
|
|
"- Status (select) — Scheduled / Completed / Cancelled",
|
|
"- Tags (multi-select) — research project, persona, or feature area",
|
|
"Then write your interview notes in the page body."
|
|
],
|
|
|
|
"_rate_limit_notes": "Notion's API is rate limited to 3 requests per second per integration. The agent typically uses 10-25 API calls per discovery synthesis (depending on interview count), well within rate limits."
|
|
}
|