Save tweets from X (Twitter) directly to your Notion database with AI-powered categorization and summarization.
- ๐ Individual Save Buttons - Save button on each post for precise control
- ๐ค AI-Powered Processing - Automatic summarization and categorization using GPT-5 nano
- ๐ท๏ธ Smart Titles - Generates concise 3-5 word titles instead of long sentences
- ๐ Dynamic Categories - Syncs categories directly from your Notion database
- โก Real-time Feedback - Visual indicators for save status
- ๐ Batch Support - Save multiple posts quickly
- ๐พ Works Offline - Posts saved even if AI processing fails
- Google Chrome browser
- Notion account with an integration token
- OpenAI API key (optional, for AI features)
git clone https://github.com/yourusername/NotionHook.git
cd NotionHookNote: No build process or npm install required! The extension is ready to use immediately.
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (toggle in top right)
- Click Load unpacked
- Select the
x-to-notion-extensionfolder from the cloned repository
- Go to Notion Integrations
- Click New integration
- Name it (e.g., "X to Notion")
- Select your workspace
- Click Submit
- Copy the Internal Integration Token
- Click the extension icon and go to Options
- Paste your Notion integration token
- Choose Create New Database
- Provide a parent page URL where the database should be created
- Click Create Database
- Open your existing Notion database
- Click Share โ Invite โ Search for your integration name
- Copy the database URL
- In extension Options, choose Use Existing Database
- Paste the database URL
- Get an API key from OpenAI Platform
- In extension Options, toggle Enable AI Processing
- Enter your OpenAI API key
- Click Save Settings
The extension will automatically create or use these properties:
- Title (title) - Concise post title
- Tweet Text (rich_text) - Full post content
- Username (rich_text) - Author's display name
- Handle (rich_text) - Author's @handle
- Tweet URL (url) - Link to original post
- Tweeted At (date) - Post timestamp
- Saved At (date) - When you saved it
- AI Summary (rich_text) - 2-3 sentence summary
- Category (select) - Automatic categorization
- Keywords (multi_select) - Extracted topics
- Sentiment (select) - Positive/Negative/Neutral
- AI Processed (checkbox) - Whether AI was used
- Navigate to X.com (Twitter)
- Look for the Save button in each post's action bar
- Click Save to send the post to your Notion database
- Button changes to Saved when successful
- In Notion: Add/edit options in the "Category" select field
- In Extension: Click "Sync from Notion" in Options to update
- AI will only use categories that exist in your database
The extension uses:
- GPT-5 nano for fast, efficient processing
- Minimal reasoning for quick responses
- Smart title generation (3-5 words)
- Your custom categories from Notion
| Setting | Description | Required |
|---|---|---|
| Notion Token | Your integration token | โ Yes |
| Database ID | Target database for posts | โ Yes |
| OpenAI API Key | For AI features | โ Optional |
| AI Processing | Toggle AI features on/off | โ Optional |
| Categories | Managed in Notion database | โ Optional |
NotionHook/
โโโ x-to-notion-extension/
โ โโโ manifest.json # Extension configuration
โ โโโ background/
โ โ โโโ service-worker.js # Main extension logic
โ โ โโโ openai-service.js # AI integration
โ โโโ content/
โ โ โโโ x-scraper.js # X.com integration
โ โโโ options/ # Settings page
โ โโโ popup/ # Extension popup
โ โโโ icons/ # Extension icons
โโโ README.md
This extension is completely self-contained:
- โ No npm install needed - All code is vanilla JavaScript
- โ No build process - Works directly in Chrome
- โ No webpack/bundling - OpenAI integration is built-in
- โ Ready to use - Just load in Chrome and go!
- Direct API integration - Uses Notion and OpenAI APIs directly
- Smart caching - Reduces API calls and improves performance
- Error resilience - Graceful degradation when services fail
- Vanilla JavaScript - No framework dependencies
- Reload the extension in
chrome://extensions/ - Refresh the X.com page (F5)
- Check the browser console for errors (F12 โ Console)
- Verify your Notion token is correct
- Ensure database is shared with integration
- Check if database has required properties
- Try disabling AI features temporarily
- Verify OpenAI API key is valid
- Check you have API credits available
- Ensure "Enable AI Processing" is checked
- Categories must exist in Notion database
- Ensure your database has a "Category" select field
- Add options to the Category field in Notion
- Click "Sync from Notion" in Options
- Check console for sync errors
MIT License - feel free to use and modify!
Contributions are welcome! Please feel free to submit a Pull Request.
If you encounter any issues or have questions:
- Open an issue on GitHub
- Check existing issues for solutions
- Include console logs when reporting bugs
- Built with Chrome Extensions Manifest V3
- Powered by Notion API
- AI features using OpenAI GPT-5 nano
- Inspired by the need for better tweet organization
Note: This extension is not affiliated with X (Twitter), Notion, or OpenAI. It's an independent tool to improve your workflow.