Skip to content

feat(integration): add Notion session export feature#259

Open
Aspirant200715 wants to merge 1 commit into
sahoo-tech:mainfrom
Aspirant200715:Notion-Page-review
Open

feat(integration): add Notion session export feature#259
Aspirant200715 wants to merge 1 commit into
sahoo-tech:mainfrom
Aspirant200715:Notion-Page-review

Conversation

@Aspirant200715
Copy link
Copy Markdown

Implements backend endpoint for syncing Execra sessions to Notion pages. Includes UI modal for export and updates README documentation.

🔗 Related Issue

Closes #70

Note: All PRs must be linked to an open issue. If there is no issue, create one first.


📝 Summary of Changes

This PR introduces a brand-new Notion integration allowing users to export their recorded Execra sessions directly to a Notion page.

  • Backend: Added the notion-client dependency. Created NotionExporter which formats actions into standard 100-row Notion table blocks to avoid rate-limits. Added a new endpoint POST /api/v1/session/export/notion.
  • Frontend: Integrated a new "Export to Notion" button in the SvelteKit dashboard under ADMIN_CONTROLS. Replaced generic browser alerts with a polished, custom success/error modal overlay containing the generated Notion page link.
  • Documentation: Added detailed Notion setup instructions to README.md and added a note directing users to read CONTRIBUTING.md.
  • Testing: Added robust unit/integration tests for both the exporter logic and the API endpoint.

🔍 Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📖 Documentation update
  • 🧪 Test addition or improvement
  • 🧹 Refactor / Code cleanup (no functional change)
  • ⚙️ Build / CI / Chore

🧪 How Was This Tested?

# Executed all backend tests to ensure the exporter and API routes work and handle edge cases
python -m pytest tests/api/test_session_api.py -v
python -m pytest tests/integrations/test_notion_exporter.py -v

# Built the SvelteKit frontend to guarantee zero compilation errors
cd dashboard && npm run build

Implements backend endpoint for syncing Execra sessions to Notion pages. Includes UI modal for export and updates README documentation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Notion Integration for Session Export

1 participant