Integration SDK Reference
API reference for @radarboard/integration-sdk — descriptors, auth, data sources, and testing utilities../types
TimeRange
Time range for dashboard queries. Duplicated to avoid circular dep on
IntegrationCategory
Integration category for grouping in the settings UI.
IntegrationOAuthConfig
OAuth-specific config for providers that need the redirect flow.
IntegrationAuthField
A single credential input field in the integration’s Connection section.
IntegrationAuth
How an integration authenticates with its external API.
IntegrationMcpCredentialBinding
Maps a saved integration credential field to an MCP server auth mechanism.
IntegrationMcpTransportPresetBase
Base type for MCP transport presets.
IntegrationMcpHttpTransportPreset
MCP transport preset for Streamable HTTP servers.
Extends: IntegrationMcpTransportPresetBase
IntegrationMcpStdioTransportPreset
MCP transport preset for stdio-based servers (local process).
Extends: IntegrationMcpTransportPresetBase
IntegrationMcpTransportPreset
Union of supported MCP transport presets.
IntegrationMcpConnectionConfig
Configuration for connecting an integration to an MCP server.
IntegrationMcpTool
MCP tool definition for an integration.
IntegrationEvent
A notification event produced by a webhook or delta detector.
Matches EmitNotificationInput from
WebhookHandler
Inbound webhook handler — lives in each integration’s webhook.ts.
The web app’s generic /api/webhooks/[integration] route delegates to this.
DeltaDetector
Delta detector — lives in each integration’s delta.ts.
Called from API route handlers after fresh data is fetched.
Returns events for items that are new or changed since last call.
CommonRouteParams
Standard query params every integration data route receives.
Example:
DataSourceContext
App-level services injected into data-source fetch functions.
Avoids circular deps between packages/integrations and apps/app.
DataSourceDescriptor
Declares a fetchable endpoint for an integration.
IntegrationDescriptor
Describes an integration in the registry.
Extends: ExtensionMeta
Example:
Capability Governance
Radarboard now uses descriptor-level capabilities to map integrations into canonical widgets.capabilitiesdeclares which shared product surface the integration can satisfy.actionmust match a realDataSourceDescriptor.action.requiredIntegrationson widgets remains an availability filter; capability ownership lives in integration and widget descriptors.pnpm check:extensionswarns when an integration declares a capability with no canonical widget owner, and when the canonical widget does not list the integration as a provider.
./registry
registerIntegration()
Register an integration descriptor. Call once per integration at app startup.
Validates uniqueness, description length, and auto-populates the data source registry.
registerDataSources()
Register data sources for virtual integrations that don’t have a full
IntegrationDescriptor (e.g. “shipping” aggregates Linear + GitHub + Vercel).
findDataSource()
Look up a data source by integration ID and action slug.
getIntegration()
Get a registered integration by ID, or undefined if not found.
getAllIntegrations()
Get all registered integration descriptors.
./routes
integrationRoute()
Build an integration data route path.
All integration data is served via the unified route handler at
/api/integrations/[integration]/[action]. This helper builds
the URL so widgets and hooks don’t need to hardcode paths.
pluginRoute()
Build a plugin API route path.
./testing
createMockDataSourceContext()
Create a mock DataSourceContext backed by an in-memory credential Map.
Useful for testing integration data-source fetch functions.
TrackedDataSourceContext
Extended DataSourceContext that records calls for test assertions.
Extends: DataSourceContext