Track play store app rankings with SerpApi, Baserow & Slack alerts
Automatically track your Android app’s keyword rankings on Google Play. This workflow checks ranks via SerpApi, updates a Baserow table, and posts a heads-up in Slack so your team can review changes quickly.
💡 Perfect for
-
ASO teams tracking daily keyword positions
-
Growth & marketing standups that want quick rank visibility
-
Lightweight historical logging without a full BI stack
🧠 What it does
-
Runs on a schedule (e.g., weekly)
-
Queries SerpApi for each keyword’s Play Store ranking
-
Saves results to Baserow: Current Rank, Previous Rank, Last modified
-
Sends a Slack alert: “Ranks updated — review in Baserow”
⚡ Requirements
-
SerpApi account & API key
-
Baserow account + API token
-
Slack connection (bot/app or credential in n8n)
⚙️ Setup Instructions
- Create a Baserow table
Create a new table (any name). Add user-field names exactly:
-
Keywords (text)
-
Current Rank (number)
-
Previous Rank (number)
-
Last modified (date/time)
Optional fields you can add later: Notes, Locale, Store Country, App Package ID.
- Connect credentials in n8n
-
Baserow: add your API token and select your Database and Table in the Baserow nodes.
-
Slack: connect your Slack account/workspace in the Slack node.
-
SerpApi: open the HTTP Request node and put your API key under Query Parameters → api_key = YOUR_KEY.
- Verify field mapping
-
In the Baserow (Update Row) node, map:
-
Row ID → {{$json.id}}
-
Current Rank → {{$json["Current Rank"]}}
-
Previous Rank → your code node should set this (the template copies the old “Current Rank” into “Previous Rank” before writing the new one)
-
Last modified → {{$now}} (or the timestamp you compute)
🛟 Notes & Tips
If you prefer a single daily Slack summary instead of multiple pings, add a Code node after updates to aggregate lines and send one message.
Treat 0 or missing ranks as “not found” and flag them in Slack if helpful.
For multi-country tracking, include hl/gl (locale/country) in your SerpApi query params and store them as columns.
🤝 Need a hand?
I’m happy to help you get this running smoothly—or tailor it to your brand.
Reach out to me via email: imarunavadas@gmail.com
Track Google Play Store App Rankings with SerpApi, Baserow & Slack Alerts
This n8n workflow automates the process of tracking an app's ranking on the Google Play Store, storing the data in Baserow, and sending Slack notifications for significant changes. It simplifies monitoring your app's performance and staying informed about its visibility.
What it does
- Schedules Execution: The workflow runs on a predefined schedule (e.g., daily, hourly) to check app rankings.
- Fetches App Data: It uses the SerpApi Google Play Store API to search for a specific app and retrieve its current ranking and other relevant details.
- Processes Ranking Data: It extracts the app's current rank and prepares the data for storage.
- Stores Data in Baserow: The retrieved ranking data, including the app name, rank, and timestamp, is stored in a Baserow database.
- Compares with Previous Rank: It retrieves the last recorded rank from Baserow and compares it with the newly fetched rank.
- Sends Slack Alerts (Conditional): If there's a significant change in the app's ranking (e.g., a drop or increase by a certain threshold), a notification is sent to a specified Slack channel, alerting the team to the change.
Prerequisites/Requirements
- n8n Account/Instance: To host and run the workflow.
- SerpApi Account & API Key: For accessing Google Play Store search results.
- Baserow Account & API Token: To store app ranking data. You'll need a Baserow database and a table configured to store app name, rank, and timestamp.
- Slack Account & Webhook/Bot Token: To send notifications.
Setup/Usage
- Import the workflow: Download the JSON and import it into your n8n instance.
- Configure Credentials:
- SerpApi: Add your SerpApi API Key credential.
- Baserow: Add your Baserow API Token credential, specifying the base URL, database ID, and table ID.
- Slack: Add your Slack credential (e.g., OAuth2 or Webhook URL).
- Customize Nodes:
- Schedule Trigger: Adjust the schedule to your desired frequency (e.g., daily, every few hours).
- HTTP Request (SerpApi):
- Update the
qparameter in the URL to the exact name or ID of the app you want to track on the Google Play Store. - Ensure the SerpApi API key is correctly configured.
- Update the
- Baserow (Store Data):
- Verify the table ID and field names in the "Create Row" operation match your Baserow table schema (e.g.,
App Name,Rank,Timestamp).
- Verify the table ID and field names in the "Create Row" operation match your Baserow table schema (e.g.,
- Baserow (Get Previous Rank):
- Ensure the table ID and filter conditions are correct to retrieve the last recorded rank for your app.
- Code Node:
- Modify the JavaScript code to define your desired ranking change threshold for Slack alerts.
- Slack:
- Specify the Slack channel where you want to receive alerts.
- Customize the message content to include relevant ranking information.
- Activate the Workflow: Once configured, activate the workflow to start tracking your app's rankings.
Related Templates
Track competitor SEO keywords with Decodo + GPT-4.1-mini + Google Sheets
This workflow automates competitor keyword research using OpenAI LLM and Decodo for intelligent web scraping. Who this is for SEO specialists, content strategists, and growth marketers who want to automate keyword research and competitive intelligence. Marketing analysts managing multiple clients or websites who need consistent SEO tracking without manual data pulls. Agencies or automation engineers using Google Sheets as an SEO data dashboard for keyword monitoring and reporting. What problem this workflow solves Tracking competitor keywords manually is slow and inconsistent. Most SEO tools provide limited API access or lack contextual keyword analysis. This workflow solves that by: Automatically scraping any competitor’s webpage with Decodo. Using OpenAI GPT-4.1-mini to interpret keyword intent, density, and semantic focus. Storing structured keyword insights directly in Google Sheets for ongoing tracking and trend analysis. What this workflow does Trigger — Manually start the workflow or schedule it to run periodically. Input Setup — Define the website URL and target country (e.g., https://dev.to, france). Data Scraping (Decodo) — Fetch competitor web content and metadata. Keyword Analysis (OpenAI GPT-4.1-mini) Extract primary and secondary keywords. Identify focus topics and semantic entities. Generate a keyword density summary and SEO strength score. Recommend optimization and internal linking opportunities. Data Structuring — Clean and convert GPT output into JSON format. Data Storage (Google Sheets) — Append structured keyword data to a Google Sheet for long-term tracking. Setup Prerequisites If you are new to Decode, please signup on this link visit.decodo.com n8n account with workflow editor access Decodo API credentials OpenAI API key Google Sheets account connected via OAuth2 Make sure to install the Decodo Community node. Create a Google Sheet Add columns for: primarykeywords, seostrengthscore, keyworddensity_summary, etc. Share with your n8n Google account. Connect Credentials Add credentials for: Decodo API credentials - You need to register, login and obtain the Basic Authentication Token via Decodo Dashboard OpenAI API (for GPT-4o-mini) Google Sheets OAuth2 Configure Input Fields Edit the “Set Input Fields” node to set your target site and region. Run the Workflow Click Execute Workflow in n8n. View structured results in your connected Google Sheet. How to customize this workflow Track Multiple Competitors → Use a Google Sheet or CSV list of URLs; loop through them using the Split In Batches node. Add Language Detection → Add a Gemini or GPT node before keyword analysis to detect content language and adjust prompts. Enhance the SEO Report → Expand the GPT prompt to include backlink insights, metadata optimization, or readability checks. Integrate Visualization → Connect your Google Sheet to Looker Studio for SEO performance dashboards. Schedule Auto-Runs → Use the Cron Node to run weekly or monthly for competitor keyword refreshes. Summary This workflow automates competitor keyword research using: Decodo for intelligent web scraping OpenAI GPT-4.1-mini for keyword and SEO analysis Google Sheets for live tracking and reporting It’s a complete AI-powered SEO intelligence pipeline ideal for teams that want actionable insights on keyword gaps, optimization opportunities, and content focus trends, without relying on expensive SEO SaaS tools.
Send WooCommerce discount coupons to customers via WhatsApp using Rapiwa API
Who is this for? This workflow is ideal for WooCommerce store owners who want to automatically send promotional WhatsApp messages to their customers when new coupons are created. It’s designed for marketers and eCommerce managers looking to boost engagement, streamline coupon sharing, and track campaign performance effortlessly through Google Sheets. Overview This workflow listens for WooCommerce coupon creation events (coupon.created) and uses customer billing data to send promotional WhatsApp messages via the Rapiwa API. The flow formats the coupon data, cleans phone numbers, verifies WhatsApp registration with Rapiwa, sends the promotional message when verified, and logs each attempt to Google Sheets (separate sheets for verified/sent and unverified/not sent). What this Workflow Does Listens for new coupon creation events in WooCommerce via the WooCommerce Trigger node Retrieves all customer data from the WooCommerce store Processes customers in batches to control throughput Cleans and formats customer phone numbers for WhatsApp Verifies if phone numbers are valid WhatsApp accounts using Rapiwa API Sends personalized WhatsApp messages with coupon details to verified numbers Logs all activities to Google Sheets for tracking and analysis Handles both verified and unverified numbers appropriately Key Features Automated coupon distribution: Triggers when new coupons are created in WooCommerce Customer data retrieval: Fetches all customer information from WooCommerce Phone number validation: Verifies WhatsApp numbers before sending messages Personalized messaging: Includes customer name and coupon details in messages Dual logging system: Tracks both successful and failed message attempts Rate limiting: Uses batching and wait nodes to prevent API overload Data formatting: Structures coupon information for consistent messaging Google Sheet Column Structure A Google Sheet formatted like this ➤ sample The workflow uses a Google Sheet with the following columns to track coupon distribution: | name | number | email | address1 | couponCode | couponTitle | couponType | couponAmount | createDate | expireDate | validity | status | | ----------- | ------------- | --------------------------------------------------- | --------- | ---------- | -------------- | ---------- | ------------ | ------------------- | ------------------- | ---------- | -------- | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur-DOHS | 62dhryst | eid offer 2025 | percent | 20.00 | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | unverified | not sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur-DOHS | 62dhryst | eid offer 2025 | percent | 20.00 | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | verified | sent | Requirements n8n instance with the following nodes: WooCommerce Trigger, Code, SplitInBatches, HTTP Request, IF, Google Sheets, Wait WooCommerce store with API access Rapiwa account with API access for WhatsApp verification and messaging Google account with Sheets access Customer phone numbers in WooCommerce (stored in billing.phone field) Important Notes Phone Number Format: The workflow cleans phone numbers by removing all non-digit characters. Ensure your WooCommerce phone numbers are in a compatible format. API Rate Limits: Rapiwa and WooCommerce APIs have rate limits. Adjust batch sizes and wait times accordingly. Data Privacy: Ensure compliance with data protection regulations when sending marketing messages. Error Handling: The workflow logs unverified numbers but doesn't have extensive error handling. Consider adding error notifications for failed API calls. Message Content: The current message template references the first coupon only (coupons[0]). Adjust if you need to handle multiple coupons. Useful Links Dashboard: https://app.rapiwa.com Official Website: https://rapiwa.com Documentation: https://docs.rapiwa.com Support & Help WhatsApp: Chat on WhatsApp Discord: SpaGreen Community Facebook Group: SpaGreen Support Website: https://spagreen.net Developer Portfolio: Codecanyon SpaGreen
Create personalized email outreach with AI, Telegram bot & website scraping
Demo Personalized Email This n8n workflow is built for AI and automation agencies to promote their workflows through an interactive demo that prospects can try themselves. The featured system is a deep personalized email demo. --- 🔄 How It Works Prospect Interaction A prospect starts the demo via Telegram. The Telegram bot (created with BotFather) connects directly to your n8n instance. Demo Guidance The RAG agent and instructor guide the user step-by-step through the demo. Instructions and responses are dynamically generated based on user input. Workflow Execution When the user triggers an action (e.g., testing the email demo), n8n runs the workflow. The workflow collects website data using Crawl4AI or standard HTTP requests. Email Demo The system personalizes and sends a demo email through SparkPost, showing the automation’s capability. Logging and Control Each user interaction is logged in your database using their name and id. The workflow checks limits to prevent misuse or spam. Error Handling If a low-CPU scraping method fails, the workflow automatically escalates to a higher-CPU method. ⚙️ Requirements Before setting up, make sure you have the following: n8n — Automation platform to run the workflow Docker — Required to run Crawl4AI Crawl4AI — For intelligent website crawling Telegram Account — To create your Telegram bot via BotFather SparkPost Account — To send personalized demo emails A database (e.g., PostgreSQL, MySQL, or SQLite) — To store log data such as user name and ID 🚀 Features Telegram interface using the BotFather API Instructor and RAG agent to guide prospects through the demo Flow generation limits per user ID to prevent abuse Low-cost yet powerful web scraping, escalating from low- to high-CPU flows if earlier ones fail --- 💡 Development Ideas Replace the RAG logic with your own query-answering and guidance method Remove the flow limit if you’re confident the demo can’t be misused Swap the personalized email demo with any other workflow you want to showcase --- 🧠 Technical Notes Telegram bot created with BotFather Website crawl process: Extract sub-links via /sitemap.xml, sitemap_index.xml, or standard HTTP requests Fall back to Crawl4AI if normal requests fail Fetch sub-link content via HTTPS or Crawl4AI as backup SparkPost used for sending demo emails --- ⚙️ Setup Instructions Create a Telegram Bot Use BotFather on Telegram to create your bot and get the API token. This token will be used to connect your n8n workflow to Telegram. Create a Log Data Table In your database, create a table to store user logs. The table must include at least the following columns: name — to store the user’s name or Telegram username. id — to store the user’s unique identifier. Install Crawl4AI with Docker Follow the installation guide from the official repository: 👉 https://github.com/unclecode/crawl4ai Crawl4AI will handle website crawling and content extraction in your workflow. --- 📦 Notes This setup is optimized for low cost, easy scalability, and real-time interaction with prospects. You can customize each component — Telegram bot behavior, RAG logic, scraping strategy, and email workflow — to fit your agency’s demo needs. 👉 You can try the live demo here: @emaildemobot ---