Skip to content

Managing Knowledge

Knowledge items are the core data type in YapHub. Users capture knowledge directly from Slack conversations, and the system enhances it with URL content extraction and automatic Notion sync.

Knowledge Item Structure

FieldTypeDescription
TitleString (3–255 chars)Display title for the knowledge item
ContentTextMain content — user text plus extracted URL content
TagsJSON arrayUser-defined tags for categorisation
Target GroupsJSON arrayAudience labels (synced from Notion)
StatusStringpending, Not started, In progress, Done, approved, rejected, archived, draft, published
URLString (optional)Source URL
URL MetadataJSON (optional)Extraction details (title, length, content type)
Source MessageJSON (optional)Original Slack message data
HighlightTextAI-generated 2–3 sentence Dutch summary
Notion IDStringReference to the Notion page
Notion URLStringDirect link to the Notion page

Capture Methods

Message Shortcut — "Add to YapHub"

The primary capture flow. Users save any Slack message as knowledge:

Global Shortcut — "Quick Add to YapHub"

Opens a blank knowledge entry form from anywhere in Slack. The user fills in all fields manually.

App Home Button

Clicking "Add Knowledge" from the App Home dashboard opens the same modal, with the category pre-selected based on context.

URL Content Extraction

When a knowledge item includes a URL, the backend automatically enriches it:

  1. Validation — The URL is checked for validity and SSRF protection (localhost/private IPs blocked)
  2. Fetching — The page HTML is retrieved via HTTP
  3. ExtractionHtmlContentExtractor uses a Readability-based parser to extract meaningful content
  4. Appending — Extracted content is appended to the knowledge item's content field (original user text is preserved)
  5. Metadata — Extraction details (title, length, truncation status) are stored in urlMetadata

The extraction is graceful — if it fails for any reason, the knowledge item is still saved with just the user's original text.

Notion Sync

Every knowledge item is automatically synced to Notion on creation:

  • A new page is created in the configured Notion Knowledge database
  • Properties are mapped: title, content, tags, status, URL, category relation
  • The Notion page ID and URL are stored back on the knowledge entity
  • Subsequent updates to the knowledge item sync to the same Notion page

Current Limitations

The MVP supports Create and List operations. The following are not yet implemented:

  • Edit — No UI to modify existing knowledge items
  • Delete — No UI to remove knowledge items
  • Search — No keyword or semantic search
  • Bulk operations — No import or batch processing

Knowledge items can be viewed through the App Home category browser and their Notion pages.