Skip to content

Add SeaTable app integration #188

@nickmazurenko

Description

@nickmazurenko

Summary

Add SeaTable app integration with record-based CRUD operations, SQL query action, and new row trigger.

Features

  • Record-based operations: Search, create, update, delete records
  • SQL query action: Execute SQL queries against SeaTable bases
  • New row trigger: Poll for new rows in a table
  • Two-step authentication: API Token → Base Token exchange with automatic caching and refresh
  • Self-hosted support: Configurable server URL

Implementation Details

  • Client extends QoreApiClient with SeaTable-specific configuration
  • Base Token caching with 5-minute refresh buffer (tokens valid for 3 days)
  • SQL-based filtering for search operations using WHERE clause building
  • Offset-based pagination with start/limit parameters

Files Added

  • src/apps/seatable/ - App implementation
    • client.ts - SeaTable API client with Base Token caching
    • constants.ts - App name, logo, connection options
    • index.ts - App configuration
    • actions/run-sql.action.ts - SQL query action
    • triggers/new-row.trigger.ts - New row trigger
    • helpers/ - Record-based helpers and allowed values
  • src/i18n/en/apps/SeaTable/ - Locale files
  • src/tests/seatable.test.ts - Comprehensive tests

Testing

Requires SEATABLE_API_TOKEN environment variable and a table named test-table with fields:

  • Title (text)
  • Count (number)
  • IsActive (checkbox)

Related

  • Similar to NocoDB and Baserow implementations

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestnew appThis issue tracks integration for a new app that we don’t yet supportts

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions