A maker builds an app where users upload a PDF into a Storage object, and wants that PDF to become part of an AI agent's retrievable knowledge automatically — without manually re-uploading it through the agent's Knowledge screen every time.
Symptom
Files land in a Storage object (or another connected app) through your own application, and you want an agent to be able to answer questions from those files without a person re-uploading each one through Add Knowledge. Doing this manually doesn't scale and leaves knowledge stale between uploads.
Cause
Knowledge sources aren't limited to manual drag-and-drop uploads. The Application source type connects a knowledge set (or an agent's own Knowledge) directly to the app or object your files land in, and syncs it on a schedule — or in near real time if the source supports webhooks — so newly created records are picked up and indexed without any extra step from you.
One limit to know: a Storage-object source (Storage by UnifyApps with the Import Entity action) indexes each record's field values as text. It doesn't open and read a file stored in the record. To make a PDF's contents searchable, set a Preprocessor automation on the source that extracts the text from the file, or use an automation that adds the file to a knowledge set as a document.
There are two valid places to wire this Application source in: straight onto one agent, or as its own standalone Knowledge Set. A source added directly under an agent's Add Knowledge only ever serves that one agent — it's simple, but not reusable, and deleting it removes it for good. A Knowledge Set is its own versioned asset: build it once with New Knowledge Set, add the Application source to it, Publish it, and then use Add Knowledge Set to attach it to as many agents as need those PDFs. Removing a set from an agent later just unlinks it — the set and its content stay intact for any other agent using it.
Fix
Open the agent's Knowledge section (or, to build a reusable source, open Knowledge and use New Knowledge Set).
Use Add Knowledge (on the agent) or New Knowledge (on a knowledge set) and choose the Application source type — "Connect to fetch information from external application."
Select the app (for a Storage object, Storage by UnifyApps). Choose a connection if asked, pick the Import Entity action, then select the object under Entity ID. To index the PDF's contents rather than the record's field values, set Preprocessor automation to an automation that extracts the text from the file.
Set Schedule Knowledge Sync to how often new uploads should be picked up, or leave real-time updates on where the source supports them — either way, new PDFs are indexed without you touching this screen again.
Save. The source runs its initial sync, then keeps syncing automatically going forward.
If only one agent will ever use these files, keep the Application source directly under that agent's Knowledge. If more than one agent should draw from the same uploaded files — or you expect volume to grow and want to manage sync/retention in one place — build it as a standalone Knowledge Set, Publish it, then attach it to each agent with Add Knowledge Set.
To verify, open the source and watch its Status move from Syncing to Completed (or Scheduled once a recurring sync is set); the Crawled/Synced counters on its Overview page should climb as new PDFs land in the object. On the agent's Knowledge table, a directly-added source shows its source Type as Application; an attached set shows Type: Knowledge Set and offers Remove (unlink) instead of Delete (permanent).
Prevention
You don't need to capture and store a document ID yourself to keep the knowledge in sync with your uploads. Because an Application source stays linked to the record it came from, editing that record's file updates the corresponding knowledge on the next sync, and deleting the record removes it from the index on the next sync — superseded chunks are cleaned up automatically so answers never mix old and new copies of the same document. If you need it reflected sooner than the schedule allows, open the source and use Sync Knowledge to re-index on demand.
Note: Sync behavior — schedule, real-time, retention — is configured on the source itself, not on the agent, so check the source's own settings if syncing looks slower or faster than expected.