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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions