# 🎬 TikTok Creator Hub – Premium Template  

---  

## 📊 Dashboard & Quick‑Start  

| Widget | Description | Implementation |
|--------|-------------|----------------|
| **🧭 KPI Bar** | Total Views | `rollup` → **Performance → Views** (sum) |
| **👍 Engagement Score** | (Likes + Comments + Shares) ÷ Views × 100 % | `formula` → `round((prop("Likes")+prop("Comments")+prop("Shares"))/prop("Views")*100,1)` |
| **📈 Daily Metrics** | Real‑time TikTok stats (Views, Likes, Followers) pulled via TikTok Business API | `rollup` → **Performance → Views / Likes / Followers** (sum) |
| **🗓️ Upcoming Posts** | Calendar view of next 7 days | Linked view of **Content Calendar** filtered `date >= now() && date <= dateAdd(now(),7,"days")` |
| **💾 Backup Status** | Last backup timestamp | `formula` → `formatDate(prop("Last Backup"),"MMM DD, YYYY HH:mm")` |
| **🎥 Onboarding Video** | 5‑min walkthrough | Insert → **Video** → `https://youtu.be/your‑premium‑tour‑link` |
| **💬 Discord Support** | Live community widget | Embed → `https://discord.com/widget?id=YOUR_SERVER_ID&theme=light` |
| **🆓 Lite Version** | Switch to free “lite” copy (no brand‑deal DB, limited rollups) | Button → **Duplicate Lite** (template copy with `Lite = true` flag) |

### Quick‑Start Checklist  

1. **Duplicate** this template into your workspace.  
2. **Connect Integrations** (see “Setup Guide” below).  
3. **Import Trending Topics** – TikTok API → **Trending Topics** (auto‑populated).  
4. **Generate Captions, Hooks & Scripts** – click the **“AI Generate”** button on any row.  
5. **Schedule** videos in the **Content Calendar** (calendar view).  
6. **Monitor** performance on the **Dashboard** (real‑time rollups).  
7. **Export / Backup** weekly with the **“Backup Now”** button.  

---  

## 📈 Trending Topics (Database)  

| Property | Type | Options / Formula |
|----------|------|-------------------|
| **🗂️ Topic** | Title | – |
| **🏷️ Category** | Select | `Dance`, `DIY`, `Fitness`, `Cooking`, `Tech`, `Other` |
| **🔗 Source** | Select | `TikTok`, `Instagram`, `YouTube`, `RSS Feed`, `Manual` |
| **📅 Date Discovered** | Date | – |
| **⚙️ Status** | Select (color‑coded) | `✅ Ready` (green), `🔄 Research` (orange), `❌ Discarded` (red) |
| **🤖 AI Caption** | Relation → **AI Content Generator** | – |
| **🧩 AI Hook** | Relation → **AI Content Generator** | – |
| **📝 AI Script** | Relation → **AI Content Generator** | – |
| **📊 Total Views** | Rollup (Performance → Views) | `sum` |
| **📈 Weekly Avg Views** | Rollup (Performance → Views) | `average` |
| **🧭 Trend Score** | Formula | `if(prop("Total Views")==0,0,round(prop("Total Views")/7,0))` |

### Pre‑Built Views  

* **All Topics** – Table, grouped by **Category**.  
* **Hot This Week** – Table, filter `Date Discovered >= dateAdd(now(), -7, "days")`.  
* **Ready for Production** – Table, filter `Status = "✅ Ready"` and sort `Date Discovered ↑`.  

---  

## 🤖 AI Content Generator (Database)  

| Property | Type | Options / Formula |
|----------|------|-------------------|
| **🗂️ Topic** | Relation → **Trending Topics** (sync) | – |
| **📝 Caption** | Text | – |
| **💡 Hook** | Text | – |
| **📜 Script Outline** | Text | – |
| **🎤 Tone** | Select | `Fun`, `Informative`, `Motivational`, `Casual`, `Professional` |
| **📏 Length** | Select | `Short (≤30 chars)`, `Medium (31‑70)`, `Long (71‑120)` |
| **⚙️ Status** | Select (color‑coded) | `✅ Generated` (green), `⏳ Generating` (yellow), `❌ Error` (red) |
| **🔄 Generate** | Button (Make.com) | Calls **OpenAI GPT‑4** with three prompts (caption, hook, script). |
| **🕒 Last Run** | Formula | `formatDate(prop("Updated Time"),"MMM DD, YYYY HH:mm")` |

### Automation Details (Make.com)  

1. **Trigger** – Notion “Button Click” on **Generate**.  
2. **Action 1** – OpenAI **Chat Completion**:  
   * Prompt 1: `"Write a {prop("Tone")} TikTok caption about {prop("Topic")} in {prop("Length")} characters."` → write to **Caption**.  
   * Prompt 2: `"Create a hook (max 15 words) that grabs attention for {prop("Topic")}."` → write to **Hook**.  
   * Prompt 3: `"Outline a 30‑second script for a TikTok video about {prop("Topic")} with a {prop("Tone")} tone."` → write to **Script Outline**.  
3. **Action 2** – Update **Status** to `✅ Generated`.  
4. **Error Path** – If any API call fails, set **Status** to `❌ Error` and post a comment with the error message.  

---  

## 📅 Content Calendar (Database)  

| Property | Type | Options / Formula |
|----------|------|-------------------|
| **📅 Date** | Date (with reminder) | Set reminder **1 hour before** |
| **🗂️ Topic** | Relation → **Trending Topics** (sync) | – |
| **📝 Caption** | Rollup (AI Content Generator → Caption) | `show original` |
| **💡 Hook** | Rollup (AI Content Generator → Hook) | `show original` |
| **📜 Script** | Rollup (AI Content Generator → Script Outline) | `show original` |
| **📹 Video File** | Files & media | – |
| **⚙️ Status** | Select (color‑coded) | `📝 Draft` (gray), `⏳ In Edit` (orange), `📅 Scheduled` (blue), `✅ Published` (green), `🗑️ Archived` (red) |
| **📊 Views** | Rollup (Performance → Views) | `sum` |
| **🔗 Performance** | Relation → **Performance Dashboard** | – |
| **🗂️ Collaboration** | Multi‑select | `Editor`, `Animator`, `Copywriter`, `Analyst` |
| **🗒️ Notes** | Text | – |

### Views  

| View | Type | Filters / Sort |
|------|------|----------------|
| **Calendar** | Calendar (Date) | – |
| **Upcoming 7 Days** | Table | `Date >= now() && Date <= dateAdd(now(),7,"days")` |
| **Batch Filming** | Board (Status) | Group by **Status**, filter `Status != "✅ Published"` |
| **Repurposing Queue** | Table | Filter `Status = "✅ Published"` and sort `Date ↓` |
| **Collaboration Tracker** | Table | Show **Collaboration** column, group by **Collaboration** |

---  

## 📈 Performance Dashboard (Database)  

| Property | Type | Options / Formula |
|----------|------|-------------------|
| **📅 Date** | Date | – |
| **🗂️ Topic** | Relation → **Trending Topics** (sync) | – |
| **👀 Views** | Number | **TikTok API** → `GET https://business-api.tiktok.com/open_api/v1.3/video/metrics?video_id={prop("TikTok Video ID")}` → `view_count` |
| **👍 Likes** | Number | Same API call → `like_count` |
| **💬 Comments** | Number | Same API call → `comment_count` |
| **🔁 Shares** | Number | Same API call → `share_count` |
| **👥 Followers** | Number | **TikTok API** → `GET https://business-api.tiktok.com/open_api/v1.3/account/metrics?account_id={prop("TikTok Account ID")}` → `follower_count` |
| **📈 Engagement Rate** | Formula | `round((prop("Likes")+prop("Comments")+prop("Shares"))/prop("Views")*100,1)` |
| **🗓️ Week** | Formula | `formatDate(prop("Date"),"YYYY‑WW")` |

### Rollups on Dashboard  

* **Total Views (All Time)** – `sum(Views)`  
* **Avg. Engagement Rate (Weekly)** – `average(Engagement Rate)` (grouped by **Week**)  
* **Weekly Follower Growth** – `sum(Followers)` (rollup from **Followers** column)  

---  

## 🤝 Brand‑Deal Pipeline (Database)  

| Property | Type | Options / Formula |
|----------|------|-------------------|
| **🏷️ Deal Name** | Title | – |
| **🧑‍💼 Brand** | Text | – |
| **📅 Stage** | Select (color‑coded) | `Lead` (gray), `Negotiation` (orange), `Contract Sent` (blue), `Signed` (green), `Paid` (purple), `Closed‑Lost` (red) |
| **💰 Contract Value** | Number (currency) | – |
| **📅 Payment Due** | Date | – |
| **✅ Payment Received** | Checkbox | – |
| **🔗 Contract Link** | URL | – |
| **🗒️ Notes** | Text | – |
| **🕒 Last Update** | Formula | `formatDate(prop("Last Edited Time"),"MMM DD, YYYY HH:mm")` |

### Pipeline Views  

* **All Deals** – Table, grouped by **Stage**.  
* **Pending Payments** – Table, filter `Payment Received = false && Payment Due <= now()` sorted by **Payment Due** ascending.  
* **Revenue Tracker** – Table, filter `Stage = "Paid"` and sum **Contract Value**.  

---  

## 📊 Competitor Research (Database)  

| Property | Type | Options / Formula |
|----------|------|-------------------|
| **🧑‍💼 Competitor** | Title | – |
| **📈 Avg. Views** | Number | **RapidAPI – TikTok Hashtag Search**: `GET https://tiktok33.p.rapidapi.com/hashtag/{hashtag}` → `stats.viewCount` (average) |
| **📊 Avg. Likes** | Number | Same API → `stats.likeCount` |
| **🔖 Trending Hashtags** | Multi‑select | Populated via **Zapier**: `GET https://tiktok33.p.rapidapi.com/hashtag/trending` → add top 10 tags |
| **🗓️ Last Checked** | Date | – |
| **⚙️ Status** | Select (color‑coded) | `✅ Current` (green), `🔄 Updating` (yellow), `❌ Error` (red) |
| **🔄 Refresh** | Button (Zapier) | Calls the RapidAPI endpoint, writes back numbers, updates **Last Checked**. |

### Views  

* **Competitor Overview** – Table, grouped by **Status**.  
* **Top Hashtags** – Table, filter `Trending Hashtags != empty` and sort by **Avg. Views** descending.  

---  

## 🔧 Setup Guide  

1. **Duplicate Template** – Click **Duplicate** at top‑right.  
2. **Connect Make.com (OpenAI)**  
   * Create a scenario: **Notion → Watch Database Item** (on **AI Content Generator** button click) → **OpenAI → Chat Completion** → **Notion → Update Database Item** (write Caption, Hook, Script, set Status).  
   * Add your **OpenAI API key** under **Connections → OpenAI**.  
3. **Connect TikTok Business API**  
   * In Make.com, add a **TikTok → Get Video Metrics** module. Supply **Video ID** (store in **Performance Dashboard** as a hidden property).  
   * Map the returned `view_count`, `like_count`, `comment_count`, `share_count` to the respective columns.  
   * Schedule the scenario to run **every 4 hours** for up‑to‑date rollups.  
4. **Connect Competitor Research (RapidAPI)**  
   * In Zapier, create a Zap: **Schedule → Every 12 hours** → **Webhooks → GET** `https://tiktok33.p.rapidapi.com/hashtag/trending` (add RapidAPI key).  
   * Parse JSON, update **Competitor Research → Trending Hashtags**, **Avg. Views**, **Avg. Likes**.  
5. **Brand‑Deal Pipeline** – No external API needed; all fields are native Notion.  
6. **Discord Community**  
   * Create a Discord server (e.g., `tiktok‑creator‑hub`).  
   * Enable **Widget** in Server Settings → **Widget** → **Copy Widget URL**.  
   * In Notion, add an **Embed** block with that URL (see Dashboard widget).  
   * Invite users via the “Join Discord” button (Button → **Open URL**).  
7. **Lite Version Switch**  
   * Click **Duplicate Lite** (button at top of Dashboard).  
   * The lite copy automatically hides the **Brand‑Deal Pipeline** and **Competitor Research** tables (via filtered views) and disables the paid‑only rollups.  
8. **Backup & Export**  
   * **Backup Now** button → Zapier: **Notion → Export All DBs → Google Drive (CSV)**.  
   * **Export All CSV** – native Notion export dialog.  
9. **Styling & Icons** – All databases keep leading emojis (🗂️, 🤖, 📅, 📈, 🤝, 📊). Status tags are color‑coded in property settings.  

---  

## 📂 Export & Backup Buttons (Embedded)  

| Button | Action |
|--------|--------|
| **🔄 Backup Now** | Triggers Zapier “Backup” workflow (see Setup Guide). |
| **📥 Export All CSV** | Opens Notion’s native export dialog for each database. |
| **💾 Download Google Sheet** | Direct link to the backup spreadsheet stored in Google Drive. |
| **🆓 Duplicate Lite** | Creates a copy of the template with premium‑only sections hidden. |

---  

## 🎨 Styling & Onboarding  

* **Icons** – Each database page starts with an emoji icon for instant visual cue.  
* **Color‑coded Status Tags** – Set in property settings (green, orange, blue, gray, red, purple).  
* **Step‑by‑Step Video** – 5‑minute premium walkthrough (linked in Dashboard).  
* **Help Center** – At the bottom of each page, a toggle block “❓ Help & FAQ” with common questions.  
* **Discord Support Widget** – Live widget embedded on the Dashboard for instant community help.  

---  

## 📎 Final Notes  

* All relational links are **two‑way synced**; updating a Topic name updates across AI Content Generator, Content Calendar, and Performance Dashboard.  
* **TikTok Business API** provides live metrics; no Google Sheets chart is required.  
* **AI content generation** runs on‑demand via the **“AI Generate”** button, producing caption, hook, and script outline in seconds.  
* **Brand‑Deal Pipeline** tracks every stage from lead to payment, with contract links and automatic revenue totals.  
* **Competitor Research** pulls trending hashtags and performance stats from a public RapidAPI endpoint, refreshed twice daily.  
* **Discord community** offers real‑time support; the embedded widget keeps the experience inside Notion.  
* **Lite version** lets new users test core features before upgrading to the full premium suite.  
* Export and backup mechanisms ensure data safety and portability.  

---  

*Enjoy creating viral TikTok content with the most powerful, fully‑automated Notion workflow!*