Create a blog post from a YouTube video using ChatGPT


Combined with GPT, CALC, NAVIGATE, GROUP and JUMP steps, HARPA AI's v. 7.0 features enable you to create practical AI Automations in your browser. In this blog post, we will build a custom automation that transforms a YouTube video into an article, enriches it with keywords, and then saves it to Notion.

# Part 1. YouTube Video to Blog Post

Open HARPA, type slash, click the CREATE button, and specify a name for your new command, for example, “YouTube to Notion”.

Add an ASK step to request a YouTube URL to be turned into a blog post.

Add a NAVIGATE step. Add a "{{url}} != current" condition so that it is activated if you enter any URL in response to the ASK step.

Next, we can either use a COMMAND step with a predefined command called "Repurpose YouTube Video":

Or create our custom GROUP as a series of steps:

Let's create a GROUP step that will repurpose a YouTube video into a blog post. We can tackle this task with three GPT steps:

The first analyzes and summarizes the Video Transcript, chunk by chunk:

I want you to only answer in {{language}}. You goal is to analyze a part of a
YouTube transcript and extract the main important information from that.

Choose the format of recording this information depending on the subject of the
video and format your response with markdown features.

Capture important facts in your answer and do not miss the names of people and
their opinions.

Please, during the analysis of the transcript, do not mention that this is a
video or a video transcript. Just analyze the text as content containing important

 Your response be informative and easy to read & understand. Preserve as much
important information as possible; you don't need to shorten your response.

Don't write general phrases like "this video is about..." or notes. I only need
 the result of the transcript analysis.



The second filters out only the essential information from the summary:

I want you to process  the YouTube video transcript analysis. The goal is to eliminate introductory words and extraneous phrases, leaving only valuable information that can be used to create a blog post. Do not shorten the input, but delete all the general phrases.

Your output should consist solely of useful content for article writing.

Video transcript analysis: {{content}}

The third crafts a blog post from this data:

Act as a professional blogger with expertise in the specific subject matter.

I will provide you with text information obtained from watching a YouTube video;
analyze it and write a blog post based on the data obtained.

I need a long blog post, do not limit yourself by the word number.

Come up with a title for this blog post at the beginning, a meta description,
and hashtags at the end. The content must be well-researched and provide valuable
insights, opinions, or advice related to the subject.

--- Output format:

## Blog post title
Blog post text

### Meta description:
Meta description

Format the text using headings (H2, H3, H4), numbered and bullet points, and
other markdown formatting features.

[INFORMATION]: {{input}}

[BLOG POST IN {{language}}]:

Okay, post is ready and we should enrich it with relevant LSI keywords from SERP.

# Part 2. Find Relevant LSI Keywords

Moving on, let's supplement our post with relevant LSI keywords, aligning it with Google's E-A-T guidelines. Let's extract the H1 heading from the generated post to form a query for Google, which will be the title of the blog post.

Create a new GROUP step. Click EDIT STEPS to drill down into the new group.

Add a CALC step and select a function that takes the first line of the generated blog post. Store it in an {{h1}} parameter. We will use blog post title to form a request for Google.

Add a second CALC step to encode the {{h1}} parameter into a URL. This is needed to correctly form the search link, as the URL should not contain spaces, but the title likely does.

Next, select a NAVIGATE step and use the {{h1}} parameter as a search query. You need to form a link where the {{h1}} parameter is placed correctly, for example: https://www.google.com/search?q={{h1}}

Add the GPT step to extract keywords from the page and store them in a {{keywords}} parameter. We will use these keywords in the next step.

I want you to respond only in {{language}} and output a single table. Pretend to be a SEO keyword research expert.

Read the [SERP] that I will provide you and find top 20 LSI keywords in SERP, each containing at least 2 words:

- Output these keywords comma separated.

- Do not include keywords in the list that are not thematically relevant to my query.

- Do not add any notes, write only comma separated keywords.

- Do not echo my prompt.




Add the final GPT step that will integrate the discovered keywords into the previously created blog post.

Please add keywords to my blog post: {{keywords}}.

You can modify the provided keywords to better align with Google E-A-T guidelines. Mention the keywords I provided in the text up to two times. There is no need to restructure the entire text around these keywords.

Blog post: {{post}}

Voilà, your SEO-optimized blog post is ready!

# Part 3. Advanced: Loop the Command

Add a CALC step to append the blog post to a global list in case we’d like to use it in a different command. That will store all our posts in a single parameter called {{g.posts}}, with each new post appended to the list.

Add an ASK step with two options: PASTE TO NOTION and NEXT POST. This will create two active buttons in the chat, which, when pressed, will execute the corresponding scenario.

# Option 1: Send to Notion

We will make our command store the blog post in Notion.

Create a step GROUP for the first option; we’ll set a condition for this group so that the step is executed when the PASTE TO NOTION button is clicked: "{{option}} = notion".

Within the new GROUP, insert a NAVIGATE step with the Notion page URL.

Finalize this group by adding a PASTE step to insert the generated blog post content into the opened Notion page.

Tip: If the PASTE step appears to be not working in Notion, you probably need to activate the Notion page first before pasting the text. This can be done with the CLICK step.

Drill up from the group.

# Option 2: Jump to the Next Post

We'll loop the entire command using a JUMP step when the user has selected the NEXT POST option.

The JUMP step requires a LABEL to jump to, so we will label the first step as “start” and JUMP to that step.

The JUMP step will redirect us to the beginning of the entire command sequence; you only need to indicate the LABEL of the first step - "start".

Here, in a few minutes, we've created a custom automation that can save hours of manual work. Imagine how many blog posts such automation could generate in a single workday and how much time it would take to write the same manually.

Experiment with the custom AI commands and feel free to share your thoughts or queries in our Discord.

Contact us
HomeUse CasesGuidesPrivacy PolicyTerms of Service