Skip to content

feat: Add SeaTable as native data source plugin #41627

@christophdb

Description

@christophdb

Summary

Add SeaTable as a native data source plugin for Appsmith. SeaTable is an open-source database platform (spreadsheet-database hybrid) with a REST API, similar to Airtable.

Why SeaTable?

  • Open source and self-hostable — fits well with Appsmith's philosophy
  • REST API with token-based authentication
  • SQL query support
  • Growing user base, especially in Europe
  • Currently no Appsmith plugin exists for SeaTable, Baserow, or NocoDB — SeaTable would be the first open-source Airtable alternative with native Appsmith support

Proposed Features

Command Method Endpoint
List Rows GET /api/v2/dtables/{uuid}/rows/
Get Row GET /api/v2/dtables/{uuid}/rows/{row_id}/
Create Row POST /api/v2/dtables/{uuid}/rows/
Update Row PUT /api/v2/dtables/{uuid}/rows/
Delete Row DELETE /api/v2/dtables/{uuid}/rows/
List Tables (Metadata) GET /api/v2/dtables/{uuid}/metadata/
SQL Query POST /api/v2/dtables/{uuid}/sql/

Authentication

SeaTable uses a two-step auth flow:

  1. Exchange an API Token for a Base Access Token via GET /api/v2.1/dtable/app-access-token/
  2. Use the Access Token for all subsequent API calls

Implementation

A complete implementation is ready at seatable/appsmith-connector, including:

  • Native Java plugin (PluginExecutor<Void>, stateless HTTP via WebClient)
  • UQI editor forms (like Firestore plugin)
  • Schema discovery via getStructure()
  • Unit tests with MockWebServer
  • Database migration (ChangeSet)

All API endpoints have been verified against the SeaTable OpenAPI specification and tested against a live SeaTable instance.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions