# 🎬 **YouTube Creator Production & SEO Hub – PRO**  
**All‑in‑one Notion system** for planning, producing, publishing, and optimizing every YouTube video — now with live API data, AI‑powered helpers, mobile‑first design, and community support.

---

## 📊 **Master Dashboard (Home Page)**  

| Widget | Description | Implementation |
|--------|-------------|----------------|
| **Weekly Production Board** | Board of all videos scheduled for the current week, grouped by **Status** (Idea → Script → Filming → Editing → Ready → Published). | Linked view of **Video Projects** → *Board* → Filter: `Publish Date` is within the next 7 days. |
| **Upcoming Deadlines Calendar** | Calendar of all due dates (script, thumbnail, sponsor deliverables). | Linked view of **Video Projects**, **Thumbnails**, **Sponsor Deals** → *Calendar* → Show `Due Date` (or `Contract End`). |
| **Live KPI Tracker** | **Total Views, Avg. Watch Time, Subscribers Gained, Revenue Estimate** for the selected period – refreshed **daily** via the YouTube Data API. | Roll‑up columns in **YouTube Analytics** (populated by Zapier/Make) → Summarized in **KPI Summary** table (see below). |
| **SEO Health** | Top‑5 keywords by rank improvement, plus any rank drops > 5 positions. | Filtered view of **SEO Keywords** → *Table* → Sort by `Rank Change` descending. |
| **Sponsor Pipeline** | Value of pending deals and next payment dates. | Linked view of **Sponsor Deals** → *Table* → Filter `Status` = “Negotiation” or “Pending Payment”. |
| **Quick‑Add Buttons** | One‑click shortcuts to add a new video, keyword, sponsor deal, or AI‑generated script/thumbnail concept. | Use Notion **Template Buttons** (see “AI‑Powered Buttons” section). |
| **Community Hub** | Direct link to the public Discord/Slack community for live support, feature requests, and template updates. | Embed Discord widget (or Slack invite) on the Dashboard. |
| **Mobile‑Friendly Toggle** | Switch to a compact, full‑width layout with custom icons and colored status tags for quick glance on phones. | Click the three‑dot menu → **Page Settings** → enable **Full‑width**; set **Icon** for each database; configure **Status** tag colors (see “Status Tag Palette”). |

> **Tip:** Pin the Dashboard to your sidebar for instant access, and enable **Full‑width** for a spacious layout on desktop + mobile.

---

## 📁 **Databases & Relations**  

> **All tables below must be turned into Notion databases** (`/table → Turn into database`). Add the listed properties **exactly** as shown, then create the relations indicated.

### 1️⃣ **Video Projects** (Master Hub)

| Property | Type | Details |
|----------|------|---------|
| **Name** | Title | Video title (e.g., “How to Edit Videos”). |
| **Status** | Select | `Idea ⟶ Script Draft ⟶ Filming ⟶ Editing ⟶ Ready ⟶ Published`. |
| **Priority** | Select | `High`, `Medium`, `Low`. |
| **Publish Date** | Date | Planned publish date (used for calendar view). |
| **YouTube Video ID** | Text | 11‑character ID (auto‑filled by YouTube API). |
| **Video URL** | Formula | `if(empty(prop("YouTube Video ID")), "", "https://youtu.be/" + prop("YouTube Video ID"))` |
| **Tags** | Multi‑select | e.g., `Editing`, `SEO`, `Sponsor`. |
| **Estimated Length** | Number (minutes) | Planned runtime. |
| **Actual Length** | Number (minutes) | Filled after filming. |
| **Script** | Relation → **Video Scripts** | One‑to‑one. |
| **Thumbnail** | Relation → **Thumbnails** | One‑to‑one. |
| **Sponsor Deal** | Relation → **Sponsor Deals** | One‑to‑one (optional). |
| **SEO Keywords** | Relation → **SEO Keywords** | Many‑to‑many. |
| **Total Views** | Rollup → **YouTube Analytics** → `Views` → **Sum** |
| **Avg Watch Duration** | Rollup → **YouTube Analytics** → `Avg View Duration` → **Average** |
| **Subscribers Gained** | Rollup → **YouTube Analytics** → `Subscribers Gained` → **Sum** |
| **Revenue Estimate** | Formula | `round(prop("Total Views") * 5 / 1000, 2)` *(assumes $5 CPM)* |
| **KPI Score** | Formula | `prop("Total Views")*0.4 + prop("Subscribers Gained")*2 + prop("Revenue Estimate")*1.5` |
| **Notes** | Text | Free‑form notes. |

#### Sample rows  

| Name | Status | Priority | Publish Date | Tags | Estimated Length |
|------|--------|----------|--------------|------|------------------|
| How to Edit Videos | Idea | High | 2026‑10‑15 | Editing, Tutorial | 12 |
| SEO for YouTube | Script Draft | Medium | 2026‑10‑20 | SEO, Strategy | 9 |
| Thumbnails That Convert | Filming | Low | 2026‑10‑25 | Design, Marketing | 6 |

---

### 2️⃣ **Video Scripts**

| Property | Type | Details |
|----------|------|---------|
| **Name** | Title | Synced from related **Video Projects** (`Name`). |
| **Project** | Relation → **Video Projects** | One‑to‑one (back‑link). |
| **Status** | Select | `Not Started`, `Draft`, `Reviewed`, `Final`. |
| **Draft** | Text | Rich‑text draft (generated by AI button). |
| **Final Script** | Text | Copy‑paste final version. |
| **Word Count** | Formula | `floor(length(replaceAll(prop("Final Script"), "\\s+", "")) / 5)` |
| **Revision Count** | Number | Increment each time you click “Save Revision”. |
| **Last Edited** | Date (auto) | Set to “Last edited time”. |
| **Notes** | Text | Feedback, timestamps, etc. |

#### Sample rows  

| Name | Status | Project | Revision Count |
|------|--------|---------|----------------|
| How to Edit Videos | Draft | How to Edit Videos | 2 |
| SEO for YouTube | Reviewed | SEO for YouTube | 3 |
| Thumbnails That Convert | Not Started | Thumbnails That Convert | 0 |

---

### 3️⃣ **Thumbnails**

| Property | Type | Details |
|----------|------|---------|
| **Name** | Title | Same as video title. |
| **Project** | Relation → **Video Projects** | One‑to‑one. |
| **Status** | Select | `Not Started`, `Designing`, `Testing`, `Approved`. |
| **Design File** | Files & media | Upload PNG/JPG. |
| **Design Link** | URL | Link to external design tool (Canva, Photoshop). |
| **AI Concept** | Text | Output of the OpenAI thumbnail‑concept button. |
| **Tested** | Checkbox | Tick when A/B tested. |
| **CTR** | Number (percentage) | Click‑through rate from YouTube Studio. |
| **Notes** | Text | Color palette, font, etc. |

#### Sample rows  

| Name | Status | CTR |
|------|--------|-----|
| How to Edit Videos | Designing | 2.3% |
| SEO for YouTube | Not Started | — |
| Thumbnails That Convert | Testing | 4.7% |

---

### 4️⃣ **Sponsor Deals**

| Property | Type | Details |
|----------|------|---------|
| **Name** | Title | e.g., “Video Editing Software”. |
| **Project** | Relation → **Video Projects** | One‑to‑one (optional). |
| **Brand** | Text | Sponsor company. |
| **Status** | Select | `Negotiation`, `Confirmed`, `Pending Payment`, `Completed`, `Cancelled`. |
| **Deal Amount** | Number (USD) | Total contract value. |
| **Contract Start** | Date | Start of partnership. |
| **Contract End** | Date | End date / deliverable deadline. |
| **Deliverables** | Multi‑select | `Mention`, `Overlay`, `Link in Description`, `Custom CTA`. |
| **Payment Status** | Select | `Unpaid`, `Paid`, `Partial`. |
| **Notes** | Text | Terms, contacts, etc. |

#### Sample rows  

| Name | Brand | Status | Deal Amount |
|------|-------|--------|-------------|
| Video Editing Software | Brand A | Negotiation | $500 |
| SEO Tool Partnership | Brand B | Confirmed | $1,000 |

---

### 5️⃣ **SEO Keywords**

| Property | Type | Details |
|----------|------|---------|
| **Keyword** | Title | Primary target keyword. |
| **Search Volume** | Number | Avg. monthly searches (from Ahrefs/SEMrush). |
| **Competition** | Select | `Low`, `Medium`, `High`. |
| **Difficulty** | Number (0‑100) | SEO difficulty score. |
| **CPC** | Number (USD) | Cost‑per‑click (optional). |
| **Target Video** | Relation → **Video Projects** | Many‑to‑many. |
| **Current Rank** | Number | Position in YouTube search (1‑100). |
| **Previous Rank** | Number | Nightly rank captured by Zapier/Make. |
| **Rank Change** | Formula | `prop("Previous Rank") - prop("Current Rank")` (positive = improvement). |
| **Notes** | Text | Intent, LSI terms, etc. |

#### Sample rows  

| Keyword | Search Volume | Competition | Current Rank | Rank Change |
|---------|---------------|-------------|--------------|------------|
| Video Editing Tips | 5,000 | Medium | 12 | +2 |
| YouTube SEO | 8,000 | High | 8 | -1 |

---

### 6️⃣ **YouTube Analytics** (Nightly Import)

| Property | Type | Details |
|----------|------|---------|
| **Date** | Date (created time) | Nightly snapshot (auto‑generated by Zapier/Make). |
| **Video** | Relation → **Video Projects** | One‑to‑one (matched via `YouTube Video ID`). |
| **Views** | Number | Daily views. |
| **Watch Time** | Number (minutes) | Daily watch time. |
| **Avg View Duration** | Formula | `if(prop("Views") > 0, prop("Watch Time") / prop("Views"), 0)` |
| **Subscribers Gained** | Number | Daily subscriber delta. |
| **Likes** | Number | Daily likes. |
| **Dislikes** | Number | Daily dislikes. |
| **Comments** | Number | Daily new comments. |
| **Estimated Revenue** | Formula | `prop("Views") * 5 / 1000` *(assumes $5 CPM)* |
| **Notes** | Text | Anomalies, spikes, etc. |

#### Sample rows  

| Date | Video | Views | Watch Time | Subscribers Gained | Estimated Revenue |
|------|-------|-------|------------|--------------------|-------------------|
| 2026‑10‑01 | How to Edit Videos | 1,500 | 300 | 10 | $7.50 |
| 2026‑10‑02 | How to Edit Videos | 1,800 | 400 | 15 | $9.00 |

---

### 7️⃣ **KPI Summary** (Roll‑up Table)

Create a **linked database** of **YouTube Analytics** filtered to the **current month**. Add the following **Rollup** columns (grouped by `Video`):

| Property | Rollup | Calculation |
|----------|--------|-------------|
| **Monthly Views** | `Views` → **Sum** | — |
| **Monthly Watch Time** | `Watch Time` → **Sum** | — |
| **Avg Watch Duration** | `Avg View Duration` → **Average** | — |
| **Monthly Subscribers** | `Subscribers Gained` → **Sum** | — |
| **Monthly Revenue** | `Estimated Revenue` → **Sum** | — |
| **Growth %** | Formula | `if(prop("Prev Month Views") == 0, 0, round((prop("Monthly Views") - prop("Prev Month Views")) / prop("Prev Month Views") * 100, 1))` (requires a second roll‑up for previous month). |

Place this table on the **Dashboard** as a compact KPI widget.

---

## 🤖 **AI‑Powered Buttons**  

| Button | Prompt (OpenAI) | Result Location |
|--------|----------------|-----------------|
| **Generate Script Draft** | `You are a YouTube scriptwriter. Write a 800‑word first‑draft script for a video titled “{{title}}”. Include an intro hook, three main points, and a call‑to‑action. Use a conversational tone.` | Creates a new entry in **Video Scripts** (linked to the current project) and fills the **Draft** field. |
| **Suggest Thumbnail Concept** | `You are a thumbnail designer. Based on the video title “{{title}}”, suggest three bold thumbnail concepts, each with a short description of imagery, color palette, and headline text (max 6 words).` | Writes the output into the **AI Concept** field of the related **Thumbnails** record. |

**How to add:**  
1. In any **Video Projects** page, type `/template button`.  
2. Name it “Generate Script Draft”.  
3. Set **Action → Duplicate a page** → select the **Video Scripts** template (create a hidden template page with the fields above).  
4. In the **Script** field of the template, paste the prompt (replace `{{title}}` with `prop("Name")`).  
5. Repeat for “Suggest Thumbnail Concept” targeting the **Thumbnails** database.

---

## 📱 **Mobile‑Friendly View**  

1. **Full‑width toggle** – Open the page menu (⋯) → **Page Settings** → enable **Full‑width**.  
2. **Custom icons** – Click the page title → **Add icon** → choose a simple emoji or upload a 128 px PNG (e.g., 🎬 for Dashboard, 📁 for Projects, ✍️ for Scripts).  
3. **Status Tag Palette** – Edit the **Status** property in each database and assign colors:  

| Status | Color |
|--------|-------|
| Idea | Gray |
| Script Draft | Blue |
| Filming | Orange |
| Editing | Purple |
| Ready | Green |
| Published | Black |
| Not Started (Scripts/Thumbnails) | Light Gray |
| Designing | Teal |
| Testing | Yellow |
| Approved | Dark Green |

These colors appear as colored tags on mobile, giving an instant visual cue.

---

## 🌐 **Community Hub (Discord / Slack)**  

| Platform | Invite Link | Embed Code |
|----------|------------|------------|
| Discord | `https://discord.gg/ytcreatorhub` | `<iframe src="https://discord.com/widget?id=YOUR_SERVER_ID&theme=light" width="350" height="500" allowtransparency="true" frameborder="0"></iframe>` |
| Slack | `https://join.slack.com/t/ytcreatorhub/shared_invite/xxxxxx` | Use the **Slack Invite Button** block (copy from Slack > Invite people). |

**Setup steps**  

1. Create a Discord server named **“YouTube Creator Hub”**.  
2. Add channels: `#announcements`, `#best‑practices`, `#feature‑requests`, `#support`.  
3. Enable **Widget** in Server Settings → **Widget** → copy the embed URL.  
4. In Notion, add a **Code** block → paste the iframe code above, then **/embed** → paste the same URL to render the live widget.  
5. For Slack, generate a permanent invite link (Admin → Invite people → Create link) and embed it as a button using Notion’s **Button** block.

---

## 🔄 **Automations**

### 1️⃣ **YouTube Data API → KPI Tables**  

| Step | Tool | Action |
|------|------|--------|
| **a. Create Google Cloud Project** | Google Cloud Console | Enable **YouTube Data API v3**, create an **API key** (or OAuth client if you need channel‑wide access). |
| **b. Connect to Notion** | Zapier or Make.com | Create a **Zap** / **Scenario**: **YouTube → Get Video Statistics** (use the API key). |
| **c. Map to Notion** | Zapier/Make → Notion “Create Database Item” | Target **YouTube Analytics** table. Map: `videoId → YouTube Video ID`, `viewCount → Views`, `watchTimeMinutes → Watch Time`, `subscriberCountDelta → Subscribers Gained`, `likeCount → Likes`, `dislikeCount → Dislikes`, `commentCount → Comments`. |
| **d. Schedule** | Zapier → **Every Day at 02:00 UTC** (or Make.com → **Scheduler**) | Ensures nightly refresh. |
| **e. Roll‑up** | Notion | KPI Summary automatically updates via the roll‑ups defined above. |

**Important:** The Zap/Make scenario must first **search** the **Video Projects** database for a matching `YouTube Video ID`. If none exists, the automation can create a placeholder project (status = “Published”) so the KPI still appears.

### 2️⃣ **SEO Keyword Rank Nightly Update**  

| Step | Tool | Action |
|------|------|--------|
| **a. Ahrefs/SEMrush API** | Ahrefs or SEMrush account | Obtain **API credentials** (API key + secret). |
| **b. Make.com Scenario** | Make.com → HTTP → GET | Call the endpoint `GET /v3/keywords/rank?keyword={{keyword}}&platform=youtube` for each keyword in **SEO Keywords**. |
| **c. Iterator** | Make.com → **Iterator** | Loop through all rows in the **SEO Keywords** table (use Notion “Search Database Items” module). |
| **d. Update Notion** | Make.com → **Update a Database Item** | Write the returned `rank` into **Current Rank**, shift the old `Current Rank` into **Previous Rank** before overwriting. |
| **e. Scheduler** | Make.com → **Scheduler** | Run **every night at 01:30 UTC**. |
| **f. Error handling** | Make.com → **Error handler** | If API limit is reached, send a Slack/Discord alert to the community channel. |

---

## 📅 **Views & Filters**  

| Database | View | Type | Filters / Sort | Key Columns |
|----------|------|------|----------------|-------------|
| **Video Projects** | Production Board | Board | `Status` ≠ `Published`; Sort by `Priority` ↓ | `Name`, `Status`, `Priority`, `Publish Date` |
| | Calendar | Calendar | `Publish Date` within next 30 days | `Publish Date` |
| | Upcoming Table | Table | `Publish Date` ≤ `today + 7 days`; Sort by `Publish Date` ↑ | `Name`, `Status`, `Publish Date` |
| | Gallery (Thumbnails) | Gallery | `Thumbnail → Design File` as cover; `Status` = `Ready` | `Name`, `Video URL` |
| **Video Scripts** | Drafts | Table | `Status` ≠ `Final`; Sort by `Revision Count` ↓ | `Name`, `Status`, `Revision Count` |
| **Thumbnails** | Design Gallery | Gallery | `Design File` as cover; `Status` ≠ `Approved` | `Name`, `CTR` |
| **Sponsor Deals** | Deal Pipeline | Board | Group by `Status`; Sort by `Deal Amount` ↓ | `Name`, `Brand`, `Deal Amount`, `Contract End` |
| **SEO Keywords** | Rank Tracker | Table | `Current Rank` ≤ 30; Sort by `Rank Change` ↓ | `Keyword`, `Current Rank`, `Rank Change` |
| **YouTube Analytics** | Daily Log | Table | Sort by `Date` ↓ | `Views`, `Avg View Duration`, `Subscribers Gained` |
| | Monthly Charts | Embed | Embed Google Sheet chart (see below) | — |

---

## 📈 **Embedding Charts (Optional)**  

1. **Google Sheet** – Connect the sheet to the **YouTube Analytics** CSV export (or use the YouTube Reporting API).  
2. Build line charts for **Views**, **Subscribers**, **Revenue** over time.  
3. Publish the chart to the web (`File → Publish to the web → Chart`).  
4. In Notion, type `/embed` → paste the **publish‑to‑web** link.  
5. Resize to fit the Dashboard.

---

## 🚀 **Installation & Setup (Step‑by‑Step)**  

1. **Duplicate the Template** – Click **“Duplicate”** at the top‑right of this page (or use the “Copy to workspace” button).  
2. **Convert Tables → Databases** – For each table, click the three‑dot menu → **Turn into database** → **Table**.  
3. **Add Properties** – Follow the **Property** tables above. Use the exact names and types; Notion will auto‑create relations when you select **Relation**.  
4. **Create Relations** – Add a **Relation** property in each database pointing to its target (e.g., **Video Projects → Script**). Enable **“Show on [target]”** for the reciprocal link.  
5. **Add Formulas & Roll‑ups** – Click **+ Add a property**, choose **Formula** or **Rollup**, then paste the exact formula shown.  
6. **Build Views** – For each database, click **Add a view**, select the type (Board, Calendar, Gallery, Table), then apply the filters/sorts listed in the **Views & Filters** table.  
7. **Populate Sample Data** – Use the sample rows provided to verify that relations, roll‑ups, and formulas work correctly.  
8. **Set Up YouTube Data API Automation** – Follow the **YouTube Data API → KPI Tables** section (Google Cloud → Zapier/Make → Notion). Store the API key in Zapier/Make’s **Environment Variables** for security.  
9. **Set Up SEO Keyword Automation** – Follow the **SEO Keyword Rank Nightly Update** steps (Ahrefs/SEMrush → Make.com → Notion).  
10. **Add AI‑Powered Buttons** – Insert the two template buttons described in **AI‑Powered Buttons** on the **Video Projects** page.  
11. **Enable Mobile‑Friendly Layout** – Turn on **Full‑width**, add custom icons, and set the **Status** tag colors (see **Status Tag Palette**).  
12. **Add Community Widget** – Embed the Discord iframe (or Slack button) on the Dashboard using `/embed`.  
13. **Customize the Dashboard** – Drag‑and‑drop widgets, resize tables, and add your own cover images.  
14. **Share / Publish** – Click **Share → Share to web**, enable **“Allow duplicate as template”**, and copy the public link to distribute or sell the template.  

---

## 🎉 **You’re Ready!**  

This **PRO** version gives you:

* **Live KPI data** pulled automatically from YouTube.  
* **AI‑generated script drafts** and **thumbnail concepts** at the click of a button.  
* **Mobile‑first design** with full‑width layout, custom icons, and colored status tags.  
* **A thriving community** (Discord / Slack) for real‑time support and feature voting.  
* **Nightly SEO rank updates** from Ahrefs or SEMrush via Zapier/Make.  

Duplicate, fill in your own data, and start publishing smarter, faster, and more profitably than any competitor. Happy creating!