See llms.txt for all machine-readable content.

Back to Templates

Monitor Google rankings and search intent with SerpAPI, OpenAI, Notion, and Slack

Created by

Created by: YouthFire IT || youthfireit
YouthFire IT

Last update

Last update 4 hours ago

Categories

Share


Quick overview

This workflow runs daily (or manually) to pull Google SERP results via SerpAPI for keywords stored in Notion, uses OpenAI to classify search intent, saves a daily snapshot back to Notion, and posts a Slack alert when rankings move significantly compared to yesterday.

How it works

  1. Runs on a daily 6AM schedule (or via manual trigger) and loads your brand and competitor configuration.
  2. Reads all keywords marked for tracking from a Notion database.
  3. For each keyword, fetches the top Google search results from SerpAPI and parses your current position, SERP features, People Also Ask questions, and featured snippet ownership.
  4. Sends the parsed SERP context to OpenAI (GPT-4o-mini) to classify the keyword’s search intent and related attributes.
  5. Looks up yesterday’s snapshot for the same keyword in Notion and computes rank movement and newly appearing SERP features.
  6. Creates a new Notion database entry to store today’s snapshot metrics for historical tracking.
  7. If the rank changes by 3+ positions, posts a formatted alert message to a configured Slack channel.

Setup

  1. Add credentials for Notion, SerpAPI (HTTP Query Auth with the api_key parameter), OpenAI, and Slack.
  2. Update the Configuration code values for your brand name, website URL, and competitor domains.
  3. Create/select a Notion “Tracked Keywords” database, set its database ID in the keyword loader, and ensure it has at least a Keyword title field and a TrackSERP checkbox.
  4. Create/select a Notion “SERP Snapshots” database, set its database ID in both snapshot nodes, and ensure it has properties matching Date, Keyword, Position, Movement, Features, PAA Count, and Client.
  5. Set the target Slack channel ID in the Slack message step and run the workflow once manually to verify results before activating the daily schedule.