Copy This AI-Powered Automated System For Topic Research (No-Code)

Hasan Aboul Hasan
9 min readMay 16, 2024

--

In this post, we will be building this system:

Don’t worry; it’s not complicated. I’ll provide the system for free, so you can copy and use it directly without having to build it yourself.

Remember, there will be no coding involved. We will use No-Code Tools.

Step 1: No Code Automation Tool

The first step is to pick the no-code automation platform to work with.

There are different platforms available, but I prefer using Make.

Why?

For two reasons:

1- Customization: I started using the platform recently, and I fell in love with it. I love how much I can customize my workflows. I can build whatever automation I imagine.

2- Affordability: It is much more affordable than other services like Zapier, which I recently migrated from.

So, join Make if you haven’t yet, and let’s get started!

Step 2: Understand the system

Before we set up the system, let’s first understand it.

This is very important if you want to customize and edit it, as we will see later.

As I mentioned before, the system I built for you consists mainly of two workflows:

1- Keyword Research Workflow

2- Topic Research Workflow

Both workflows start with a list of keywords you provide in the Google Sheet “My Keywords” page.

So first, add a list of keywords that you want your search to be based on.

Now, let’s see how each workflow works.

Keyword Research Workflow

We first start by looping through our “My Keywords” list, and for each keyword, we will generate a list of keyword suggestions through the Google Suggestions API.

I explained this in detail in the Keyword Bomber Guide. Let me explain it quickly, and you can check the guide for more details.

I created a list of letters in the Google Sheet, which you can find on the suffix page:

For each letter on this page, I call the Google Suggestions API with the parent keyword like this:

http://google.com/complete/search?output=toolbar&gl=US&q=[Parent Keyword] [letter]

For example, for the letter “a” and the keyword “digital marketing”:

http://google.com/complete/search?output=toolbar&gl=US&q=digital marketing a

If you run this URL in the browser, we get something like this:

We have this XML output from the API. I looped over the values and saved them in the “Keyword Research” page in Google Sheets.

This way, for each letter, we have 5–10 keywords, allowing us to conduct intensive keyword research with this workflow that can generate up to 300 keyword ideas for each parent keyword.

Remember that these suggestions are what people are searching for on Google.

This is one of the best ways to find keywords and ideas for creating content and ranking on Google.

The Topic Research Workflow

The second workflow is a little more detailed, where I used a combination of AI, Google SERP API, and built-in databases to get the results.

The workflow starts the same way by looping over the “My Keywords” list.

But now, for each keyword, we will do a Google search and get the top “X” results.

“X” here is the number of results you can set in the HTTP Module that calls the Serper API.

I prefer to keep this between 5–10 to avoid increasing the number of tokens when using the AI API. This may cause a context limit depending on the AI model you select and may cause you to use more credits.

Anyway, we get the top 10 Google results and then check if this link is already in our database.

The database is a simple table I created to save the results, avoiding duplicate topics and web pages. We don’t want to extract topics from the same pages.

So, if the link is already there, we will skip it. If not, we will move to the “Extract Web Content” App.

It is a free app I created to help you read any content from any page easily.

We read the content and pass it on to our AI module, “OpenAI,” which extracts the topics from the page.

At this stage, we have a list of topics from each web page. We use a text aggregator to combine all ideas into one piece of text.

Finally, we pass the list again to OpenAI to extract unique content and return it in a JSON structured format, which makes it easy for us to read and save in our Google Sheets again!

Step 3: Setup The System

Perfect, now that we understand how the system works, let’s set it up!

1- Log in to Your Make Account

If you don’t have an account, just sign up and log in.

2- Install the Content Extractor App

It is very simple, click the button below:

Install Make App

You will see this page:

Click “Install,” and you are done!

3- Clone the Google Sheet

As explained before, the system reads and saves data in a Google Sheet. I prepared the sheet to make it easy for you to get started quickly. Just create a clone of it in your Google account.

Clone Google Sheet

4- Create a Datastore

Before we set up the system, you need to create a data store.

So head to “Datastores” from the right menu and create a new one.

Call it: SERP_RESULTS

Create a new data structure, which means adding fields to the table. Add the following:

field 1:

Name: link

Type: Text

field 2:

Name: position

Type: Number

field 3:

Name: Parent Keyword

Type: Text

field 4:

Name: Last Updated

Type: Date

Great! We have our data store. We are ready to create the automated system.

5- Import The System Blueprint

Now, go to “Scenarios,” create a new scenario, then click “Import Blueprint.

Download Scenerio Blueprint

🔴 DON’T FORGET TO EXTRACT THE ZIP FILE FIRST

6- Update the Modules

Now that we have the scenario, the database, and the Google Sheet, we just need to update our app modules to match your accounts.

1- Update the Google Sheets Module Authentication

Please update all the Google Sheet modules and the spreadsheet ID, which can be found in the browser URL.

2- Connect OpenAI Module

Click on the OpenAI App to connect with your account using your API key.

3- Set the Serper API Key

Since we are using the Serper API to get Google organic results, get an API key and set it here.

4- Connect with your Datastore.

Make sure all modules are set up correctly and update the datastore module to match the datastore we created in step 4.

5- Set “Extract Web Content” API Key

To use my app for free, make sure to use this API key: HASAN2024

7- Run a Test

Perfect, we have our system ready!

Let’s give it a try!

If you have any problems, you can join us on the forum; it is free!

I will be there almost every day to help.

Bonus 1: Sell the System!

If you came to this article from my YouTube video, you know I discussed how these systems can be used to build a business in today’s “AI Era.”

One of the most in-demand products in the digital world today is ready-made systems, or what we call “done-for-you” systems.

Businesses and individuals need plug-and-play systems that help them automate or fix a specific problem.

This system is a great example of a “done-for-you” system that you can sell online. You could also use it as a powerful lead agent.

Now, I’m giving it to you for free, yes. But that doesn’t mean you shouldn’t join my newsletter to get my weekly updates and exclusive tips 😅

Get Weekly Exclusive Tips

Anyway, the idea here is to learn and build such systems. This service will make you stand out in the competition today, as it is still new and not many freelancers know about it.

🟢 As a bonus tip, to make your offering even more unique and provide more value to your customers, and help you turn this into a recurring income business:

You can create custom apps in the workflow you are selling. Like the one I shared with you for free, the “Extract Web Content” app.

Yes, I gave it to you for free, but you can create something similar that makes your system unique and helps get your customers attached to the service you provide.

Do it, and thank me later 😉

How did I build the Make Custom App?

Make allows you to build any custom app you want as soon as you have the API endpoint for it.

So what I did simply was create a very basic API in Python. Here is the code:

from fastapi import APIRouter
from SimplerLLM.tools.generic_loader import load_content
router = APIRouter()

#extract content from blog post
@router.get("/tools/extract-content-from-page",)
async def extract_content_from_web_page(url: str,):
return load_content(url)

I used SimplerLLM, my free Python library.

You can see how easy it is to read content with the built-in functionalities.

And built the app based on that.

👉 You can learn more about APIs and how to build and sell them in this course here.

You can add an API key as I did, and this app can even be sold independently as a custom app for Make that helps build more complex and customized systems!

Bonus 2: Advanced Tips

Other than building custom Make apps, you can extend this system further to provide more functionalities and value to your customers or your own business.

Here are some ideas:

1- Add AI Analysis

It would be a great addition to the system to have AI analyze the final results and suggest tips based on that.

For example, my AI-powered SEO analyzer extracts an SEO report using an API, and then AI analyzes and creates a detailed report based on that data. You can test it here.

Another example is the AI keyword research tool, where I feed the keywords to the AI, and it suggests a content plan and tips based on that data.

You can even go further with an agentic workflow that automates the entire process.

2- Add Keyword Position Tracking

Since we are already extracting organic Google results with the Serper API and saving them in the database with their positions, you can also track the position of specific domains for each target keyword to see if they rank.

3- Add Keyword Metrics

You can also add more metrics to the keywords, such as search volume, keyword difficulty, CPC, and much more. This will enrich the data for AI analysis or your customers.

You can obtain such data from SEO APIs like Spyfu, Semrush, and others.

4- Optimize the Prompts

When you open the OpenAI modules, you will see I added some prompts to extract content ideas from text.

These are not the best or perfect prompts. They do the job, but you can optimize them to get better results.

If you have taken my prompt engineering course, you know that with some prompting techniques, you can optimize the prompts for better results.

Remember, if you have any problems or want to chat, hop into the forum. I’m there almost every day to answer your queries!

Join The Forum

Good Luck!

--

--

Hasan Aboul Hasan

Simplifying AI & Python Learning • Publish ONLY Exclusive Research-Based Tips & Tutorials • Founder @LearnWithHasan & @SimplerLLM