Browse Platform
Platform · Project

Data Loaders

Choose a BotDojo-native or integration-backed source, select a destination folder, schedule synchronization, and monitor loader runs.

7 min read

A Data Loader is a saved import that turns source content into BotDojo documents. The source can be a website, BotDojo flow history, a BotDojo-managed repo, or a connected external system. The documents land in one project folder; indexes can then read that folder.

Records become documents

For an integration-backed Data Loader, each source record becomes a BotDojo document. A record might be a Notion page or database row, a Jira issue, a Zendesk ticket, a Slack message thread, a Google Drive file, or an object from another connected system.

The stored document has two complementary parts:

  • Content is the readable text that BotDojo chunks and embeds for semantic search.
  • JSON metadata contains attributes and related information about the record, such as its source ID, URL, status, owner, timestamps, tags, project, channel, or provider-specific fields.

Loaders preserve a stable source identifier so a later run can update the same document instead of creating a duplicate. Depending on the loader, source attributes may be written directly to the document’s meta object or included as YAML front matter in a Markdown document. When the document is indexed, those attributes become metadata on its searchable parts.

This separation lets an agent find a record by meaning and then narrow the results by exact attributes. For example, an agent can search for a customer’s refund problem while filtering to open support records from a particular region.

See Indexes for the complete document-to-query path, Metadata and Markdown for front matter and JSON metadata, and Materialized Columns for large-index filtering performance.

Create a Data Loader

  1. Open Data in a project.
  2. Select Data Loaders.
  3. Select Create Loader.
  4. Choose a source.
The Data Loader source picker
Screenshot previewThe Data Loader source picker
The Data Loader source picker

Choose the loader type

BotDojo-native loaders

Native loaders do not require an external connection. Each one addresses a different BotDojo data source:

LoaderUse it forImportant choices
Scrape WebsiteCrawl a website and turn its pages into documents. Use it for public documentation, help centers, marketing sites, or other web content that should be searchable in BotDojo.Source and starting URLs, Wget or Playwright, crawl limits, content selectors, URL filters, and deletion behavior.
BotDojo FlowTurn a flow’s conversation history into Markdown documents for search, reporting, evaluation, or analysis. The source picker currently labels this option Flow Document Loader. It exports conversation data, not the flow definition itself.Flow, grouping by Session or Thread, date range, flow Version, and Channels.
BotDojo RepoKeep files from a BotDojo-managed repo available as project documents. Use it for repo-backed documentation, skill and workflow source, or other maintained files that agents should retrieve.Repo, optional Branch, optional Path Filter, and Run on Commit for automatic updates after commits to the selected branch.

For every scraper field and crawl control, see Web Scraping.

Integration-backed loaders

Integration-backed loaders import content from systems outside BotDojo, such as Google Drive, Notion, S3, SharePoint, GitHub, Zendesk, Slack, Jira, or Confluence. Use one when the source system should remain the owner of the content and BotDojo should synchronize a searchable copy.

A CONNECTED label means the project already has a compatible connection. If a provider is not connected, BotDojo guides you through creating or selecting a connection before configuring the loader. The provider determines what can be selected or filtered—for example, a Google Drive folder, Slack channels, a Jira project, or an S3 location.

The source-specific portion of the form changes by provider. For example, a Google Drive loader asks which drive or folder to sync, while a web scraper asks for a URL and parser. Every loader also has the common settings below.

Common Data Loader settings, shown with the web scraper
Screenshot previewCommon Data Loader settings, shown with the web scraper
Common Data Loader settings, shown with the web scraper

Common settings

SettingWhat it does
NameIdentifies the loader in the list and run history.
IntegrationFor integration-backed loaders, selects the connection used to read the source. Native loaders do not require one. It cannot normally be changed after creation.
Source settingsDefines what the provider should read. The fields vary by provider and may include a folder picker, query, project, channel, content type, or other source filters.
Destination FolderThe project folder where synchronized documents are written. Select Browse Folders to choose or create it.
Update ScheduleControls whether the loader runs only when requested or on a recurring schedule.
Failure notification recipientsOptional comma- or semicolon-separated email addresses. Leave blank to use the project-level recipients.
Run NowStarts the first synchronization after the loader is saved. Clear it when you want to save the configuration without immediately reading the source.

Changing source settings or the destination folder resets the loader’s last-success marker so the next run can establish a fresh synchronization state.

Schedule settings

The schedule uses the time zone reported by your browser when you save the loader.

ScheduleAdditional settingBehavior
ManualNoneRuns only when you select Run Data Loader or Run Loader.
Interval30 minutes, 1 hour, 3 hours, 6 hours, or 12 hoursRepeats after the chosen interval.
DailySchedule TimeRuns once each day at the selected time.
WeeklyOne or more weekdays and Schedule TimeRuns on the selected days at the selected time. At least one day is required.
MonthlyDate and Schedule TimeRuns on the selected day of each month.
CustomCron ValueUses a cron expression for schedules not covered by the presets.

The Data Loaders list

The list provides these columns:

ColumnMeaning
NameOpens the loader and its run history.
ProviderThe source type or connection provider.
FolderThe destination folder that receives documents.
Last RunDate of the most recent successful run.
ScheduleHuman-readable recurring schedule or Manual.
Next RunNext calculated scheduled run.
StatusCurrent loader health.

Health filters appear when relevant:

  • Running means a loader job is queued, running, or aborting.
  • Needs attention means the most recent run has an error or requires user action.
  • Not run means the loader is new or has no successful run.
  • A loader without one of those conditions is ready.

Select one or more rows to use Run Data Loader or Archive Data Loader. BotDojo prevents a second run while the same loader already has an active job.

Loader details and run history

Select a loader name to open its detail page. The header shows the destination folder, provider, schedule, and selected source details. Use:

ActionWhat it does
Edit LoaderUpdates the name, source-specific options, destination, schedule, notifications, or Run Now choice.
Run LoaderStarts an ad hoc synchronization without changing the saved schedule.

The Runs table records:

  • Status and job progress
  • Job type
  • Total documents created
  • Start and finish times
  • Duration
  • Web-scraper cost and currency, when applicable

Use the run history and the loader’s last error to diagnose failed or incomplete synchronization. After the loader succeeds, check its destination folder and then update any index that reads that folder.

Source deletion behavior

Some providers expose an option such as Delete Unavailable Documents. When enabled, a completed loader run removes documents previously created by that loader that are no longer present in the source. Leave it off when BotDojo should retain old documents even after they disappear upstream.

This comparison is loader-specific: BotDojo tracks the loader ID, source document ID, run ID, and synchronization checkpoint on the stored records. It does not delete unrelated documents that happen to share the destination folder.

For the built-in scraper’s source settings, continue to Web Scraping.