Skip to Content
Wisteria is in beta — these docs are evolving fast.
ConceptsThe AI ambient watcher

The AI ambient watcher

Most L&D platforms ask you to write training content from scratch. Wisteria’s premise is different: the content your team needs is already in your team’s documents. Onboarding guides, SOPs, post-incident write-ups, customer-facing FAQs — the raw material exists in OneDrive, Drive, or Lark. The hard part has been converting it into training.

The AI ambient watcher closes that loop. Once an integration is connected, Wisteria scans your team’s documents on a schedule, evaluates which ones are training-relevant, and proposes draft courses you can accept, edit, or dismiss.

What it does, step by step

  1. Walks your tenant’s users. Calls the integration’s directory API to enumerate domain users.
  2. Lists candidate files. For each user, lists files in their accessible Drive / OneDrive / Lark Drive — filtered by MIME whitelist, recency window, and per-scan caps.
  3. Extracts text. Downloads each candidate file, runs format-specific text extraction (officeparser for PDF/PPT, raw_content for Lark Docs, etc.).
  4. Evaluates each file with Claude. Passes the extracted text plus your AI Training Profile (the layer below) to a Claude prompt that asks: “Is this training-relevant for this organisation? If so, why?”
  5. Writes structured suggestions. Candidate files that pass evaluation become “Wisteria noticed” cards at the top of the trainer’s course list.

Each suggestion includes: title, why it was surfaced, who would benefit, the business outcome, draft modules, and a confidence score.

How a suggestion becomes a real course

The trainer reviews “Wisteria noticed” cards on their course list. For each one:

  • Generate — Wisteria downloads the source file again, runs it through the same AI module pipeline that powers manual uploads, and materialises a real course with flashcards and a quiz. The trainer reviews and edits.
  • Dismiss — the card is hidden. A future scan won’t resurface the same file unless its content changes meaningfully.
  • Not training — the card is hidden AND the AI evaluator learns: future files with similar signal get filtered out earlier. This is how Wisteria’s evaluator gets sharper for your specific organisation over time.

What the watcher does NOT do

  • It doesn’t auto-publish. Suggestions are always reviewed by a human. Wisteria never silently creates training and ships it to learners.
  • It doesn’t read what the impersonated user can’t see. The watcher operates with the access scope of one tenant user (a super-admin or shared service account). It can’t see private files outside that user’s reach.
  • It doesn’t modify files. All access is read-only. Wisteria never writes, uploads, or deletes anything in your tenant.
  • It doesn’t train Claude on your data. Wisteria uses Anthropic’s API in standard mode; data is not retained for training.

Scan triggers

The watcher runs in three modes:

TriggerWho triggers itCadence
ManualTrainer (rate-limited to 3/day) or super_adminOn demand
ScheduledVercel cronNightly
Real-timeProvider push (Drive Push Channels / Graph subscriptions / Lark webhook)Within minutes of a file change

In the beta, manual + scheduled are live; real-time per-provider is on the roadmap.

Per-provider differences

ProviderCoverageCaveats
Microsoft 365OneDrive + SharePoint via Microsoft GraphTenant must grant admin consent; runs as the tenant
Google WorkspaceDrive (per user) via Domain-Wide DelegationOne impersonated super-admin user; sees what they see
Lark / FeishuLark Drive + Lark DocsSelf-built app per tenant; Lark Docs PDF export coming in a future release
Per-user Google DriveOAuth user’s Drive onlyLightweight option; doesn’t see shared drives the user lacks access to

Cost

Each scan typically costs $0.05–$0.25 in Claude tokens. The largest variables are number of candidate files (capped) and average file size. Verified end-to-end with one pilot customer: 10 candidate files surfaced 10 suggestions in 152 seconds, well within bounds.

Setting expectations

  • First scan after connecting an integration: expect candidate files within an hour, real suggestions within a few hours as Claude evaluates the queue.
  • Subsequent scans: incremental — only changed or new files since last scan are re-evaluated, so cost stays bounded as you grow.
  • The evaluator gets better over time. “Not training” feedback teaches your AI Training Profile what to ignore. The first month’s suggestions are the noisiest; by month three the signal-to-noise should be high.
Last updated on