π₯ Sources
A source is somewhere your knowledge already lives: a docs site, a repository, a YouTube channel, your admins' answers in chat. Fren One reads it and turns what it finds into items in the Library.
In the sidebar, select Knowledge Base, then the Sources tab.
Adding a sourceβ
Select New, then Add a source, in the Knowledge Base header. The Add a source window lists the source types on one side and the chosen type's settings on the other. Switching types keeps what you've typed.
| Source type | What it takes | Notes |
|---|---|---|
| Website | A URL | Opens the site's pages as a tree so you pick what to crawl. See How Crawling Works. |
| GitHub | A repository URL, or an organization to pick repositories from | Indexes Markdown documentation only. Up to 20 repositories per batch. |
| YouTube | A video, or a whole channel | A channel asks how many of its most recent videos to transcribe. Videos already in the knowledge base are skipped. A video with no available transcript can't be indexed. |
| X | A post URL, or a profile | A profile adds its recent posts: choose How many recent posts?, and whether to Include replies and Include reposts. |
| Discord admins | A Discord server, then which admins' messages to capture | Recent history is indexed right away and new messages are added automatically. Import Discord channel history reaches back up to 12 months. |
| Telegram admins | A Telegram group, then Live capture or Import chat export | Live capture records the chosen admins' new messages from now on. An import reads a chat-export JSON from Telegram Desktop. |
| Upload files | PDF, TXT, MD, DOCX, CSV, XLSX or JSON files, or a URL to a document | Up to 4 MB per file. |
There's no separate text source any more. To add notes, a policy or anything that lives nowhere else, select Write an article instead at the bottom of the list, or New, then Article.
Telegram and Discord capture is scoped to admins you choose, so your agent learns from answers your team stands behind rather than from everything said in the room. Discord capture reads the server's Agent admin roles; set them in Agent Settings first.
Visibility and Keep in syncβ
The bottom of the settings holds the source's own choices:
| Setting | Options |
|---|---|
| Visibility | External ("Can reach members and customers") or Internal ("Your team only: suggested replies, Ask AI"). Telegram and Discord admin capture is always Internal: "Admin conversations stay Internal, so members and customers never see them." |
| Keep in sync | Off, Daily or Weekly. Offered for websites and GitHub, which change in place. X profiles, YouTube channels and chat capture keep themselves in sync, so they have no choice here. |
You can change a source's schedule later with Change schedule. See Auto-refresh.
Who can add whatβ
Knowledge managers (the Owner, Admins, and members with + Knowledge) can add every source type. A verified admin of a Telegram group or Discord server without the grant only sees Telegram admins or Discord admins, for the channels they're verified on. Everyone else has no Add a source at all.
The Sources tableβ
Each source is one row:
| Column | What it shows |
|---|---|
| Source | Its title or address. |
| Type | The source type. |
| Status | See below. |
| Items | How many pages, files, videos, posts or messages it produced. |
| Last sync | When it last fetched anything. |
| Keeps in sync | Manual, or how often it checks, such as Daily or Every 6 hours. |
Filter sources searches by name, address or type, and the pills narrow the list to Live, Syncing or Failed sources.
Select a row to see its items in the Library.
Reading the statusβ
| Status | Meaning |
|---|---|
| Queued | Waiting for a free worker. Large sources can wait a few minutes before starting. |
| Indexing, Syncing, "Syncing 40 / 120" | Being fetched and indexed. Your agents can answer from it once this finishes. |
| Ready | Indexed once. It only changes when someone syncs it. |
| Live | Indexed and kept in sync on a schedule. |
| Failed | The last sync failed. Content it indexed before still answers, but it has stopped keeping up. The Gaps tab lists it as a Failed sync. |
Managing a sourceβ
Each row's menu holds what you can do with it. Knowledge managers see every action; everyone else sees Show items only.
| Action | What it does |
|---|---|
| Sync now | Fetches the source again right away. A website that keeps in sync looking for New content only adds pages it doesn't have yet; any other website is crawled again with its saved settings. |
| Change schedule | Opens the source's auto-refresh settings. |
| Re-crawl | Websites only. Crawls again with new settings and replaces the source's content. |
| Update policy | Decides how changes drafted from this source reach the knowledge base. See below. |
| Show items | Opens the Library narrowed to this source. |
| Remove | Removes the source and everything indexed from it, after a confirmation. Your agents stop answering from it, and it can't be undone. |
A source whose first sync failed before anything was indexed offers Retry and Remove only.
Update policyβ
When Fren One drafts a change to your knowledge because of something this source said (a changed page, a resolved ticket, a team conversation), the source's Update policy decides what happens next. See Gaps for where those drafts appear.
| When upkeep drafts a change | What happens |
|---|---|
| Suggest only | Changes wait in Gaps as suggestions. New sources start here. |
| Ask for approval | A knowledge manager approves every change before it goes live. |
Publish automatically is listed too, but it isn't available yet.
Trust marks whether the source may be acted on by itself: anything members or teammates wrote is Untrusted by default. Whatever the policy, "Pricing, security and legal changes always need approval."
Troubleshootingβ
"This site is already in your knowledge base." You're adding a URL an existing source already covers. Starting anyway updates that source instead of creating a duplicate.
A crawl looks stuck partway. Fetching is only the first half. After the pages are collected they're indexed one batch at a time, and on a large site that stage takes noticeably longer than the crawl. Leave it running; you can close the window and it continues in the background.
A source indexed far fewer pages than the site has. That's usually deliberate. See How Crawling Works for what is skipped and why.
A source is Ready but answers nothing. Open one of its items: if the Properties tab says "Nothing was extracted from this source", there was no readable text. The usual causes are a page that requires login, a site that blocks automated readers, or a document with no selectable text, such as a scanned PDF.
Discord admins says no Agent admin roles are set. Choose them in the server's Agent Settings, then try again.