{"id":26678463,"url":"https://github.com/telexintegrations/notion-updates","last_synced_at":"2025-09-03T13:14:41.692Z","repository":{"id":278539030,"uuid":"935904441","full_name":"telexintegrations/notion-updates","owner":"telexintegrations","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-21T15:45:40.000Z","size":404,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-29T19:58:42.858Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/telexintegrations.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-20T07:58:24.000Z","updated_at":"2025-02-21T15:45:43.000Z","dependencies_parsed_at":"2025-02-20T10:34:23.884Z","dependency_job_id":"2cb3e271-86a6-416b-8287-7640613a43da","html_url":"https://github.com/telexintegrations/notion-updates","commit_stats":null,"previous_names":["telexintegrations/notion-updates"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/telexintegrations/notion-updates","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telexintegrations%2Fnotion-updates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telexintegrations%2Fnotion-updates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telexintegrations%2Fnotion-updates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telexintegrations%2Fnotion-updates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/telexintegrations","download_url":"https://codeload.github.com/telexintegrations/notion-updates/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telexintegrations%2Fnotion-updates/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273448388,"owners_count":25107554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-26T05:15:52.991Z","updated_at":"2025-09-03T13:14:41.623Z","avatar_url":"https://github.com/telexintegrations.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# notion-updates\n\n## Description\n\nA Node.js application that monitors Notion tasks and sends webhook notifications for overdue or stuck items. This helps teams stay on top of their tasks by providing automated alerts when action is needed.\n\n## Features\n\n- Automated monitoring of Notion tasks\n- Webhook notifications for overdue tasks\n- Alerts for tasks that haven't moved status in configured time\n- Customizable notification settings\n- Easy integration with popular messaging platforms\n\n## Prerequisites\n\n- Node.js 16.x or higher\n- A Notion integration token\n- Webhook URL (Telex, or other platform)\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/telexintegrations/notion-updates.git\n   cd notion-updates\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Create a `.env` file in the root directory with your configuration:\n   ```\n   NOTION_TOKEN=your_notion_integration_token\n   WEBHOOK_URL=your_webhook_url\n   PORT=3000\n   ```\n\n## Usage\n\n1. Start the server:\n   ```bash\n   npm start\n   ```\n\n2. The application will:\n   - Monitor your Notion tasks at configured intervals\n   - Send notifications when tasks become overdue\n   - Alert you when tasks are stuck in the same status\n\n## Configuration\n\nCustomize the application behavior by modifying `config.js`:\n- Notification frequency\n- Task status definitions\n- Overdue thresholds\n- Webhook message format\n\n## Contributing\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n\n## Support\n\nIf you encounter any problems or have suggestions, please [open an issue](https://github.com/Khaybee/telex-notion-integration/issues).\n\n## Testing\n\n### Local Development\n1. Run the development server with hot-reload:\n   ```bash\n   npm run dev\n   ```\n\n### Testing\n1. Run the test suite:\n   ```bash\n   npm test\n   ```\n\nThe test suite uses Jest and includes tests for:\n- Task monitoring and status updates\n- Due date calculations\n- Webhook notification formatting\n- Error handling and retries\n\n### Manual Testing Steps\n\n1. Start the application:\n   ```bash\n   npm start\n   ```\n\n2. Test the integration:\n   - Create a test task in Notion\n   - Set a due date to today\n   - Wait for the configured check interval\n   - Verify that you receive a notification in your configured webhook\n\n### Example Workflow\n\n1. Task Creation:\n   - Create a task in Notion\n   - Assign it to a team member\n   - Set a due date\n\n2. Status Changes:\n   - Move task between status columns\n   - Observe webhook notifications\n   - Verify timing of alerts\n\n3. Overdue Scenarios:\n   - Let a task pass its due date\n   - Confirm overdue notification\n   - Test different priority levels\n\n## Integration Preview\n\n![Telex Notification Example](docs/images/telex-notification.png)\n*Example of an overdue task notification in Telex*\n\n![Status Update - Email Overdue Task Alert](docs/images/status-update-overdue-alert.png)\n![Status Update - Email Stuck Task Alert](docs/images/status-update-stuck-alert.png) \n*Task status monitoring alert*\n\n## Deployment\n\n1. Build the application:\n   ```bash\n   npm run build\n   ```\n\n2. Start the production server:\n   ```bash\n   npm start\n   ```\n\n3. Configure environment variables on your production server:\n   - Set `NODE_ENV=production`\n   - Configure secure credentials\n   - Set up logging\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelexintegrations%2Fnotion-updates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftelexintegrations%2Fnotion-updates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelexintegrations%2Fnotion-updates/lists"}