FileRelay
Documentation
Try for Free

Data Enrichment Page

Bind enricher functions to content repositories — the page where you decide which BAPIs auto-fire on which sources.

The Data Enrichment page (/data-enrichment) is the bindings view. It shows one card (or row) per content repository in the workspace, with its currently-bound enricher functions and the controls to add / activate / unbind them.

It is the counterpart to the RFC Console:

Page What it owns
RFC Console The library of saved functions — build, test, save, rename, duplicate, delete.
Data Enrichment The bindings between functions and repositories — which functions auto-fire on which sources.

Repository cards

Each repository in the workspace is rendered once. The card shows:

  • The repository's name + repo_id (e.g. A1)
  • Its protocol type (ArchiveLink / OData / CMIS)
  • The functions currently bound to it, with status pills

If a repository has no bound functions, the card displays a "No enrichers attached" empty state with an inline Add functions CTA.

Layout toggle

Top-right of the page: grid / list view toggle. The toggle applies to the repository layout — not to the functions inside each repo. Preference is persisted in localStorage under view:data-enrichment.

Per-function row actions

Within a repository card, each bound function is a row with three actions:

  • Power — toggle active / inactive. Inactive functions stay bound but stop firing on new documents. Existing document_enrichments rows are untouched.
  • Unbind — return the function to the workspace orphan pool (the library still owns it; the binding is dropped). This is the only "remove" affordance — there's no separate delete here; deletion lives in the RFC Console.

Add functions modal

Each repository card has an Add functions button. It opens a modal listing the workspace's orphan functions (those not yet bound to any repo) plus the ones currently bound to this repository.

Cross-repo poaching is prevented by design: you cannot bind a function that is already bound to a different repository. To move a function from repo A to repo B:

  1. Open Data Enrichment for repo A.
  2. Unbind the function. It returns to the orphan pool.
  3. Open Data Enrichment for repo B.
  4. Add it from the modal.

This keeps the (function, repository) relationship one-to-one for now — the same function cannot fire on two different repos simultaneously. Use Duplicate in the RFC Console if you need an independent copy for a second repo (credentials carry over).

Orphan summary

At the bottom of the page you'll see a small counter:

N functions in library not bound to any repository. They'll show up in the "Add functions" dialog above when you bind one.

That counter is the orphan pool — newly-created or recently-unbound functions live here until you bind them.

Once bound, what happens

The instant a function is bound + active, it auto-fires on every new document for that repository — see Data Enrichment Overview for the ingest-time flow. Existing documents in the repo are not backfilled (a manual per-document Fetch button on the document detail page lets you run it on an existing doc one at a time).

Where to manage the function itself

Anything that's a property of the function (not the binding) lives in the RFC Console:

  • Rename / re-tag → Pencil icon in the library list, or the saved function's detail URL /rfc-console/<slug>
  • Edit BAPI / params / connection → load the function from the library list, edit the form, click Update
  • Whitelist / blacklist → on the function's detail page
  • Delete → Trash icon in the library list

See RFC Console for the full list.