🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Search Console + Slack: instant SEO answers in chat

Lisa Granqvist Partner Workflow Automation Expert

Your team asks simple SEO questions, and you end up doing the same manual routine again. Open Search Console, find the right property, export something, paste it into Slack, then explain it (again) in plain English.

SEO leads feel it first, but marketing managers and agency folks get pulled into it too. This Search Console Slack automation turns “what happened to clicks last week?” into a clean Slack reply your team can actually use.

You’ll set up a chat-style webhook, route the request, pull data from Google Search Console, and let OpenAI translate it into a consistent answer inside Slack.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Search Console + Slack: instant SEO answers in chat

Why This Matters: SEO Updates Get Lost in Translation

Search Console is great at telling you what happened, but not at answering questions the way your team asks them. People want quick context in Slack: “Which pages dropped?”, “Is this query trend real?”, “Do we have an indexing issue?” So you become the translator. You also become the traffic cop for access, since not everyone has Search Console permissions (and frankly, not everyone should). The result is lots of tiny interruptions that break focus, plus answers that vary depending on who responded and how rushed they were.

The friction compounds. Here’s where it breaks down most often.

  • Slack questions trigger a messy chain of exports, screenshots, and “give me five minutes” follow-ups.
  • Different people interpret the same Search Console data differently, which causes debates instead of decisions.
  • Property selection is easy to get wrong, especially when you manage multiple sites or client accounts.
  • Access becomes a bottleneck, so insights live in one person’s head instead of the team’s workflow.

What You’ll Build: Ask in Slack, Get Search Console Answers Back

This workflow gives you a chat interface for Google Search Console data, powered by an AI agent. A request comes in through a secure webhook, gets cleaned up into structured fields, then routed based on what the person is asking. If they need search performance insights, the workflow calls the Search Console API and aggregates the response into a shape the AI can reason about. If they’re asking which sites/properties are available, it fetches and formats that list instead. Finally, OpenAI turns the raw API payload into a clear, consistent Slack-ready answer, using conversational memory so follow-up questions don’t start from zero every time.

The workflow starts with an incoming chat webhook and maps the message into a predictable format. From there, a switch routes the request to the right Search Console API call, then the results are aggregated and handed to the AI agent. The last step returns the response to your chat client so it lands back in Slack as a single, readable reply.

What You’re Building

Expected Results

Say your team asks five Search Console questions a day in Slack. Manually, each one usually takes about 10 minutes to find the right property, pull the report, sanity-check it, and write a reply, so that’s close to an hour daily. With this workflow, the question is submitted in seconds, the API fetch and AI summary usually finish in under a minute, and your “work” becomes a quick skim. Most teams get about 45 minutes back per day, and the answers stop depending on who happens to be online.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Search Console for the performance and site property data.
  • Slack to deliver answers where your team works.
  • OpenAI API key (get it from your OpenAI dashboard).

Skill level: Intermediate. You’ll connect OAuth credentials, set scopes carefully, and test a webhook end-to-end.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A chat message hits your webhook. The workflow starts when your Slack-side command or chat UI sends a request to the public webhook. Because it’s publicly reachable, you’ll protect it with authentication (Basic Auth is common and works fine).

The message gets normalized. n8n maps the incoming fields into a consistent structure, so the rest of the workflow doesn’t have to guess what the user meant or where the text lives.

The request is routed, then Search Console is queried. A switch decides what to do next, like fetching Search Console insights versus retrieving the list of available properties. Then HTTP requests call the Search Console API, and the workflow reshapes the results into arrays that are easier to summarize.

The AI agent replies in plain English. The conversational agent combines the user’s question, the aggregated API response, and memory stored in Postgres. The final reply is returned through the webhook response node so Slack gets one clean answer instead of a pile of raw JSON.

You can easily modify the request types and reporting windows to match how your team asks questions. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

Set up the inbound chat endpoint that starts the workflow and authenticates requests.

  1. Add the Incoming Chat Webhook node and set HTTP Method to POST.
  2. Set Path to a6820b65-76cf-402b-a934-0f836dee6ba0/chat.
  3. Set Response Mode to responseNode and Authentication to basicAuth.
  4. Credential Required: Connect your httpBasicAuth credentials in Incoming Chat Webhook.
  5. Connect Incoming Chat Webhook to Map Input Fields.

Tip: Ensure your chat client sends chatInput and sessionId in the JSON body so Map Input Fields can parse them correctly.

Step 2: Connect Google Search Console

Authorize Google Search Console access and prepare the HTTP request nodes that fetch properties and insights.

  1. Open Fetch Search Console Insights and set URL to =https://www.googleapis.com/webmasters/v3/sites/{{ $json.property }}/searchAnalytics/query.
  2. Set Method to POST, Specify Body to json, and JSON Body to ={ "startDate": "{{ $json.start_date }}", "endDate": "{{ $json.end_date }}", "dimensions": {{ $json.dimensions }}, "rowLimit": {{ $json.rowLimit }}, "startRow": 0, "dataState":"all" }.
  3. Enable Send Headers and set Content-Type to application/json in Fetch Search Console Insights.
  4. Credential Required: Connect your oAuth2Api credentials in Fetch Search Console Insights.
  5. Open Retrieve Search Properties and set URL to =https://www.googleapis.com/webmasters/v3/sites.
  6. Credential Required: Connect your oAuth2Api credentials in Retrieve Search Properties.

⚠️ Common Pitfall: The Google Search Console OAuth scope must include read access to Search Console; otherwise, the API calls in Fetch Search Console Insights and Retrieve Search Properties will return authorization errors.

Step 3: Set Up Input Mapping and Tool Invocation

Normalize the incoming payload and build API request fields that drive the routing logic.

  1. In Map Input Fields, add assignments for chatInput, sessionId, and date_message using ={{ $json.body?.chatInput || $json.chatInput }}, ={{ $json.body?.sessionId || $json.sessionId }}, and ={{ $now.format('yyyy-MM-dd') }}.
  2. Configure Tool Invocation Trigger as the entry point for tool calls from the AI agent.
  3. In Build API Request Fields, map fields using expressions: ={{ $json.query.parseJson().request_type }}, ={{ $json.query.parseJson().startDate }}, ={{ $json.query.parseJson().endDate }}, ={{ $json.query.parseJson().dimensions }}, ={{ $json.query.parseJson().rowLimit }}, ={{ $json.query.parseJson().startRow}}, and ={{ encodeURIComponent($json.query.parseJson().property) }}.
  4. Connect Tool Invocation Trigger to Build API Request Fields, then to Route by Request Type.

Step 4: Configure the AI Conversation Layer

Set up the conversational agent with memory, the OpenAI model, and the Search Console tool integration.

  1. Open Conversational Data Agent and set Text to =user_message : {{ $json.chatInput }} date_message : {{ $json.date_message }}.
  2. Connect OpenAI Dialogue Model to Conversational Data Agent as the language model, and set Model to gpt-4o.
  3. Credential Required: Connect your openAiApi credentials in OpenAI Dialogue Model.
  4. Connect Postgres Memory Store to Conversational Data Agent as memory and set Table Name to insights_chat_histories.
  5. Credential Required: Connect your postgres credentials in Postgres Memory Store.
  6. Connect Search Console Tool Invoke to Conversational Data Agent as a tool and set Name to SearchConsoleRequestTool.
  7. For AI tool nodes like Search Console Tool Invoke, add any required credentials on the parent workflow that it calls; the tool node itself does not store credentials.
  8. Connect Map Input Fields to Conversational Data Agent, then to Return Webhook Reply.

Tip: The Conversational Data Agent system prompt already includes instructions to call Search Console Tool Invoke for website lists and custom insights.

Step 5: Configure Routing and Response Aggregation

Route requests by type and format the Search Console responses for the agent.

  1. In Route by Request Type, create two outputs: custom_insights and website_list based on ={{ $json.request_type }} and ={{$json.request_type}}.
  2. Connect the custom_insights output to Fetch Search Console Insights, then to Create Search Data Array, and finally to Aggregate Response Payload.
  3. In Create Search Data Array, set searchConsoleData to ={{ $json.rows }}.
  4. Connect the website_list output to Retrieve Search Properties, then to Create Site List Array, and finally to Aggregate Response Payload 2.
  5. In Create Site List Array, set searchConsoleData to ={{ $json.siteEntry }}.
  6. In both Aggregate Response Payload and Aggregate Response Payload 2, set Aggregate to aggregateAllItemData and Destination Field Name to response.

Step 6: Test and Activate Your Workflow

Run a manual test to validate the chat-to-insights flow and then activate the workflow for production use.

  1. Click Execute Workflow and send a POST request to the Incoming Chat Webhook URL with a sample body containing chatInput and sessionId.
  2. Confirm that Map Input Fields outputs chatInput and date_message, and that Conversational Data Agent produces a response.
  3. Verify that tool calls through Search Console Tool Invoke trigger Tool Invocation Trigger and that Route by Request Type sends requests to the correct Search Console path.
  4. Successful execution should end with Return Webhook Reply returning a conversational response enriched by Search Console data.
  5. Toggle the workflow Active to enable production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Google Search Console OAuth scopes matter a lot. If you keep getting refresh token issues, check your Google Cloud OAuth consent screen and the scopes attached to the credential first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Quick Answers

What’s the setup time for this Search Console Slack automation?

About 45 minutes if your Google OAuth app is already created.

Is coding required for this Search Console Slack automation?

No. You’ll mostly connect accounts and paste in a few credentials. The included code node is optional to tweak, not mandatory to run.

Is n8n free to use for this Search Console Slack workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs (often just a few dollars a month for light Q&A usage).

Where can I host n8n to run this Search Console Slack automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I modify this Search Console Slack automation for different use cases?

Yes, and you should. Most customizations happen in the “Route by Request Type” switch and the “Build API Request Fields” mapping, because that’s where you decide what data to pull and how to filter it. Common tweaks include changing the date range (last 7 vs last 28 days), forcing a specific Search Console property for a channel, and adding new question types like “top queries for a page” or “brand vs non-brand.”

Why is my Google Search Console connection failing in this workflow?

Usually it’s OAuth scopes or an expired refresh token. Re-check the scopes on your Google Cloud OAuth client, then reconnect the credential inside n8n so it issues a fresh token. If it works once and then fails later, it’s often a permissions mismatch on the Search Console property or an app that wasn’t configured for the right access type.

What volume can this Search Console Slack automation process?

A lot for typical team usage. If you self-host, volume mostly depends on your server and Google API limits. On n8n Cloud, your practical cap is your plan’s monthly executions, and this workflow is usually one execution per question (plus any tool-invocation subcalls).

Is this Search Console Slack automation better than using Zapier or Make?

Often, yes. This setup leans on an AI agent, memory, branching, and multi-step API handling, and n8n is simply more comfortable there than most “two-step Zap” style automations. Self-hosting is another big deal if your team asks lots of questions, because you’re not paying per tiny action forever. Zapier or Make can still be fine if you only want a basic “send a message when X happens” flow and you never need conversational context. If you’re unsure, Talk to an automation expert and you’ll get a straight recommendation based on your volume and security needs.

Once this is running, SEO answers stop being a scavenger hunt. Your team asks in Slack, and they get a clear reply back, fast.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal