by Gabriel Santos
Who’s it for Teams and project managers who want to turn meeting transcripts into actionable Trello tasks automatically, without worrying about duplicate cards. What it does This workflow receives a transcript file in .txt format and processes it with AI to extract clear, concise tasks. Each task includes a short title, a description, an assignee (if mentioned), and a deadline (if available). The workflow then checks Trello for duplicates across all lists, comparing both card titles (name) and descriptions (desc). If a matching card already exists, the workflow returns the existing Trello card ID. If not, it creates a new card in the predefined default list. Finally, the workflow generates a user-friendly summary: how many tasks were found, how many already existed, how many new cards were created, and how many tasks had no assignee or deadline. Requirements A Trello account with API credentials configured in n8n (no hardcoded keys). An OpenAI (or compatible) LLM account connected in n8n. How to customize Adjust similarity thresholds for title/description matching in the Trello Sub-Agent. Modify the summary text to always return in your preferred language. Extend the Trello card creation step with labels, members, or due dates.
by Shelly-Ann Davy
Build authentic Reddit presence and generate qualified leads through AI-powered community engagement that provides genuine value without spam or promotion. 🎯 What This Workflow Does: This intelligent n8n workflow monitors 9 targeted subreddits every 4 hours, uses AI to analyze posts for relevance and lead potential, generates authentic helpful responses that add value to discussions, posts comments automatically, and captures high-quality leads (70%+ potential score) directly into your CRM—all while maintaining full Reddit compliance and looking completely human. ✨ Key Features: 6 Daily Checks: Monitors subreddits every 4 hours for fresh content 9 Subreddit Coverage: Customizable list of target communities AI Post Analysis: Determines relevance, intent, and lead potential Intelligent Engagement: Only comments when you can add genuine value Authentic Responses: AI-generated comments that sound human, not promotional Lead Scoring: 0-1.0 scale identifies high-potential prospects (0.7+ captured) Automatic CRM Integration: High-quality leads flow directly to Supabase Rate Limit Protection: 60-second delays ensure Reddit API compliance Native Reddit Integration: Official n8n Reddit node with OAuth2 Beginner-Friendly: 14+ detailed sticky notes explaining every component 🎯 Target Subreddits (Customizable): Insurance & Claims: r/Insurance - General insurance questions r/ClaimAdvice - Claim filing help r/AutoInsurance - Auto coverage discussions r/FloodInsurance - Flood damage queries r/PropertyInsurance - Property coverage Property & Home: r/homeowners - Property issues and claims r/RoofingContractors - Roof damage discussions Financial & Legal: r/PersonalFinance - Insurance decisions r/legaladvice - Legal aspects of claims 🤖 AI Analysis Components: Post Evaluation: Relevance score (0-100%) User intent detection Damage type identification (hail, water, fire, wind) Urgency level (low/medium/high) Lead potential score (0-1.0) Recommended services Engagement opportunity assessment Decision Criteria: Should engage? (boolean) Can we add value? (quality check) Is this promotional? (avoid spam) Lead worth capturing? (70%+ threshold) Typical Engagement Rate: 5-10% of analyzed posts (67-135 comments/day) 🔧 Technical Stack: Trigger: Schedule (every 4 hours, 6x daily) Reddit API: Native n8n node with OAuth2 AI Analysis: Supabase Edge Functions Response Generation: AI-powered contextual replies Lead Capture: Supabase CRM integration Rate Limiting: Wait node (60-second delays)
by Nima Salimi
Overview This n8n workflow automatically retrieves the monthly CrUX (Chrome User Experience) Report from Google BigQuery and updates the data in NocoDB. It removes the previous month’s data before inserting the new dataset, ensuring your database always contains the latest CrUX rankings for website origins. The flow is fully automated, using schedule triggers to handle both data cleanup and data insertion each month. ✅ Tasks ⏰ Runs automatically on a monthly schedule 🔢 Converts the month name to a numeric value for table selection 🧹 Deletes last month’s CrUX data from NocoDB 🌐 Queries Google BigQuery for the latest monthly dataset 💾 Inserts the new CrUX rankings into NocoDB ⚙️ Keeps your database up to date with zero manual effort 🛠 How to Use 1️⃣ Set Up BigQuery Access Connect your Google BigQuery credentials. Make sure your project includes access to the chrome-ux-report public dataset. 2️⃣ Adjust the Query In the Google BigQuery node, change the LIMIT value to control how many top-ranked sites are retrieved. Ensure the {{ $json.table }} field correctly references the dataset for the desired month (e.g., 202509). 3️⃣ Prepare NocoDB Table Create a table in NocoDB with fields: origin, crux_rank, and any additional metadata you wish to track. 4️⃣ Schedule Automation The workflow includes two Schedule Trigger nodes: One runs the data cleanup process (deletes last month). One runs the data insertion for the new month. 5️⃣ Run or Activate the Workflow Activate it to run automatically each month. You can also run it manually to refresh data on demand. 📋 Prerequisites Before running this workflow, make sure you complete the following setup steps: 🧱 Enable BigQuery API Go to Google Cloud Console → APIs & Services Enable the BigQuery API for your project. 📊 Access the Chrome UX Report Dataset In BigQuery, search for “Chrome UX Report” in the Marketplace or go directly to: https://console.cloud.google.com/marketplace/product/chrome-ux-report/chrome-ux-report Click “View Dataset” and add it to your BigQuery project. 🔑 Connect BigQuery to n8n In n8n, create credentials for your Google BigQuery account using Service Account Authentication. Ensure the account has permission to query the chrome-ux-report dataset. 🗄️ Create a NocoDB Table In NocoDB, create a new table to store your CrUX data with the following fields: origin → Short text crux_rank → Number ⚙️ Connect NocoDB to n8n Use your NocoDB API Token to connect and allow the workflow to read/write data. What is CrUX Rank? CrUX Rank (Chrome User Experience Rank) is a metric from Google’s Chrome UX Report (CrUX) dataset that indicates a website’s popularity based on real user visits. It reflects how frequently an origin (website) is loaded by Chrome users around the world. A lower rank number means the site is more popular (e.g., rank 1 = top site). The data is collected from anonymized Chrome usage statistics, aggregated monthly. This rank helps you track site popularity trends and compare your domain’s visibility over time.
by SIENNA
Automated FTP/SFTP to MinIO Object Backup with Scheduling $\mapsto$ Can work with FTP/SFTP Servers like your Wordpress Website ! What this workflow does ? This workflow performs automated, periodic backups of files from a FTP or SFTP server directory to a MinIO S3 bucket running locally or on a dedicated container/VM/server. It can also work if the MinIO bucket is running on a remote cloud provider's infrastructure; you just need to change the URL and keys. Who's this intended for ? Storage administrators, cloud architects, or DevOps who need a simple and scalable solution for retrieving data from a remote FTP or SFTP Server. This can also be practical for Wordpress Devs that need to backup data from a server hosting a Wordpress Website. In that case, you'll just need to specify the folder that you want to backup (could be one from wordpress/uploads or even the root one) How it works This workflow uses commands to list and download files from a specific directory on a FTP-SFTP Server, then send them to MinIO using their version of the S3 API. The source directory can be a specific one or the entire server (the root directory) Requirements None, just a source folder/directory on a FTP/SFTP Server and a destination bucket on MinIO. You'll also need to get MinIO running. You're using Proxmox VE ? Create a MinIO LXC Container : https://community-scripts.github.io/ProxmoxVE/scripts?id=minio Need a Backup from another Cloud Storage Provider ? Need automated backup from another Cloud Storage Provider ? $\mapsto$ Check out our templates, we've done it with AWS, Azure, and GCP, and we even have a version for FTP/SFTP servers! $\odot$ These workflow can be integrated to bigger ones and modified to best suit your needs ! You can, for example, replace the MinIO node to another S3 Bucket from another Cloud Storage Provider (Backblaze, Wasabi, Scaleway, OVH, ...)
by SerpApi
Sync Google Maps Reviews to Google Sheets for Any Google Maps Query How it works This workflow accepts any query you might run on actual Google Maps to search for places. The search happens through SerpApi's Google Maps API. Once the workflow receives place results from Google Maps, it loops through each place fetching reviews using SerpApi's Google Maps Reviews API. By default, the workflow will be limited to fetch up to 50 reviews per place. This can be customized in the 'Set Review Limit' node}. The first page of reviews for a place will only return 8 reviews. All subsequent pages will return up to 20 reviews. The fetched reviews are sent to a connected Google Sheet. How to use Create a free SerpApi account here: https://serpapi.com/ Add SerpApi credentials to n8n. Your SerpApi API key is here: https://serpapi.com/manage-api-key Connect your Google Sheets accounts to n8n. Help available here: https://n8n.io/integrations/google-sheets/ Create a Google Sheet with these column headers: name, iso_date, rating, snippet Connect your Google Sheet in the 'Append Reviews' Google Sheet node Update the Search Query in the 'Search Google Maps' node to set your own query (Optional) Update the review limit from the default 50 in the 'Set Review Limit' node. Set it to a very high number (e.g. 50000) to get all possible reviews. Hit 'Test Workflow' to manually trigger the workflow. Limitations Can only retrieve the top 20 results from Google Maps. It won't paginate to get more results. The workflow could be extended to support Google Maps Pagination. Warning Each request to SerpApi consumes 1 search credit. Be mindful of how many search credits your account has before requesting more reviews than your account supports. As an example, if a Google Maps query returns 20 results and you fetch the default limit of 50 reviews per page, this will use up to 61 SerpApi search credits. Documentation Google Maps API Google Maps Reviews API SerpApi n8n Node Intro Guide
by Mychel Garzon
Stop losing high-ticket leads to noisy Slack channels and unpredictable AI intent scoring. Route them with enterprise precision. For specialized B2B agencies, consultancies, and MSPs, lead routing isn't about guessing "purchasing temperature" it’s about distinct operational tracks. An "Infrastructure Audit" requires vastly different triage than a "Managed Services" request. This workflow acts as a production-ready, deterministic routing engine. It scrubs incoming payloads through a strict validation firewall and utilizes parallel execution to instantly notify your team's ticketing system while delivering tailored, service-specific confirmations to your prospect. How it works The workflow operates in four synchronized stages: Ingestion & Payload Flattening:** Triggers via a Webhook (optimized for Tally or Typeform). A custom JavaScript node instantly flattens complex, deeply nested multi-choice form arrays into clean, accessible root-level variables. Pre-Routing Spam Firewall:** Rather than immediately hitting your CRM, the data passes through a strict IF node configured with Regex. Malformed emails are instantly rejected, sending an error response back to the form and protecting your downstream systems from "junk" data pollution. Deterministic Service Routing:* Validated leads hit a Switch node configured with rigid operational deliverables (Audit, Implementation, Managed Services). It includes an impermeable . Regex Fallback branch to catch any unexpected or deprecated form inputs, ensuring zero leads are ever dropped due to unmapped values. Asynchronous Parallel Communications:** The workflow fans out to execute dual email flows concurrently. It dispatches a dynamic HTML confirmation to the prospect based on their specific tier, while simultaneously sending a fully formatted data payload to a dedicated internal inbox. Webhook Stability & Closure:* Every external SMTP node is configured with *Continue on Fail. If an email server times out, the workflow gracefully completes, successfully responding to the originating webhook with a 200 OK to prevent infinite, lagging retry loops from your form builder. Key Benefits Subverts the "Chat-Ops" Bias:** Built for professional RevOps teams using Zendesk, Jira Service Management, or shared Outlook inboxes. It relies on robust SMTP formatting rather than transient Slack pings. Zero-Drop Failsafe:** The catch-all routing branch ensures that even if someone submits a broken value, they still receive a branded acknowledgment while your team investigates the anomaly. Node-Level Resilience:** Designed with "Continue on Fail" logic. Temporary network blips won't crash the pipeline or break the user's frontend experience. Zero-Latency Fan-Out:** Internal triage alerts and external customer emails fire at the exact same time, eliminating the gap between capture and engagement. Setup Credentials: Add your standard SMTP or dedicated Email API credentials (e.g., SendGrid, Mailgun, Gmail) in n8n. Environment Config: Open the Notify Internal Team and customer Email nodes to replace hello@yourdomain.com and admin@yourdomain.com with your actual sending and routing addresses. Template Polish: Update the HTML payloads in the Email nodes to match your company’s specific branding and service level agreements. Activate: Turn the workflow on, copy the Production Webhook URL, and paste it into your Tally.so or Typeform integration settings. Who this is for B2B Service Providers & Consultancies** that require distinct operational tracks for different service offerings. Managed Service Providers (MSPs)** establishing highly auditable intake systems. Revenue Operations (RevOps) Architects** looking to replace probabilistic AI scoring with rigid, rule-based infrastructure. Required APIs & Credentials Inbound:** Generic Webhook (Native to n8n) Outbound:** Standard SMTP or equivalent Email Provider How to customise it Implement the Orchestrator Pattern:** As your logic scales, replace the 4 customer Email nodes with Execute Workflow nodes. This allows individual departments to build complex, 10-step onboarding sequences without cluttering the primary routing firewall. Add a Dead Letter Queue (DLQ):** Connect a database node (like Notion, Supabase, or Airtable) to the false branch of the Validation node to permanently log malformed submissions for compliance auditing. Advanced Verification:** Add an HTTP request node before the Switch to run the email through Hunter.io or VerifiEmail to check live MX records and prevent hard bounces.
by KlickTipp
Community Node Disclaimer: This workflow uses KlickTipp community nodes. Introduction This workflow automates Stripe checkout confirmations by capturing transaction data and syncing it into KlickTipp. Upon successful checkout, the contact's data is enriched with purchase details and tagged to trigger a personalized confirmation campaign in KlickTipp. Perfect for digital product sellers, course creators, and service providers seeking an end-to-end automated sales confirmation process. Benefits Instant confirmation emails**: Automatically notify customers upon successful checkout—no manual processing needed. Structured contact data**: Order data (invoice link, amount, transaction ID, products) is stored in KlickTipp custom fields. Smart campaign triggering**: Assign dynamic tags to start automated confirmation or fulfillment sequences. Seamless digital delivery**: Ideal for pairing with tools like Memberspot or Mentortools to unlock digital products post-checkout. Key Features Stripe Webhook Trigger**: Triggers on Triggers on Checkout Session.completed events events. Captures checkout data including product names, order number, and total amount. KlickTipp Contact Sync**: Adds or updates contacts in KlickTipp. Maps Stripe data into custom fields Assigns a tag such as Stripe Checkout to initiate a confirmation campaign. Router Logic (optional)**: Branches logic based on product ID or Stripe payment link. Enables product-specific campaigns or follow-ups. Setup Instructions KlickTipp Preparation Create the following custom fields in your KlickTipp account: | Field Name | Field Type | |--------------------------|------------------| | Stripe \| Products | Text | | Stripe \| Total | Decimal Number | | Stripe \| Payment ID | Text | | Stripe \| Receipt URL | URL | Define a tag for each product or confirmation flow, e.g., Order: Course XYZ. Credential Configuration Connect your Stripe account using an API key from the Stripe Dashboard. Authenticate your KlickTipp connection with username/password credentials (API access required). Field Mapping and Workflow Alignment Map Stripe output fields to the KlickTipp custom fields. Assign the tag to trigger your post-purchase campaign. Ensure that required data like email and opt-in info are present for the contact to be valid. Testing and Deployment Click on Inactive to activate the scenario. Perform a test payment using a Stripe product link. Verify in KlickTipp: The contact appears with email and opt-in status. Custom fields for Stripe are filled. The campaign tag is correctly applied and confirmation email is sent. ⚠️ Note: Use real or test-mode API keys in Stripe depending on your testing environment. Stripe events may take a few seconds to propagate. Campaign Expansion Ideas Launch targeted upsell flows based on the product tag. Use confirmation placeholders like: [[Stripe | Products]] [[Stripe | Total]] [[Stripe | Payment ID]] [[Stripe | Products]] Route customers to different product access portals (e.g., Memberspot, Mentortools). Send follow-up content over multiple days using KlickTipp sequences. Customization You can extend the scenario using a switch node to: Assign different tags per used payment link Branch into upsell or membership activation flows Chain additional automations like CRM entry, Slack notification, or invoice creation. Resources: Use KlickTipp Community Node in n8n Automate Workflows: KlickTipp Integration in n8n
by Yaron Been
Generate Custom Text Content with IBM Granite 3.3 8B Instruct AI This workflow connects to Replicate’s API and uses the ibm-granite/granite-3.3-8b-instruct model to generate text. ✅ 🔵 SECTION 1: Trigger & Setup ⚙️ Nodes 1️⃣ On clicking 'execute' What it does:* Starts the workflow manually when you hit *Execute. Why it’s useful:** Perfect for testing text generation on-demand. 2️⃣ Set API Key What it does:* Stores your *Replicate API key** securely. Why it’s useful:** You don’t hardcode credentials into HTTP nodes — just set them once here. Beginner tip:** Replace YOUR_REPLICATE_API_KEY with your actual API key. 💡 Beginner Benefit ✅ No coding needed to handle authentication. ✅ You can reuse the same setup for other Replicate models. ✅ 🤖 SECTION 2: Model Request & Polling ⚙️ Nodes 3️⃣ Create Prediction (HTTP Request) What it does:* Sends a *POST request** to Replicate’s API to start a text generation job. Parameters include:** temperature, max_tokens, top_k, top_p. Why it’s useful:** Controls how creative or focused the AI text output will be. 4️⃣ Extract Prediction ID (Code) What it does:* Pulls the *prediction ID** and builds a URL for checking status. Why it’s useful:** Replicate jobs run asynchronously, so you need the ID to track progress. 5️⃣ Wait What it does:* Pauses for *2 seconds** before checking the prediction again. Why it’s useful:** Prevents spamming the API with too many requests. 6️⃣ Check Prediction Status (HTTP Request) What it does:* Polls the Replicate API for the *current status** (e.g., starting, processing, succeeded). Why it’s useful:** Lets you loop until the AI finishes generating text. 7️⃣ Check If Complete (IF Condition) What it does:* If the status is *succeeded, it goes to “Process Result.” Otherwise, it loops back to **Wait and retries. Why it’s useful:** Creates an automated polling loop without writing complex code. 💡 Beginner Benefit ✅ No need to manually refresh or check job status. ✅ Workflow keeps retrying until text is ready. ✅ Smart looping built-in with Wait + If Condition. ✅ 🟢 SECTION 3: Process & Output ⚙️ Nodes 8️⃣ Process Result (Code) What it does:* Collects the final *AI output**, status, metrics, and timestamps. Adds info like:** ✅ output → Generated text ✅ model → ibm-granite/granite-3.3-8b-instruct ✅ metrics → Performance data Why it’s useful:** Gives you a neat, structured JSON result that’s easy to send to Sheets, Notion, or any app. 💡 Beginner Benefit ✅ Ready-to-use text output. ✅ Easy integration with any database or CRM. ✅ Transparent metrics (when it started, when it finished, etc.). ✅✅✅ ✨ FULL FLOW OVERVIEW | Section | What happens | | ------------------------------ | ---------------------------------------------------------------------------- | | ⚡ Trigger & Setup | Start workflow + set Replicate API key. | | 🤖 Model Request & Polling | Send request → get Prediction ID → loop until job completes. | | 🟢 Process & Output | Extract clean AI-generated text + metadata for storage or further workflows. | 📌 How You Benefit Overall ✅ No coding needed — just configure your API key. ✅ Reliable polling — the workflow waits until results are ready. ✅ Flexible — you can extend output to Google Sheets, Slack, Notion, or email. ✅ Beginner-friendly — clean separation of input, process, and output. ✨ With this workflow, you’ve turned Replicate’s IBM Granite LLM into a no-code text generator — running entirely inside n8n! ✨
by Rahul Joshi
Quick overview This workflow manually syncs Salesforce PricebookEntry records listed in Google Sheets into GoHighLevel (LeadConnector) as custom_objects.price_book_entry records, then creates an association to the related product and logs success or error statuses back to the sheet. How it works Starts when you manually execute the workflow. Reads rows from a Google Sheets tab where the Created column is set to No, limits the batch size, and processes the rows one by one. For each row, updates the sheet status to indicate processing has started. Queries Salesforce for the full PricebookEntry details (including Pricebook2 and Product2 fields) using the Salesforce record ID from the current sheet row. Creates a GoHighLevel custom object record in custom_objects.price_book_entry with pricing and product fields from Salesforce. Creates a GoHighLevel association relation linking the new price book entry record to the configured related record. Updates the Google Sheets row as Yes on success or Error when the Salesforce query, GoHighLevel create, or association call fails, and waits between retries to reduce rate-limit issues. Setup Add Google Sheets OAuth2 credentials and set the spreadsheet ID and the Pricebook Entries tab (gid) to match your sheet. Ensure your sheet includes a Created column (with No for rows to process) and columns for the Salesforce PricebookEntry Id, row_number, and the related record ID used for the association (as referenced in the association request). Add Salesforce OAuth2 credentials and replace YOUR_SF_INSTANCE.my.salesforce.com in the Salesforce query URL with your Salesforce org domain. Add your GoHighLevel (LeadConnector) private integration token and replace YOUR_GHL_API_TOKEN, YOUR_GHL_LOCATION_ID, and YOUR_GHL_ASSOCIATION_ID in the two GoHighLevel HTTP requests. Confirm that the GoHighLevel custom object custom_objects.price_book_entry exists with property keys that match the request payload (for example product_name, salesforce_price_book_entry_id, list_price, and currency).
by Kev
Automatically create and publish ready-to-post social media news updates — all powered by AI. This workflow turns any RSS feed into professional, branded posts, complete with visuals and captions. Use cases include automating news updates, sharing industry insights, or maintaining an active social presence without manual work. Good to know Fully automated end-to-end publishing — from RSS feed to social post Uses JsonCut for dynamic image composition (backgrounds, text overlays, logos) Publishes directly to Instagram (or other channels) via Blotato Utilizes OpenAI GPT-5 for post text and image prompt generation Polling mechanism checks job status every 3 seconds Setup time: under 10 minutes once credentials are in place How it works The RSS Trigger monitors any RSS feed for new content. OpenAI GPT-5 rewrites the headline and creates a short, social-friendly post caption. An AI image prompt is generated to match the article’s topic and mood. JsonCut combines the background, logo, and headline text into a branded image. Once the image is ready, Blotato uploads and publishes the post directly to Instagram (or other connected platforms). The process runs completely automatically — no human input required after setup. How to use Import the workflow into your n8n instance. Configure your RSS feed URL(s). Add your JsonCut, Blotato, and OpenAI credentials. Activate the workflow — it will automatically generate and post new content whenever your RSS source updates. Requirements Free account at jsoncut.com Account at blotato.com (paid service — can be replaced with any social media API or publishing platform) API keys for both services: JsonCut API Key via app.jsoncut.com Blotato API Key via www.blotato.com OpenAI credential** (GPT-5 or compatible model) RSS Feed URL** (e.g. from a news site, blog, or press page) Setup steps Sign up for a free account at app.jsoncut.com. If you use Blotato, create an account at blotato.com and generate an API key. In n8n, add: JsonCut API Key (HTTP Header Auth, header: x-api-key) Blotato API credential (optional — can be replaced) OpenAI credential for GPT-5 Replace the example RSS URL in the RSS Feed Trigger node with your own. Activate the workflow — it will start monitoring, generating, and posting automatically. Customising this workflow You can easily adjust: The image layout and branding (in the “Create JsonCut Job” node) The tone or length of social captions (in the “Create Instagram Text” node prompt) The publishing platform — replace Blotato with another integration (e.g. Buffer, Hootsuite, or native social API) Posting frequency via the RSS trigger interval For advanced customization, check out: JsonCut Documentation JsonCut Image Generation Examples Blotato Website n8n Documentation
by Cristian Tala Sánchez
Auto-Approve Skool Community Members with AI Screening using GPT-4o Automatically screen and approve Skool community membership requests using AI. Stop manually reviewing dozens of applications — let GPT-4o-mini evaluate each applicant based on your custom criteria and auto-approve qualified members. How it works Runs on a schedule (every 6 hours by default) Connects to your Skool community via the Skool All-in-One API on Apify Fetches all pending member applications with their answers GPT-4o-mini evaluates each application against your criteria (LinkedIn profile, answer quality, email validation) Approved members are automatically accepted into your community Rejected members stay pending for your manual review — no one gets auto-declined Perfect for Skool community managers** handling high volumes of membership requests Course creators** who want quality control without the manual work Paid communities** that need to verify applicants before granting access Anyone running a Skool group** who wants to save hours every week What makes this template unique The only n8n template that can WRITE to Skool** — approve, reject, create posts, reply to comments AI-powered screening** with customizable prompts — adapt criteria for any type of community Detailed sticky notes** explain how to customize the AI prompt, choose alternative models (Claude, Gemini, Llama), and extend the workflow Cookie-based auth** for fast operations (~2 seconds per action) Setup Get an Apify API token (free tier available) Get an OpenAI API key Add both as credentials in n8n Set your Skool email, password, and community slug in the Config node Customize the AI screening prompt in the AI Screen Applicant node Test first with the Approve Member node disconnected Activate the workflow Customizing the AI prompt The system prompt defines your screening criteria. Adapt it for your community: Entrepreneurship community?** Check for LinkedIn, specific challenges, business experience Fitness community?** Check for fitness goals, experience level, commitment SaaS/Tech?** Check for company, role, technical background Course community?** Check for learning objectives, prior knowledge Alternative AI models You can replace GPT-4o-mini with: GPT-4o** — More nuanced judgment, 10x cost Claude 3.5 Haiku** — Similar speed and cost, use the Anthropic node Gemini 2.0 Flash** — Google's fast model, use the Google AI node Llama 3 via Ollama** — Free and self-hosted, use the Ollama node Requirements | Service | What you need | Where to get it | |---------|--------------|-----------------| | Apify | API token | apify.com/account/integrations | | OpenAI | API key | platform.openai.com/api-keys | | Skool | Admin access to your community | skool.com | Built with Skool All-in-One API — the most complete Skool automation on Apify. Read AND write: posts, comments with nesting, members, mentions, and more.
by SerpApi
Google Play Store App Rank and Rating Monitoring What and who this is for This workflow will be useful for anyone looking to do SEO tracking on the Google Play Store. It automates checking Google Play Store rank positions and average ratings for a list of app titles. The SerpApi component can also be modified to use other APIs for anyone looking for SEO tracking on any other search engine supported by SerpApi. How it works This workflow takes in a list of keywords and app titles to identify the apps' rank in Google Play Store search results. It also grabs the average rating of the app. The search uses SerpApi's Google Play Store API. The results are then synced to two different sheets in a Google Sheet. The first is a log of all past run. The latest results are appended to the bottom of the log. The second updates a kind of "dashboard" to show the results from the latest run. The workflow includes a Wait node that delays 4 seconds between each app title and keyword pair to prevent hitting the default Google Sheets' API per minute rate limit. You can delete this if you have a high enough custom rate limit on the Google Sheets API. The Schedule Trigger is configured to run at 10 AM UTC every day. How to use Create a free SerpApi account here: https://serpapi.com/ Add SerpApi credentials to n8n. Your SerpApi API key is here: https://serpapi.com/manage-api-key Connect your Google Sheets accounts to n8n. Help available here: https://n8n.io/integrations/google-sheets/ Copy this Google Sheet to your own Google account: https://docs.google.com/spreadsheets/d/1DiP6Zhe17tEblzKevtbPqIygH3dpPCW-NAprxup0VqA/edit?gid=1750873622#gid=1750873622 Set your own list of keywords and app titles to match in the 'Latest Run' sheet. This is the source list used to run the searches and must be set. Connect your Google Sheet in the 'Get Keywords and Titles to Match' Google Sheet node Connect your Google Sheet in the 'Update Rank & Rating Log' Google Sheet node Connect your Google Sheet again in the 'Update Latest Run' Google Sheet node (Optional) Update the schedule or disable the schedule to only run manually Documentation SerpApi Google Play Store API SerpApi n8n Node Intro Guide