# 📬 **Ultimate Newsletter Planning Hub** – Premium Notion Template  

> **Designed for teams of any size** – from solo creators to multi‑author newsletters.  
> Includes **automation hooks, analytics dashboard, onboarding guide, role‑based permission SOPs, advanced synced views, one‑click issue creator, media gallery, KPI formulas**, and everything from the original version.

---  

## 1️⃣ **Dashboard – Weekly Pulse & Live Analytics**  

| Metric | This Week | Next Week | Target |
|--------|-----------|-----------|--------|
| **Issue #** | 12 | 13 | — |
| **Drafts Completed** | 3 | 5 | 5 |
| **Emails Sent** | 0 | 0 | 1 |
| **Open‑Rate Goal** | 45 % | 45 % | 45 % |

### Live KPI Widgets (Notion Formula‑driven)

| KPI | Formula | Display |
|-----|---------|---------|
| **Open‑Rate %** | `round(prop("Opens") / prop("Delivered") * 100, 1) + "%" ` | Inline number |
| **CTR %** | `round(prop("Clicks") / prop("Delivered") * 100, 1) + "%" ` | Inline number |
| **Week‑over‑Week Δ Open‑Rate** | `if(empty(prop("Prev Open‑Rate")), "—", round((prop("Open‑Rate %") - prop("Prev Open‑Rate")) / prop("Prev Open‑Rate") * 100, 1) + "%")` | Inline number |

> **Tip:** Pin this Dashboard to your sidebar and set it as your **Home** page for instant morning check‑ins.

### Embedded Analytics Dashboard  

- **Google Data Studio** (pre‑configured) – shows **Open Rate, Click‑Through, Subscriber Growth** with live charts.  
  ```embed
  https://datastudio.google.com/embed/reporting/your‑report‑id/page/your‑page‑id
  ```  
- **Notion Chart** (using the free “Notion Charts” integration) – shows **Issue‑by‑Issue Open Rate Trend**.  
  ```embed
  https://chart.notion.so/embed?type=line&data=Performance%20Tracker&x=Publish%20Date&y=Open%20Rate
  ```

---  

## 2️⃣ **Onboarding & Training Center**  

**Page:** `🚀 Onboarding Hub` (linked from the Dashboard)

| Section | Content | Format |
|---------|---------|--------|
| **Welcome Video** | 5‑min walkthrough (hosted on Loom) | Embedded video |
| **Step‑by‑Step Setup Guide** | Screenshots + numbered actions for each database | Markdown with images |
| **Sample Data Pack** | 3 pre‑filled issues, assets, and performance rows | CSV import button |
| **FAQ & Troubleshooting** | Common questions + support links | Toggle list |
| **Team Roles & Permissions SOP** | Detailed matrix + how‑to assign | Table + checklist |

> **Tip:** New members complete the **Onboarding Checklist** (template button at the bottom) before getting edit access.

---  

## 3️⃣ **Role‑Based Permission Templates & SOP**  

### Permission Matrix (Page: `🔐 Permissions SOP`)

| Role | Database Access | Allowed Actions | How to Assign |
|------|----------------|----------------|---------------|
| **Owner** | All | Full edit, share, delete | Workspace → Settings → Members |
| **Editor** | All databases | Edit & create, **no** delete of Issue Builder rows | Add to **Editors** group |
| **Writer** | Content Calendar, Asset Library | Add/Edit content, **read‑only** on Issue Builder & Performance Tracker | Add to **Writers** group |
| **Viewer** | Dashboard, Resources & SOPs | Read‑only | Add to **Viewers** group |

### Permission Templates (saved as **Page Templates**)

1. **Editor Template** – page with a pre‑filled “You are an Editor” banner and a checklist to set up filters.  
2. **Writer Template** – page with a “Content Submission Form” (template button) and read‑only view of the Issue Builder.  

> **Implementation:** In each database → **Share** → **Add a group**, select the appropriate role template.  

---  

## 4️⃣ **Content Calendar – Master Database**  

| Property | Type | Description |
|----------|------|-------------|
| **Title** | Title | Content headline |
| **Type** | Select (Article, Listicle, Interview, Promo, Graphic, Video) |
| **Author** | Person |
| **Publish Date** | Date |
| **Status** | Select (Idea, Draft, In Review, Ready, Published) |
| **Tags** | Multi‑select |
| **Days Until Publish** | Formula `dateBetween(prop("Publish Date"), now(), "days")` |
| **Workload Score** | Formula `if(prop("Status") == "Draft", 2, if(prop("Status") == "In Review", 3, 1))` |
| **Related Issue** | Relation → Issue Builder |
| **Assets** | Relation → Asset Library (multiple) |

### Synced Views (all **linked** to the same master database)

| View | Type | Filters | Grouping | Purpose |
|------|------|---------|----------|---------|
| **Board – Status** | Board | – | Group by **Status** | Visual workflow |
| **Timeline – Author Load** | Timeline | – | Group by **Author** | Balance workload |
| **Calendar – Publish** | Calendar | – | – | See upcoming sends |
| **Gantt – Project Plan** | Gantt (via Notion Gantt integration) | Status ≠ “Published” | – | Long‑term planning |
| **Table – Workload** | Table | – | Sort by **Workload Score** descending | Prioritize heavy items |

> **Tip:** Use the **“Author Load”** view to ensure no writer exceeds 5 workload points per week.

---  

## 5️⃣ **Issue Builder – One‑Click Issue Creator**  

| Property | Type | Description |
|----------|------|-------------|
| **Issue #** | Number (auto‑increment) |
| **Publish Date** | Date |
| **Theme** | Text |
| **Main Article** | Relation → Content Calendar (single) |
| **Secondary Pieces** | Relation → Content Calendar (multiple) |
| **Assets** | Relation → Asset Library (multiple) |
| **Status** | Select (Planning, In Review, Ready, Sent) |
| **Send Date** | Date (used by automation) |
| **Delivered** | Formula `prop("Subscriber Count")` (set via subscriber DB) |
| **Open Rate** | Formula `if(empty(prop("Opens")), 0, round(prop("Opens") / prop("Delivered") * 100, 1))` |
| **CTR** | Formula `if(empty(prop("Clicks")), 0, round(prop("Clicks") / prop("Delivered") * 100, 1))` |
| **Notes** | Text |

### Template Button – **“Create New Issue”**

```markdown
/template-button
Create New Issue
Create a new Issue Builder entry pre‑populated with:
- Status = Planning
- Empty Main Article & Secondary Pieces (relations ready)
- Linked Checklist (see section 7)
- Default Send Date = Publish Date + 1 day
```

> **Result:** Users click the button once, fill the theme & publish date, then drag content items from the Content Calendar into the relation fields.

---  

## 6️⃣ **Asset Library – Media Gallery & Bulk Upload**  

| Property | Type | Description |
|----------|------|-------------|
| **Asset Name** | Title |
| **Type** | Select (Image, Graphic, Video, Text Snippet) |
| **File** | Files & media |
| **Thumbnail** | Formula `if(prop("Type") == "Image", prop("File").first().url, "https://via.placeholder.com/150")` (used in Gallery view) |
| **Source** | Text |
| **License** | Select (Free, Owned, Paid, Internal) |
| **Linked Issues** | Relation → Issue Builder (multiple) |
| **Tags** | Multi‑select |

### Views  

| View | Type | Settings |
|------|------|----------|
| **Gallery – All Assets** | Gallery | Card preview = **Thumbnail**, Show = Name, Type, Tags |
| **Table – Bulk Upload** | Table | Add a **“Upload Files”** button (template) that creates multiple rows at once via the **“New from Template”** feature. |
| **Filtered – Images Only** | Gallery | Filter `Type = Image` |
| **Filtered – Text Snippets** | List | Filter `Type = Text Snippet` |

> **Tip:** Drag‑and‑drop multiple files onto the **Bulk Upload** table; each file creates its own record automatically.

---  

## 7️⃣ **Performance Tracker – KPI & Trend Analysis**  

| Property | Type | Description |
|----------|------|-------------|
| **Issue #** | Relation → Issue Builder |
| **Sent Date** | Date |
| **Delivered** | Number (imported from email platform via Zapier) |
| **Opens** | Number |
| **Clicks** | Number |
| **Unsubscribes** | Number |
| **Open Rate** | Formula `if(empty(prop("Delivered")), 0, round(prop("Opens") / prop("Delivered") * 100, 1))` |
| **CTR** | Formula `if(empty(prop("Delivered")), 0, round(prop("Clicks") / prop("Delivered") * 100, 1))` |
| **Prev Open Rate** | Rollup (Issue Builder → Performance Tracker → Open Rate, “Show previous value”) |
| **Δ Open Rate WoW** | Formula `if(empty(prop("Prev Open Rate")), 0, round((prop("Open Rate") - prop("Prev Open Rate")) / prop("Prev Open Rate") * 100, 1))` |
| **Trend Sparkline** | Formula `formatDate(prop("Sent Date"), "MMM dd") + ": " + prop("Open Rate") + "%"` (used in a **Rollup** chart view) |

### KPI Widgets (inline on the Dashboard)

- **Average Open Rate (last 4 issues)** – Formula rollup on Performance Tracker.  
- **Week‑over‑Week Δ Open Rate** – Inline number with conditional color (green >0, red <0).  

---  

## 8️⃣ **Workflow Checklist – Embedded Template Button**  

**Template Button (inside each Issue page):**  

```
/template-button
Add Issue Checklist
- Idea Capture – Add ideas to Content Calendar
- Assign Author – Set Author property
- Draft – Move status to Draft; attach assets
- Edit & Review – Change status to In Review; tag reviewers
- Design Layout – Link assets, finalize copy
- Final Approval – Status → Ready
- Schedule Send – Fill **Send Date** in Issue Builder (triggers Zapier)
- Post‑Send Review – Populate Performance Tracker (opens, clicks, notes)
```

The button creates a **Toggle List** titled “✅ Issue Checklist” that is automatically checked off as tasks are completed (using **Checkbox** properties linked via a **Relation** to a hidden **Task Tracker** database).

---  

## 9️⃣ **Automation Hooks (Zapier / Notion API)**  

| Trigger | Action | Destination |
|---------|--------|-------------|
| **Issue Builder → Send Date set** | **Zapier** → POST to **Mailchimp** / **ConvertKit** “Create Campaign” with scheduled send date | Email platform |
| **Performance Tracker new row** | **Zapier** → Update Google Sheet **Newsletter KPI Log** | Reporting |
| **New Asset uploaded** | **Zapier** → Slack notification `#design‑assets` with preview link | Team communication |
| **Issue status → Sent** | **Zapier** → Mark campaign as **Sent** in Mailchimp, then push opens/clicks back to Performance Tracker via Notion API | Closed‑loop analytics |

> **Setup:** In the **Automation SOP** page, find pre‑filled Zapier webhook URLs and step‑by‑step connection guide.

---  

## 🔟 **Resources & SOP Library**  

- **Brand Style Guide** – PDF (read‑only)  
- **Email Design SOP** – Notion page with annotated mockups  
- **Copywriting Guidelines** – Notion page with tone‑of‑voice checklist  
- **Analytics Dashboard** – Embedded Google Data Studio (live)  
- **Automation SOP** – Detailed Zapier/Make setup with screenshots  
- **Permissions SOP** – Role matrix + how‑to assign groups (see section 3)  

> **Tip:** All SOP pages are set to **Read‑only** for the whole workspace; only **Owners** can edit.

---  

## 📥 **Import Instructions (One‑Click)**  

1. Click **Duplicate** at the top‑right of this page (or use the “Copy to workspace” button).  
2. In the duplicated copy, open each **Table** placeholder and select **Turn into a database** → choose the appropriate view type.  
3. For each database, add the **properties** exactly as listed (type matters).  
4. Set up **Relations** and **Rollups** as described in the tables above.  
5. Connect the **Zapier webhook URLs** (found in `Automation SOP`) to your email platform.  
6. Run the **Sample Data Pack** import (CSV button in the Onboarding Hub) to see a fully populated example.  

> **Done!** Your team now has a **turnkey, premium‑grade newsletter production system** that rivals any SaaS solution—complete with automation, analytics, onboarding, permissions, and a polished workflow. Enjoy higher open rates and smoother collaboration!