elie222 / inbox-zero

Open source email app to reach inbox zero fast.
https://getinboxzero.com
GNU Affero General Public License v3.0
3k stars 298 forks source link

Support Third Party Integrations #228

Open elie222 opened 2 months ago

elie222 commented 2 months ago

Description

To enhance the functionality and user experience of Inbox Zero, we aim to implement support for various third-party integrations. This will allow users to seamlessly connect Inbox Zero with other productivity tools they use daily, creating a more comprehensive and efficient workflow.

Objectives

  1. Develop a framework for integrating third-party services
  2. Implement specific integrations for popular productivity tools
  3. Ensure a consistent and user-friendly experience across all integrations
  4. Enable the AI assistant to utilize these integrations in automated rules

Proposed Integrations

  1. Task Management Tools:
    • Notion
    • Todoist
  2. File Storage:
    • Google Drive
  3. Calendar Service:
    • Google Calendar

Implementation Strategy

Integration Usage with AI Assistant

The AI assistant will use integrations as follows:

  1. During rule creation, offer integration actions as options (e.g., "send receipts to Google Drive")
  2. When processing emails:
    • Step 1: Check if conditions are met (e.g., is it a receipt?)
    • Step 2: Execute the action using the appropriate integration (e.g., send to Google Drive)

The integration packages should provide:

General Guidelines for Contributors

Package Structure

packages/
  integrations/
    index.ts       # Exports common interfaces and types
    notion/
      package.json
      README.md
      src/
        index.ts   # Implements the common interface for Notion
    todoist/
      ...
    google-drive/
      ...
    google-calendar/
      ...

Next Steps

  1. Create the main integrations package with the common interface
  2. Develop the system for AI assistant to discover and use integrations
  3. Implement UI components for integration account management
  4. Begin implementation of individual integrations, starting with Google Drive
  5. Update the rule creation system to incorporate integration actions
  6. Design and implement the UI for managing integrations in the app settings

Please refer to the sub-issues for specific tasks related to each integration.

elie222 commented 1 month ago

Worth researching projects like: https://nango.dev There are a few of these around. Don't want to recreate the wheel here. And it can be a tonne of work to support endless integrations.

elie222 commented 1 month ago

There are a lot of others. Some mentioned here: https://www.reddit.com/r/ExperiencedDevs/comments/1c5jdvi/has_anyone_used_unified_api_solutions/