HarperFast / HarperFast/Cortex
Webhook Ingestion Sources — Roadmap
- Dominant language
- JavaScript
- Stars
- 4
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Overview
Cortex ships with a Slack Events API webhook (`/SlackWebhook`) that automatically classifies, embeds, and stores messages. The same pattern — receive → classify → embed → store — can be extended to any platform that pushes events via HTTP.
This issue tracks which ingestion sources are live, which are planned, and how to add your own.
---
### Live
- [x] **Slack** — `SlackWebhook` Resource · Events API · messages + threads · [setup guide](packages/cortex/docs/slack-app-setup.md)
### Planned
- [ ] **GitHub** — issue comments, PR reviews, discussion posts
- [ ] **Linear** — issue updates, comments, project changes
- [ ] **Discord** — guild messages via Gateway or webhook relay
- [ ] **Jira** — issue events, comments, sprint changes
- [ ] **Notion** — page / database change webhooks (when available)
- [ ] **Email (IMAP / SendGrid Inbound Parse)** — inbound email → memory
---
### Adding a custom source
Any HTTP service that can POST JSON can feed Cortex. Create a new Resource class:
```js
import { Resource } from 'harperdb';
export class MyWebhook extends Resource {
async post(data) {
// 1. Verify authenticity
// 2. Extract text + metadata
// 3. classifyMessage(text) → category, entities, summary
// 4. generateEmbedding(text) → 384-dim vector
// 5. Memory.put(record)
}
}
```
See `SlackWebhook` in `packages/cortex/resources/slack-webhook.js` for a complete reference implementation.
---
**Want a specific source prioritized? Comment below or open a PR.**
Contributor guide
Assessment
This issue has not been assessed yet.