AI-Powered SEO Keyword Research with n8n & LangChain

Struggling with manual SEO keyword research? This n8n workflow automates keyword generation, competitor analysis, and content strategy using OpenAI and DataForSEO, saving hours and improving accuracy.
lmChatOpenAi
dataforseo.dataForSeo
agent
+9
Workflow Identifier: 1302
NODES in Use: lmChatOpenAi, outputParserStructured, agent, dataforseo.dataForSeo, splitOut, slack, nocoDb, webhook, set, code, aggregate, merge
Automate SEO keyword research with n8n and OpenAI

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

What this workflow does

This workflow automatically creates a detailed SEO keyword research report based on a main topic and competitor URLs. It saves many hours by gathering keywords, search volumes, difficulty scores, and competitor insights all together. The end result is a clear and actionable SEO content brief ready to use.

The workflow expands main topics into several keyword types and finds their metrics based on language and location. It also analyzes competitor pages to find content gaps and unique angles. All information is merged and summarized by AI into one report.


Who should use this workflow

This workflow is good for digital marketers, content creators, or SEO specialists who want fast, accurate keyword research tailored to audience, language, and location. It helps teams avoid manual errors and saves 3-4 hours of work per project.

If the user needs competitor analysis and detailed keyword metrics combined in one place, this workflow fits well.


Tools and services used

  • n8n: Automates workflow steps and manages data flow.
  • OpenAI via LangChain: Generates keyword expansions, summarizes data, and analyzes competitors.
  • DataForSEO API: Provides keyword search volume, cost-per-click, keyword difficulty, and competitor ranking data.
  • NocoDB: Stores input topics and competitor URLs, updates status, and saves final SEO briefs.
  • Slack: Sends notifications about workflow progress to the marketing team.

Input and output overview

Inputs: The workflow takes a main SEO topic, list of competitor URLs, target audience, content type, language, and location. All inputs come from NocoDB via a webhook.

Processing: The workflow expands keywords with AI, fetches metrics from DataForSEO, analyzes competitor pages, parses and merges the data, then uses AI again to build the final SEO strategy and content brief.

Outputs: The completed SEO content brief is saved back to NocoDB. Slack messages are sent to notify team members when the workflow starts and finishes.


How the workflow works step-by-step

Input reception and preparation

1. Get input from NocoDB

  1. Use the Webhook node to receive data with POST method.
  2. Data includes the main topic, competitor URLs, audience, content type, language, and location.
  3. Send sample test data to confirm webhook receives input correctly.

2. Extract relevant fields for use

  1. Add a Set node to map important fields from the webhook JSON.
  2. Fields include primary topic, competitor URLs string, target audience, content type, language, and location.
  3. Use expression editor to get exact paths for each value.

Notification and status update

3. Notify team workflow started

  1. Use Slack node to send a message with the main topic when research begins.

4. Update status in NocoDB to ‘Started’

  1. Use the NocoDB node to update status field on the input record.

Keyword generation and metrics

5. Expand topic keywords

  1. Use a LangChain Agent node with OpenAI chat model to get keyword lists.
  2. Request primary keywords, long-tail keywords with search intent, question-based keywords, and related topics in JSON format.

6. Validate AI JSON output

  1. Use Structured Output Parser node to parse and check the AI response structure.

7. Split primary keywords

  1. Use SplitOut node to separate each keyword for metric lookups.

8. Fetch search volume and cost per click

  1. Call DataForSEO API using provided credentials to get keyword search volumes and CPC based on language and location.

9. Fetch keyword difficulty scores

  1. Make another DataForSEO API call to get difficulty scores for all keywords.

10. Aggregate metrics

  1. Use Aggregate nodes to group search volume, CPC, and keyword difficulty data.

11. Combine metrics together

  1. Use a Merge node to join the various metrics per keyword in one list.

Competitor analysis

12. Format competitor URLs

  1. Use a Code node to split competitor URLs string into an array.
  2. 
    const inputJson = $input.first().json;
    const rawUrls = inputJson.competitor_urls;
    const competitorUrls = rawUrls
      .split(",")
      .map(url => url.trim())
      .filter(url => url.length > 0);
    const outputJson = {
      ...inputJson,
      competitorUrls: competitorUrls
    };
    return [{ json: outputJson }];
    

    This changes the single string of URLs into a list usable downstream.

13. Split competitor URLs one by one

  1. Use SplitOut node to process each competitor URL separately.

14. Get keyword rankings per competitor URL

  1. Call DataForSEO API to retrieve top ranked keywords for each competitor page filtering by location and language.

15. Analyze competitors with AI

  1. Send competitor keywords data to LangChain Agent node to identify keyword gaps, unique angles, and questions answered.

16. Aggregate competitor results

  1. Use Aggregate node to combine competitor analysis into one JSON object.

Final data merging and reporting

17. Merge all data together

  1. Use multiple Merge nodes to join topic keywords, metrics, and competitor insights into single JSON.

18. Generate final SEO content brief

  1. Use LangChain Agent node to create a detailed, human-readable SEO strategy and content outline in Markdown.

19. Save content brief to NocoDB

  1. Use NocoDB node to write new record containing the SEO brief.

20. Update status to ‘Done’

  1. Use NocoDB node to change original record status to “Done”.

21. Send Slack notification of completion

  1. Use Slack node to notify the team with final brief details.

Beginner step-by-step: How to use this workflow in n8n

Importing and setup

  1. Download the workflow file from this page using the Download button.
  2. Open n8n editor and use “Import from File” to upload the downloaded workflow.
  3. Set up credentials for OpenAI (API Key), DataForSEO (API Key), Slack (bot token), and NocoDB (API Key).
  4. Update IDs in Slack nodes for channel, and NocoDB nodes for tables and records, to match your data.

Testing and activation

  1. Send a test request to the webhook URL with sample JSON including primary_topic and competitor_urls to check if the workflow runs correctly.
  2. Look for Slack start notification and NocoDB status updates.
  3. Review the final SEO brief saved in NocoDB.
  4. When satisfied, activate the workflow in n8n to run automatically on webhook trigger.

If self hosting n8n, review network accessibility for webhook URLs. Refer to self-host n8n if needed.


Customization ideas

  • Change target audience in the Set relevant fields node to focus on different user groups.
  • Add or remove competitor URLs in NocoDB input; workflow manages multiple URLs automatically.
  • Switch AI model or update prompt text in LangChain nodes to control response style or depth.
  • Replace DataForSEO nodes with other SEO service APIs by changing credentials and node parameters.
  • Change Slack channel ID to notify other teams or projects.

Common problems and fixes

Failed to retrieve keyword difficulty data

This often happens if API limits with DataForSEO are exceeded or if keyword format is wrong.

Check API keys and usage limits. Make sure keywords are correctly split in earlier nodes.

OpenAI API timeout or rejected request

Possible network issues or quota exhaustion.

Review API usage stats. Use retry logic or simplify prompts. Verify OpenAI credentials.

Slack notification not sent

Could be due to wrong Slack token or channel permissions.

Confirm Slack bot token and channel ID. Test Slack node with manual message.


Summary of results

✓ Saves 3-4 hours per keyword research task

✓ Automates detailed keyword expansions, metrics, and competitor analysis

✓ Produces a clear, actionable SEO content brief tailored by audience, location, and language

✓ Keeps teams informed with real-time Slack notifications

→ Enables better keyword focus and faster SEO strategy creation


Automate SEO keyword research with n8n and OpenAI

Visit through Desktop to Interact with the Workflow.

Frequently Asked Questions

The workflow requires a main SEO topic, competitor URLs, target audience, content type, language, and location from NocoDB input.
DataForSEO API supplies keyword search volume, cost-per-click, difficulty scores, and competitor keyword rankings.
Slack nodes send messages when the workflow starts and finishes, posting updates to a configured Slack channel.
Yes, but the user must adjust API call parameters and node configurations to match the new provider’s data format.
Author
Written By
Ritu Sanjali

Related Workflows

Automate Twist Channel Creation and Messaging with n8n

This workflow automates creating and updating a channel in Twist and sending a personalized message to specific users. It eliminates manual setup errors and saves time managing Twist communications.

Automate Ideogram Image Generation with Google Sheets & Gmail

This workflow automates graphic design image generation via Ideogram AI, storing image data in Google Sheets and Google Drive, with email alerts via Gmail. It saves designers hours by automating image creation, remixing, review, and record-keeping.

Automate IT Support with Slack and OpenAI in n8n

Streamline IT support by automating Slack message handling using n8n and OpenAI. This workflow handles Slack DMs, filters bots, queries a Confluence knowledge base, and delivers AI-generated responses, improving support efficiency and response time.

Automate Crypto Analysis with CoinMarketCap & n8n AI Agent

Discover how this unique n8n workflow leverages CoinMarketCap’s multi-agent AI to deliver precise, real-time cryptocurrency insights directly via Telegram. Manage crypto data analysis efficiently with automated multi-source API integration.

Automate Gumroad to Beehiiv Subscriber Sync with n8n

Learn how to automatically add new Gumroad sales customers as Beehiiv newsletter subscribers using n8n automation. This workflow saves time by syncing sales data to Google Sheets CRM and notifying your Telegram channel instantly.

Generate On-Brand Blog Articles Using n8n and OpenAI

This workflow automates the creation of on-brand blog articles by analyzing existing company content using n8n and OpenAI. It extracts article structures and brand voice to produce consistent draft articles, saving significant content creation time.
1:1 Free Strategy Session
Your competitors are already automating. Are you still paying for it manually?

Do you want to adopt AI Automation?

Every hour your team does repetitive work, you're burning real money.
While you wait, faster businesses are cutting costs and moving quicker.
AI and automations aren't the future anymore — they're the present.

Book a live 1-on-1 session where we show you exactly which of your daily tasks can be automated — and what it’s costing you not to.