> ## Documentation Index
> Fetch the complete documentation index at: https://agents.concierca.ch/llms.txt
> Use this file to discover all available pages before exploring further.

# YouTube Watch

> The market-intelligence content pipeline — watched channels and the videos pulled, transcribed, and AI-enriched from them. Agent-maintained.

## What it is

A content-intelligence pipeline built on YouTube. You (or an agent) mark a set of channels to **watch**; the agents then poll those channels for new videos, pull each video's transcript, count and language-tag it, run an AI enrichment pass over it, and finally digest the result into your [Knowledge](/api/data-model/knowledge) base. It is how market signal from video gets turned into something your agents can read.

The pipeline has two tables, documented below: **Watched Channels** (`youtube_channels`) — the sources you follow — and **Videos** (`youtube_videos`) — the pulled, transcribed, and enriched content.

## How it gets data

Populated by the market-intelligence agents that watch channels and process videos; not part of the standard onboarding catalog. Available to query once your workspace runs the relevant agents.

## Fields — Watched Channels (`youtube_channels`)

| Field                 | Type     | Description                                                                  |
| --------------------- | -------- | ---------------------------------------------------------------------------- |
| `external_id`         | text     | Source channel id — the dedup/upsert key                                     |
| `channel_name`        | text     | Channel name                                                                 |
| `channel_url`         | text     | Link to the channel                                                          |
| `topic`               | text     | What this channel is watched for                                             |
| `watch_enabled`       | boolean  | Whether the pipeline is actively polling this channel                        |
| `last_checked_at`     | datetime | When the channel was last polled for new videos                              |
| `last_video_id`       | text     | The most recent video seen on this channel                                   |
| `last_published_at`   | datetime | Publish time of that most recent video                                       |
| `notes`               | text     | Free-text notes on the channel                                               |
| `metadata`            | json     | Raw source fields kept alongside the row                                     |
| `digest_knowledge_id` | uuid     | The [Knowledge](/api/data-model/knowledge) entry this channel's digest feeds |

## Fields — Videos (`youtube_videos`)

| Field                 | Type     | Description                                           |
| --------------------- | -------- | ----------------------------------------------------- |
| `external_id`         | text     | Source video id — the dedup/upsert key                |
| `channel_external_id` | text     | The watched channel this video came from              |
| `channel_name`        | text     | Channel name (denormalized for convenience)           |
| `channel_topic`       | text     | Channel topic (denormalized for convenience)          |
| `title`               | text     | Video title                                           |
| `video_url`           | text     | Link to the video                                     |
| `published_at`        | datetime | When the video was published                          |
| `duration`            | text     | Video duration                                        |
| `transcript_full`     | text     | Full transcript text                                  |
| `transcript_language` | text     | Detected transcript language                          |
| `word_count`          | integer  | Transcript word count                                 |
| `ai_enrichment`       | json     | The AI-enrichment output (summary, entities, signals) |
| `enrichment_status`   | text     | Pipeline stage (e.g. pending, enriched, failed)       |
| `enriched_at`         | datetime | When enrichment finished                              |
| `enrichment_model`    | text     | Model used for enrichment                             |
| `digested_at`         | datetime | When the video was digested into Knowledge            |
| `metadata`            | json     | Raw source fields kept alongside the row              |

<Note>
  Both tables also carry the system columns `id`, `tenant_id`, `workspace_id` (tenant isolation), `created_at`, and `updated_at`. They are managed automatically.
</Note>

## Query it

```json theme={null}
{
  "method": "tools/call",
  "params": {
    "name": "data_query",
    "arguments": {
      "view_slug": "youtube_videos",
      "filters": { "enrichment_status": "enriched" },
      "select_fields": ["title", "channel_name", "published_at", "word_count", "video_url"],
      "sort_by": "published_at",
      "limit": 50
    }
  }
}
```
