by Evoort Solutions
🔍 SERP Keyword Ranking Checker with RapidAPI & Google Sheets Automate keyword SERP ranking lookups and log the data into Google Sheets using this no-code n8n workflow. Perfect for SEO professionals, digital marketers, or anyone tracking keyword visibility across regions. 🧰 Tools Used SERP Keyword Ranking Checker API – Fetch real-time keyword SERP data Google Sheets** – Log keyword data for tracking, analysis, or client reporting 📌 Workflow Overview User submits a keyword and country code via an n8n form Workflow sends a request to the SERP Keyword Ranking Checker API API response is checked: If valid data is found, it is logged to Google Sheets If no results are found, a fallback message is saved instead Optional delays added to space out operations ⚙️ Node-by-Node Breakdown 1. 🟢 Form Trigger: On form submission Accepts user input for: keyword (e.g. "labubu") country (e.g. "us") 2. 📦 Set Node: Global Storage Stores form input into variables (keyword, country) for use in API requests and logging. 3. 🌐 HTTP Request: SERP Keyword Ranking Checker Sends a POST request to the SERP Keyword Ranking Checker API with: keyword country Includes headers: x-rapidapi-host: serp-keyword-ranking-checker.p.rapidapi.com x-rapidapi-key: YOUR_RAPIDAPI_KEY 4. ⚖️ If Node: Condition Checking Checks whether the serpResults array returned by the API is non-empty. ✅ True Branch: Proceeds if valid SERP data is available. ❌ False Branch: Proceeds if no SERP data is returned (e.g., empty result). 5. ⏳ Wait Node: 5-Second Delay Adds a 5-second delay before proceeding to Google Sheets insertion. This helps control execution pace and ensures API rate limits or spreadsheet latency is handled smoothly. Used on both True and False branches for consistency. 6. 📊 Google Sheets (Success Path) Appends a new row into the selected Google Sheet with: Keyword – the submitted keyword Country – selected country code Json data – full serpResults JSON array returned by the API 💡 Ideal for tracking keyword rankings over time or populating live dashboards. 7. 📊 Google Sheets (Failure Path) Appends a fallback message into the Google Sheet when no SERP results are found. Keyword – the submitted keyword Country – selected country code Json data – "No result found. Please try another keyword..." 🔍 Helps maintain a log of unsuccessful queries for debugging or auditing. 💡 Use Cases SEO Audits** Automate keyword performance snapshots across different markets to identify opportunities and gaps. Competitor Analysis** Track keyword rankings of rival brands in real time to stay ahead of competition. Client Reporting** Feed live SERP data into dashboards or reports for transparent, real-time agency deliverables. Content Strategy** Discover which keywords surface top-ranking pages to guide content creation and optimization efforts. 🔑 How to Obtain Your API Key for SERP Keyword Ranking Checker API Sign Up or Log In Visit RapidAPI and create a free account using your email or social login. Go to the API Page Navigate to the SERP Keyword Ranking Checker APi. Subscribe to the API Click Subscribe to Test, then choose a pricing plan that fits your needs (Free, Basic, Pro). Get Your API Key After subscribing, go to the Security tab on the API page to find your X-RapidAPI-Key. Use Your API Key Add the API key to your HTTP request headers: X-RapidAPI-Key: YOUR_API_KEY Create your free n8n account and set up the workflow in just a few minutes using the link below: 👉 Start Automating with n8n
by System Admin
Tagged with: , , , ,
by WeblineIndia
This workflow sends a “Join in 10” Slack ping to each interviewer shortly before their interview starts. It checks the Interviews Google Calendar every minute, finds interviews starting in the next LEAD_MINUTES (default 10), and sends a Slack DM with the candidate name, role, local start time, meeting link, and any CV: / Notes: links present in the event description. If the Slack user can’t be found by email, it posts to a fallback channel (default #recruiting-alerts) with an @‑style email mention. A Data Store prevents duplicate pings for the same event + attendee. Who’s It For Interviewers who prefer a timely Slack nudge instead of calendar alerts. Recruiting coordinators who want consistent reminders without manual follow‑ups. Teams that include links directly in the calendar event description. How It Works Cron (every minute) polls near‑term events so pings arrive about 10 minutes before start. Google Calendar (Interviews) fetches upcoming events. Prepare pings filters interviews starting in ≤ LEAD_MINUTES, creates one item per internal attendee (company domain), and extracts meeting/CV/Notes links. Data Store checks a ledger to avoid re‑notifying the same event+attendee. Slack looks up the user by email and sends a DM with Block Kit buttons; otherwise posts to the fallback channel. Data Store records that the ping was sent. Attendees marked declined are skipped; accepted, tentative, and needsAction are included. How To Set Up Ensure interviews are on the Interviews Google Calendar and that interviewers are added as attendees. In each event’s description, optionally add lines like CV: https://... and Notes: https://.... Import the workflow and add credentials: Google Calendar (OAuth) Slack OAuth2 with users:read.email, chat:write, and im:write Open Set: Config and confirm: CALENDAR_NAME = Interviews COMPANY_DOMAIN = weblineindia.com TIMEZONE = Asia/Kolkata LEAD_MINUTES = 10 FALLBACK_CHANNEL = #recruiting-alerts Activate the workflow. It will begin checking every minute. Requirements Google Workspace calendar access for Interviews. Slack workspace + an app with the scopes: users:read.email, chat:write, im:write. n8n (cloud or self‑hosted) with access to both services. How to Customize the Workflow Lead time:* Change LEAD_MINUTES in *Set: Config** (e.g., 5, 15). Audience:** Modify attendee filters to include/exclude tentative or needsAction. Message format:** Tweak the Block Kit text/buttons (e.g., hide CV/Notes buttons). Fallback policy:** Switch the fallback from channel post to “skip and log” if needed. Time windows:** Add logic to silence pings at night or only during business hours. Calendar name:* Update CALENDAR_NAME in *Set: Config** if you use a different calendar. Add-Ons to level up the Workflow with additional nodes Conflict detector:** Warn if an interviewer is double‑booked in the next hour. Escalation:** If no DM can be sent (no Slack user), also notify a coordinator channel. Logging:** Append each ping to Google Sheets/Airtable for audit. Weekday rules:** Auto‑mute on specific days or holidays via a calendar/lookup table. Follow‑up:** Send a post‑interview Slack message with the feedback form link. Common Troubleshooting No pings:** Ensure events actually start within the next LEAD_MINUTES and that attendees include internal emails (@weblineindia.com). Wrong recipients:** Verify interviewer emails on the event match Slack emails; otherwise it will post to the fallback channel. Duplicate pings:* Confirm the *Data Store** is configured and the workflow isn’t duplicated. Missing meeting link:** Add a proper meeting URL to the event description or rely on Google Meet/Zoom links detected in the event. Time mismatch:** Make sure TIMEZONE is Asia/Kolkata (or your local TZ) and calendar times are correct. Need Help ? If you’d like a hand adjusting filters, message formatting or permissions, feel free to reach out we'll be happy to help you get this running smoothly.
by Avkash Kakdiya
How it works This workflow synchronizes support tickets in Freshdesk with issues in Linear, enabling smooth collaboration between support and development teams. It triggers on new or updated Freshdesk tickets, maps fields to Linear’s format, and creates linked issues through Linear’s API. Reverse synchronization is also supported, so changes in Linear update the corresponding Freshdesk tickets. Comprehensive logging ensures success and error events are always tracked. Step-by-step 1. Trigger the workflow New Ticket Webhook** – Captures new Freshdesk tickets for issue creation. Update Ticket Webhook** – Detects changes in existing tickets. Linear Issue Updated Webhook** – Listens for updates from Linear. 2. Transform and map data Map Freshdesk Fields to Linear** – Converts priority, status, title, and description for Linear. Map Linear to Freshdesk Fields** – Converts Linear state, priority, and extracts ticket ID for Freshdesk updates. 3. Perform API operations Create Linear Issue** – Sends GraphQL mutation to Linear API. Check Linear Creation Success** – Validates issue creation before linking. Link Freshdesk with Linear ID** – Updates Freshdesk with Linear reference. Update Freshdesk Ticket** – Pushes Linear updates back to Freshdesk. 4. Manage logging and errors Log Linear Creation Success** – Records successful ticket-to-issue sync. Log Linear Creation Error** – Captures and logs issue creation failures. Log Freshdesk Update Success** – Confirms successful reverse sync. Log Missing Ticket ID Error** – Handles missing ticket reference errors. Why use this? Keep support and development teams aligned with real-time updates. Eliminate manual ticket-to-issue handoffs, saving time and reducing errors. Maintain full visibility with detailed success and error logs. Enable bidirectional sync between Freshdesk and Linear for true collaboration. Improve response times by ensuring both teams always work on the latest data.
by Geoffroy
Meta long-lived user tokens typically expire after ~60 days. If a token expires, any workflows that rely on it start failing. Manual renewal is easy to forget and time consuming. This template monitors the token you store in an n8n Data Table and refreshes it automatically before expiration, so your social automations keep running without surprises or late-night fire drills. Who’s it for Agencies, marketing team, creators managing Meta apps or scheduled social automations Anyone tired of “token expired” errors breaking flows at 2 a.m. How it works / What it does Triggers: scheduled every 10 days, plus a Manual Trigger for testing. Reads: pulls the current token row from your "Meta credential" Data Table (fields: token and expires_at). Decides: IF the token expires in ≤ 15 days, proceed to renewal; otherwise do nothing. Calls the Graph API to get a new access token Updates: computes the new ISO expires_at from expires_in and writes the fresh token + expires_at back to the Data Table. Note: Meta typically issues ~60-day long-lived tokens; confirm for your app. Requirements A Meta app with an initial (short-lived or long-lived) user access token n8n Data Tables enabled (you might need to update your instance to see the option) and a table named "Meta credential" with: ** token (string) ** expires_at (datetime) How to set up Create the data table: name it "Meta credential" with columns "token" and "expires_at". Insert one row with your current token and its expiration date. Configure the IF node "Needs renewal?": keep (or tweak) the 15-day threshold logic. Run once with the Manual Trigger to validate, then enable the Schedule Trigger (10-day cadence by default). How to customize the workflow Change the Schedule Trigger interval and hour. Notify on renewal: Add a Slack/Email node after "Update Record" to alert on token refreshes.
by Sk developer
🎬 YouTube to MP4 Downloader This n8n workflow allows users to submit a YouTube video URL, automatically fetches multiple MP4 and MP3 download links using YouTube Video Downloader Fast API. It logs all links into Google Sheets for easy access and tracking. With YouTube Video Downloader Fast API, users can securely download videos in different resolutions without manual tools. 🛠️ Node-by-Node Explanation 1️⃣ On Form Submission Displays a form to collect the YouTube video URL. Triggers the workflow when a URL is submitted for processing. 2️⃣ HTTP Request Sends the provided URL to YouTube Video Downloader Fast API via RapidAPI. Retrieves downloadable links for multiple resolutions (360p, 720p, 1080p) and MP3 format. Ensures the download process is fast and secure with YouTube Video Downloader Fast API. 3️⃣ If Node Checks if the API response from YouTube Video Downloader Fast API is successful. Proceeds only if valid downloadable links are available. 4️⃣ Google Sheets Saves the original YouTube URL and all MP4/MP3 download links in Google Sheets. Provides a permanent log for future access and tracking. 💡 Use Cases Content managers can bulk-download YouTube videos in different formats. Educators/trainers can easily organize video links for offline teaching. Marketing agencies can prepare high-quality video assets for campaigns. Developers can customize the workflow to integrate with other storage solutions. 🚀 Benefits Fully automated video downloading process with YouTube Video Downloader Fast API. Multiple resolutions and MP3 download options. Centralized, structured download logs in Google Sheets. Saves time, secure, and customizable for different needs. ✅ Problem Solved Eliminates the need for unsafe third-party downloaders. Provides fast and secure YouTube downloads using YouTube Video Downloader Fast API. Offers multiple video/audio formats without manual extraction. Ensures easy tracking and future accessibility of downloaded content.
by KlickTipp
> ⚠️ Community Node Disclaimer > This workflow uses KlickTipp community nodes and works only on self-hosted n8n instances. Introduction Automate attendance tracking for Eventbrite events and sync participation data to KlickTipp. Every 15 minutes, this workflow retrieves attendees, checks who attended, and applies the right segmentation tags. Perfect for event marketers who want real-time post-event segmentation—no manual exports needed. Who’s it for For event organizers, digital marketers, and KlickTipp users who already sync Eventbrite registrants and want to automatically track attendance and update CRM tags. > 💡 Prerequisite: Contacts must exist in KlickTipp. > Use the related workflow “Subscribe Eventbrite orders to KlickTipp” to import registrants first. How it works Schedule Trigger runs every 15 min. Eventbrite API fetches the latest attendees. Split Out processes each record. Switch (Attendance Check) evaluates checked_in: ✅ Checked in → Eventbrite | Participated ❌ Not checked in → Eventbrite | Not participated KlickTipp Nodes apply tags automatically. Segmentation in KlickTipp updates instantly. Requirements Self-hosted n8n (community node support) Eventbrite account (OAuth2) KlickTipp account (API access) Tags in KlickTipp: Eventbrite | Participated Eventbrite | Not participated How to set up Connect accounts: Eventbrite (OAuth2) & KlickTipp (API). Set Event ID: edit Eventbrite node URL → /events/{event_id}/attendees/. Update Tag IDs: replace with your KlickTipp IDs. Test: run manually or wait for trigger; verify correct tags. > ⚠️ Important: Eventbrite must record check-ins via the Organizer App or barcode scan for accurate tagging. How to customize Adjust trigger frequency (e.g., 5 min during event). Duplicate for multiple events. Extend logic for ticket type, VIP, or refunds. Combine with Eventbrite Order Sync for a full funnel: Registration → Participation → Refund. Campaign expansion ideas Refund tagging:** detect refunded: true and tag accordingly. Post-event automation:** Participated → thank-you or upsell sequence. Not participated → replay or follow-up invite. Performance insights:** use tags for segmentation analytics and ROI tracking.
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,