Build connectors for Akasha — the self-hosted second brain.
A connector is a data source that feeds into Akasha's knowledge graph. This SDK gives you everything you need to build one and publish it as an npm package.
npm install @akasha-os/connector-sdkimport { WebhookConnector, NormalizedEvent } from '@akasha-os/connector-sdk';
import { z } from 'zod';
const ConfigSchema = z.object({
apiKey: z.string(),
});
export class NotionConnector extends WebhookConnector {
manifest = {
id: 'notion',
name: 'Notion',
description: 'Ingest pages and databases from Notion',
version: '1.0.0',
author: 'your-name',
type: 'webhook' as const,
triggers: ['event.normalized.notion'],
configSchema: ConfigSchema,
requiresAuth: true,
authType: 'apikey' as const,
};
normalize(raw: unknown, workspaceId: string): NormalizedEvent {
// transform your source payload into a NormalizedEvent
return { ... };
}
}| Type | Description |
|---|---|
WebhookConnector |
Platform exposes an HTTP endpoint, source pushes to it |
PollerConnector |
Connector fetches data on a schedule |
DeviceConnector |
Data pushed from a local device or app |
ImportConnector |
Bulk one-time or periodic import |
SyncConnector |
Bidirectional — import + export + live sync |
Name your package @akasha-os/connector-[name] and publish to npm:
npm publish --access publicThen open a PR to add it to the community registry.
Built and maintained by the Akasha team:
- Slack
- Calendar
- Browser
- Terminal
- Watch
- Location
- Obsidian
- Notion