Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Third Party Integrations #228

Open
elie222 opened this issue Sep 19, 2024 · 2 comments
Open

Support Third Party Integrations #228

elie222 opened this issue Sep 19, 2024 · 2 comments

Comments

@elie222
Copy link
Owner

elie222 commented Sep 19, 2024

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

  • Create a main integrations package that defines common interfaces and types for all integrations
  • Each specific integration will be developed as a separate package implementing the common interface
  • Develop a system for the AI assistant to discover and utilize available integrations
  • Implement UI components for users to connect and manage their integration accounts
  • Update the rule creation system to incorporate actions from integrations

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:

  • Methods for the AI to check availability and capabilities
  • Core logic for executing actions (e.g., uploading files to Google Drive)
  • Authentication and connection management

General Guidelines for Contributors

  • Look at cal.com's integration system for inspiration on structuring the integration packages
  • Implement integrations following the common interface defined in the main integrations package
  • Create a new package for each integration in the packages/integrations/ directory
  • Follow the naming convention: packages/integrations/[service-name] (e.g., packages/integrations/notion)
  • Ensure each package has its own package.json, README.md, and appropriate TypeScript configuration
  • Provide clear documentation for each integration package

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
Copy link
Owner Author

elie222 commented Oct 2, 2024

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
Copy link
Owner Author

elie222 commented Oct 2, 2024

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

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

No branches or pull requests

1 participant