Skip to content

Extensions

Extensions add data capabilities to inboard. They run as sandboxed WebAssembly (Wasm) components, providing isolated and portable execution.

ExtensionDescription
SQLQuery databases via relay or Turso. See SQL Extension.
DatabricksAccess data lakehouse tables and queries.
AlphaVantageStock, forex, and cryptocurrency market data.
PolygonReal-time and historical market data.
SalesforceCRM data access and querying.
  1. The inboard app downloads extensions from the extension registry.
  2. Extensions run inside a WebAssembly sandbox on the client.
  3. When an extension needs server-side resources (such as a database connection via relay), it communicates through the Concourse API.

By default, inboard uses the hosted extension registry. For self-hosted deployments, set the registry URL in Concourse configuration:

server:
extensions_url: https://extensions.internal.example.com

Or via environment variable:

Terminal window
-e CONCOURSE_EXTENSIONS_URL=https://extensions.internal.example.com

List available extensions:

Terminal window
curl http://localhost:8080/api/v1/extensions

Search by query:

Terminal window
curl "http://localhost:8080/api/v1/extensions?query=sql"

Filter by category:

Terminal window
curl "http://localhost:8080/api/v1/extensions?category=data"

Extensions are distributed as .empkg files. Each package contains:

  • The WebAssembly component binary
  • A manifest with metadata (name, version, description, tools)
  • An optional README and icon
Terminal window
curl -X POST http://localhost:8080/api/v1/extensions/check \
-H "Content-Type: application/json" \
-d '{"extensions": [{"id": "sql", "version": "1.0.0"}]}'

See Shopkeep (Extensions) API for the complete endpoint reference.