Requires Agent Content Intelligence

Video → Notion → Agent Action

From bookmarked to executed — automatically

Send any YouTube or XHS video URL to your agent. It transcribes, summarizes, saves to Notion, then applies the insights to your active marketing projects.

Est. setup
~45 min setup, then fully automated
Phases
2
Compatible agents
OpenclawHermes
Tools used
YouTube Transcript API AssemblyAI Claude Notion API

The Problem

You watch a useful marketing video. You like it. You save it. Then it disappears into the void of your bookmarks — never implemented, never applied.

This playbook eliminates that gap. Every video you send gets automatically transcribed, summarized with marketing context, and — crucially — applied to your active projects by an AI agent that knows your current workload.

What You’ll Build

[You find a useful video]


[Send URL → Openclaw / Hermes]  ← just paste and send

         ▼  PHASE 1: CAPTURE
[Transcribe]
  YouTube caption track  (free, instant)
  OR AssemblyAI          (multilingual, XHS/no-captions)


[Claude summarizes → structured marketing note]
  · Key Insights  · Actionable Tactics  · Tags


[Push to Notion]  status: "Pending Review"

         ▼  PHASE 2: AGENT APPLICATION
[Agent reads new Pending notes]
  Openclaw (daily cron) or Hermes (triggered)


[Maps insights → your active marketing projects]
  Reads current briefs, campaigns, content calendar


[Writes back to Notion]
  Action items linked to projects
  Status updated: "Applied"

Prerequisites

Accounts & API Keys

ServicePurposeCost
Openclaw or HermesAgent runtimeFree tier available
Anthropic APIClaude summarization~$0.01/video
Notion APINotes databaseFree
AssemblyAINon-YouTube / XHS transcription$0.37/hour (optional)

Notion Database Setup

Create a new Notion database called “Marketing Intelligence” with these properties:

PropertyTypeNotes
TitleTitleVideo title / topic
Source URLURLOriginal video link
PlatformSelectYouTube, XHS, Twitter
Key InsightsRich Text3–5 bullet points
Actionable TacticsRich TextSpecific steps to implement
Marketing TagsMulti-selectSEO, Content, Ads, Social, Brand…
Project LinkRelation→ Your Projects database
StatusSelectPending Review / Applied / Archived
Date AddedDateAuto-filled

Tip: Also create a “Projects” database if you don’t have one, with fields for Project Name, Client, Status (Active/Paused), and Content Calendar. Phase 2 reads from here.


Phase 1 — Capture & Store

Step 1: Install the Skill in Openclaw

# In your Openclaw terminal
/install video-capture-marketing

Or create it manually — paste the SKILL.md below into ~/.openclaw/skills/video-capture-marketing/SKILL.md.

Step 2: The Capture SKILL.md

This skill handles the full capture pipeline: detect platform → transcribe → summarize → push to Notion.

---
name: video-capture-marketing
description: Transcribe and summarize a YouTube or XHS video URL, then push a structured marketing note to Notion.
triggers:
  - "save this video"
  - "capture video"
  - "summarize this"
  - pattern: "^https?://(www\.)?(youtube\.com|youtu\.be|xiaohongshu\.com)"
---

You are a marketing intelligence assistant. When the user sends a video URL:

## Step 1: Detect Platform
- URL contains `youtube.com` or `youtu.be` → use YouTube transcript
- URL contains `xiaohongshu.com` or `xhslink.com` → use AssemblyAI
- Otherwise → attempt YouTube transcript, fallback to AssemblyAI

## Step 2: Transcribe

**YouTube path:**
Use the `get_youtube_transcript` tool with the video URL.
Extract the video title from the URL or page metadata.

**AssemblyAI path (XHS / no captions):**
1. Extract the video download URL from the page
2. Submit to AssemblyAI: POST https://api.assemblyai.com/v2/transcript
   - `{"audio_url": "<video_url>", "language_detection": true}`
3. Poll until status = "completed"
4. Retrieve the transcript text

If transcription fails, tell the user: "Could not transcribe this video. Try downloading it first and sharing the file."

## Step 3: Summarize with Claude

Pass the transcript to Claude with this exact prompt:

---PROMPT---
You are analyzing a video transcript for a marketing consultant.
Extract and structure the following:

**Title**: [infer from content if not provided]
**Platform**: [YouTube / XHS / Other]
**Key Insights**: [3–5 bullet points, focus on marketing strategy, tactics, or frameworks]
**Actionable Tactics**: [concrete steps the user could implement TODAY for a client]
**Marketing Tags**: [choose from: SEO, Content Strategy, Copywriting, Paid Ads, Social Media, Brand, Email, Video, Analytics, Growth — pick 1–3 most relevant]

Be specific. Avoid generic advice. If the video discusses a specific tool or platform, name it.

Transcript:
{TRANSCRIPT}
---END PROMPT---

## Step 4: Push to Notion

Create a new page in the "Marketing Intelligence" database:
- Title: from Step 3
- Source URL: the original URL
- Platform: detected in Step 1
- Key Insights: from Step 3
- Actionable Tactics: from Step 3
- Marketing Tags: from Step 3
- Status: "Pending Review"
- Date Added: today

Confirm to the user: "✓ Saved to Notion: [Title] — tagged as [Tags]"

Step 3: Test Phase 1

Send a YouTube URL in your Openclaw chat:

https://www.youtube.com/watch?v=dQw4w9WgXcQ

Check your Notion database for the new entry with status “Pending Review”.


Phase 2 — Agent Application

This is where the playbook earns its keep. Phase 2 reads your new notes and connects them to the real work you’re already doing.

Step 4: Set Up the Apply Skill

Create ~/.openclaw/skills/marketing-apply-notes/SKILL.md:

---
name: marketing-apply-notes
description: Read new Pending Review notes from Notion and apply insights to active marketing projects.
triggers:
  - "apply new notes"
  - "review my marketing notes"
  - "what did I capture this week"
schedule: "0 9 * * 1"   # Every Monday 9am (optional cron)
---

## Step 1: Fetch Pending Notes

Query the "Marketing Intelligence" Notion database:
- Filter: Status = "Pending Review"
- Sort: Date Added descending
- Limit: 10

If no pending notes: "No new marketing intelligence this week. Keep capturing!"

## Step 2: Fetch Active Projects

Query the "Projects" Notion database:
- Filter: Status = "Active"
- Retrieve: Project Name, Client, Brief summary, Content Calendar link

## Step 3: Map Insights to Projects

For each Pending note, use Claude to match it to relevant projects:

---PROMPT---
You are a marketing strategist reviewing new intelligence for a consultant's active client projects.

NEW INTELLIGENCE NOTE:
Title: {NOTE_TITLE}
Key Insights: {KEY_INSIGHTS}
Actionable Tactics: {ACTIONABLE_TACTICS}
Tags: {TAGS}

ACTIVE PROJECTS:
{PROJECT_LIST}

For each project where this intelligence is relevant:
1. Name the project
2. Explain WHY this insight applies (be specific, not generic)
3. Write 1–3 concrete action items the consultant should do THIS WEEK
4. If it's not relevant to any project, say "Not applicable to current projects"

Format each action item as:
[ ] Action: [specific task]
    Why: [one sentence connecting the insight to this project]
    Effort: [Low / Medium / High]
---END PROMPT---

## Step 4: Write Action Items to Notion

For each project match:
1. Open the Project page in Notion
2. Add a section "## New Intelligence — [Date]"
3. Paste the action items
4. Add a linked reference to the source note

Update the note's Status to "Applied".

## Step 5: Summary Report

Tell the user:
"Applied [N] notes to [M] projects. Here's what I added:
• [Project A]: [N] new action items
• [Project B]: [N] new action items

Review in Notion: [link]"

Step 5: Run Phase 2

# Manually trigger in Openclaw chat
apply new notes

# Or set up automatic Monday morning review
/schedule marketing-apply-notes "0 9 * * 1"

Hermes Version

If you’re using Hermes instead of Openclaw, the same logic applies with Hermes workflow syntax:

# hermes-workflow.yaml
name: video-to-action
trigger:
  type: message
  pattern: "^https?://(www\\.)?(youtube\\.com|youtu\\.be|xiaohongshu\\.com)"

steps:
  - name: transcribe
    action: transcribe_video
    input: "{{ trigger.message }}"

  - name: summarize
    action: claude_completion
    model: claude-opus-4-5
    prompt: |
      [same prompt as Phase 1 Step 3 above]
    input: "{{ steps.transcribe.output }}"

  - name: push_to_notion
    action: notion_create_page
    database_id: "{{ env.NOTION_MARKETING_DB_ID }}"
    properties:
      Title: "{{ steps.summarize.title }}"
      Status: "Pending Review"
      Key Insights: "{{ steps.summarize.key_insights }}"
      Actionable Tactics: "{{ steps.summarize.tactics }}"

Example Output

Input: https://www.youtube.com/watch?v=abc123 (a video about AI-powered email personalization)

Notion Note Created:

Title: How to Use AI for 1:1 Email Personalization at Scale
Platform: YouTube
Key Insights:
  • Segment by behavior (last purchase, page views) not just demographics
  • Use AI to generate 5 subject line variants, A/B test automatically
  • Personalization beyond name: reference their specific use case
  • Best open rates: Tuesday 10am and Thursday 2pm (industry-specific)
  • Tools: Clay + Claude API for data enrichment + copy generation
Actionable Tactics:
  • Set up Clay to pull LinkedIn + purchase history for each contact
  • Write a master email template with 6 AI-filled variables
  • Build a simple A/B test in Mailchimp for subject lines
Marketing Tags: Email, Content Strategy, Personalization
Status: Pending Review

Agent Action Items (generated for Client “Bloom Skincare” campaign):

## New Intelligence — May 24

[ ] Action: Audit current email segments — are we using behavior or just demographics?
    Why: Video shows behavioral segmentation drives 3x higher open rates
    Effort: Low

[ ] Action: Write 5 subject line variants for the June restock email, A/B test in Mailchimp
    Why: Currently we send 1 variant; easy win with the same copy effort
    Effort: Low

[ ] Action: Prototype Clay + Claude enrichment for top 200 VIP customers
    Why: Bloom's VIP list is small enough to pilot 1:1 personalization this month
    Effort: High

Variations

$0 Version — YouTube Only

Remove the AssemblyAI step entirely. Only process videos with available YouTube captions (works for ~80% of English YouTube content).

# In SKILL.md Step 2, replace AssemblyAI path with:
**Non-YouTube / no captions:**
Tell the user: "This video doesn't have captions available.
Try: (1) a YouTube video, (2) uploading the audio file directly."

Cost: $0 (only Claude API tokens, ~$0.01/video)

Batch Weekly Review

Instead of processing videos one-by-one, collect URLs in a Notion list throughout the week, then process them all on Sunday evening:

# Add to a "To Process" list in Notion during the week
# Sunday evening:
/run batch-capture-marketing

The batch skill reads all “To Process” URLs and runs Phase 1 for each.

Slack Trigger Version

Send the URL in a Slack channel instead of directly to Openclaw:

# Add to your Slack integration
trigger: message in #marketing-intel contains youtube.com or xiaohongshu.com
action: forward to openclaw video-capture-marketing skill
reply_in_thread: true

Now your whole team can contribute marketing intelligence from Slack, and the agent applies it across all active projects.