Upstream turns your documents into structured intelligence. There are four ways to add content to your knowledge base, and each one feeds the same processing pipeline.
Four ways to add content
1. File Drop
Drag and drop files directly onto the upload area, or click Browse to select files from your computer. Supported file types:
- PDF — Sales decks, research reports, strategy documents
- DOCX — Word documents, meeting notes, proposals
- TXT — Plain text exports, call transcripts, raw notes
You can upload multiple files at once. Each file is processed independently.
Before processing, add optional Tags: type a label and press Enter or comma, or paste a comma-separated list. Select a tag's pencil to edit it in the input, press Enter to save, or Escape to keep the original; use its × to remove it. Empty labels are ignored and exact duplicates are kept only once. Case and punctuation are preserved, except commas separate labels. The enterprise and discovery suggestions are optional examples, not organization-wide defaults. Tags are separate from Source type. Start Processing and HTML Convert to artifact both include any unfinished tag in the input. Cancel discards these unsaved tags.
2. Paste Text
Click the Paste Text tab in the upload flow and paste content directly into the text box. This is ideal for:
- Call notes you typed during a meeting
- Email threads with customer feedback
- Slack messages or chat logs
- Quick notes that do not exist as a file
Give your pasted content a descriptive title so you can find it later.
For uploaded files, choose a Source type before processing. Upstream suggests and lists source types using the role selected during onboarding—for example, Marketing starts with marketing content such as landing pages—but every built-in category remains available. Organization source types appear alongside those fallbacks and keep their mapped built-in category for ingestion and AI. Organization owners can create, rename, order, archive, or restore them in Settings. Archived types cannot be selected for new uploads, but existing sources keep displaying the current label. Other is the neutral fallback when no role is available.
3. Web Import
Click the Web Import tab, enter a URL, and Upstream will extract the content from the page. Use this for:
- Blog posts or news articles about competitors
- Public company pages or product announcements
- Industry reports published online
- Any publicly accessible web page with relevant content
4. GitHub Issues
In the GitHub Issues section, the organization owner first connects one repository using either owner/name or its normal https://github.com/owner/name URL plus a fine-grained GitHub personal access token. Give the token access only to that repository with Issues: Read-only (Metadata read access is automatic). Upstream verifies repository and issue access before saving. The token is encrypted by the API, stored separately from connection metadata, never returned to the browser, and can be replaced or deleted from Manage. Organization members can import from the configured repository but cannot manage the credential or use it for another repository.
Choose Open, Closed, or Open and closed, then choose All time, a recent-update window, or a custom start date. All time is the default and omits GitHub's since filter. Large imports continue in bounded two-page API batches; the screen reports cumulative progress until every GitHub page has been processed. If a later batch fails, already queued issues remain imported and retrying is safe.
Each issue (title, description, labels, and up to its first 100 comments) becomes a document. If an issue has more comments, the import result says so rather than silently claiming completeness, so extracted entities such as feature requests and pain points link straight back to the issue. Importing again only picks up new or edited issues. Once a set of issues is indexed, a Product Insights artifact can be generated that groups the extracted entities into tagged, weighted themes; large sets are split into an overview plus one artifact per theme.
Once issues are imported, Create repository status builds a living status page for the repository and opens its dataset. Every open issue is counted in exactly one group: its first type label (bug, enhancement, documentation, tracking, sprint-planning or backlog), otherwise its first area: label, otherwise unlabelled. The groups add up to the open total, and the unlabelled group is always shown, because its size tells you how much of the backlog nobody has sorted. The dataset also records what moved in the last 7 and 30 days, and links the oldest and the most recently updated open issue. A readable view and an interactive view are filled from it. Creating the status does not import anything, so import first if you want current counts. Later, Refresh from source on the dataset re-imports through the saved connection, fetching only issues that changed since the last import that finished, and tells you whether anything changed.
What happens after you upload
Once you submit content through any of the four methods, Upstream processes it through several stages:
- Parsing — The document is read and converted into clean text.
- Entity extraction — Upstream identifies people, companies, products, themes, and other entities mentioned in the content.
- Relationship mapping — Connections between entities are detected (e.g., "Jane works at Acme" creates a relationship between the person and the company).
- Embedding generation — The content is indexed so it can be searched and retrieved when you ask questions in Chat.
- Review — After processing completes, the upload screen fetches the document's extracted entities. Its total includes already-approved entities; approved and pending counts are shown separately. Only pending entities appear in the Review Queue. If the entity read fails, Retry entity fetch reloads the results without uploading or processing the document again.
Tracking upload status
Visit the Upload Status page to see where each document is in the pipeline. Each upload shows its current stage, and you will see a confirmation when processing is complete. If something goes wrong during processing, the status page will show an error with details.
Reading a source document
Open Knowledge → Sources to search source metadata or filter by status, file type, built-in category, or the stable organization source type. The page keeps filters in the URL, shows processing and failed sources explicitly, and pages through the full matching set. Organizations above the current 5,000-source search ceiling receive an explicit error rather than incomplete results. Choose Add source to return to the existing upload and import workflow.
Open a source from the list. Full source shows the saved source text before any processed sections, not the original file or layout. Markdown and GitHub imports open in safe Preview mode, with Raw available when you need the stored Markdown characters. Choose Open full screen for a keyboard-accessible reading view where you can select and copy the whole body. Imported HTML is displayed as text rather than run. PDF, DOCX, and other parsed sources remain extracted plain text.
Markdown task lists keep their checked or unchecked state in Preview and full-screen reading, with wrapped text aligned beside each checkbox. These checkboxes are read-only: clicking them does not update the source or its GitHub issue. Collapsed processed-section previews show compact [x] or [ ] status markers instead of controls; Raw preserves the stored Markdown.
Items found during processing is the count recorded by that processing run. Linked knowledge items lists the items returned for this source now; the two counts need not match.
Under Processed sections, choose Read full section to inspect the complete stored text for an individual processing chunk; choose Collapse section to return to its short preview. These sections can overlap and are kept for knowledge associations—they are not a reconstruction of the full source.
Choose View knowledge item on a related card or inside an expanded section to open its full detail page. Use your browser's Back action to return to the source, or the item's Document link. Linked to this section means Upstream recorded a section-level association; it does not identify an exact phrase. If a linked item is unavailable in this document, the page says so instead of inventing a destination. Opening text or following a link does not approve or reprocess anything.
Tips for best results
- Use descriptive file names. "Q4 Competitive Analysis - Acme Corp.pdf" is far more useful than "doc1.pdf" when you search later.
- Upload regularly. The more content Upstream has, the richer your knowledge graph becomes and the better your chat answers get.
- Mix your sources. Call transcripts, strategy docs, customer feedback, and competitive research together give you the most complete picture.
- Keep files focused. A single-topic document produces cleaner entity extraction than a 50-page catch-all dump.
- Review extracted entities promptly. Confirming or dismissing entities after upload keeps your knowledge base accurate and improves future extractions.
Still need help?
Email us at hello@getupstream.ai — we read every message.