Skip to content

plugin(connectors): Google Drive data source connector #9003

Closed

Description

@mrveiss

Summary

Allow users to connect a Google Drive account as a knowledge base data source. Files in selected folders or shared drives are automatically indexed into a KB collection.

What Users Want

  • OAuth2 'Connect Google Drive' flow in KB settings
  • Select specific folders or shared drives to index
  • File types: Google Docs (exported as text), Sheets, PDFs, DOCX, MD
  • Incremental sync: only re-index changed files
  • Disconnect and re-sync controls

AutoBot Fit

AutoBot's connector framework (autobot-backend/connectors/) already has base.py, registry.py, and scheduler.py in place. This is a new google_drive_connector.py following the same pattern as notion.py. OAuth2 tokens stored in the secrets system. Plugin installable from MarketplaceView.vue.

Acceptance Criteria

  • OAuth2 connect/disconnect flow in KB settings UI
  • Folder/drive picker after authentication
  • Initial full index completes within reasonable time for typical workspace
  • Incremental sync picks up changes within 15 minutes
  • KB collection tagged with source drive/folder metadata

Activity

  1. self-assigned this
    on Jun 4, 2026
  2. mrveiss commented on Jun 13, 2026

    @mrveiss
    OwnerAuthor

    Gate #9019 OAuth plumbing landed (PR #10087) — build on it instead of rolling your own:

    • knowledge/connectors/oauth_flow.py — provider registry (Google/Microsoft/GitLab), PKCE, authorize URL, code exchange, refresh.
    • ConnectorCredentialStore.get_access_token(secret_id, owner_id) — returns a valid access token, auto-refreshing + rotating the stored secret. Call this at sync time instead of holding a static token.
    • Endpoints POST/GET /knowledge_base/connectors/oauth/{provider}/authorize|callback already store tokens via the secrets API and return a secret_id.
    • Frontend ConnectorOAuthButton.vue (+ KnowledgeRepository.startConnectorOAuth) — drop into this connector's config step; emits connected with the secret_id to attach on create.

    To enable a provider, set its AUTOBOT_<PROVIDER>_OAUTH_CLIENT_ID/SECRET. Surfacing this connector type in the create wizard (ConnectorType union + backend _SUPPORTED_TYPES + per-type form) is this issue's scope.

  3. mrveiss commented on Jun 17, 2026

    @mrveiss
    OwnerAuthor

    Closed — merged to Dev_new_gui via PR #10265. Google Drive is now creatable end-to-end: added to the create-API allowlist + frontend ConnectorType; ConnectorConfigModal gdrive form with the reusable OAuth Connect button (provider "google") that obtains+stores a token bundle and attaches it by secret_id; sync resolves a live access token via get_access_token (auto-refresh, ADR-007 §10). 43 backend + 8 frontend tests; i18n backfilled across all 10 locales. Criteria met: OAuth connect, mydrive/shared, incremental sync (existing), file-type extraction (existing).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions