by Shiv Gupta
π΅ TikTok Post Scraper via Keywords | Bright Data + Sheets Integration π Workflow Description Automatically scrapes TikTok posts based on keyword search using Bright Data API and stores comprehensive data in Google Sheets for analysis and monitoring. π How It Works This workflow operates through a simple, automated process: Keyword Input:** User submits search keywords through a web form Data Scraping:** Bright Data API searches TikTok for posts matching the keywords Processing Loop:** Monitors scraping progress and waits for completion Data Storage:** Automatically saves all extracted data to Google Sheets Result Delivery:** Provides comprehensive post data including metrics, user info, and media URLs β±οΈ Setup Information Estimated Setup Time: 10-15 minutes This includes importing the workflow, configuring credentials, and testing the integration. Most of the process is automated once properly configured. β¨ Key Features π Keyword-Based Search Search TikTok posts using specific keywords π Comprehensive Data Extraction Captures post metrics, user profiles, and media URLs π Google Sheets Integration Automatically organizes data in spreadsheets π Automated Processing Handles scraping progress monitoring π‘οΈ Reliable Scraping Uses Bright Data's professional infrastructure β‘ Real-time Updates Live status monitoring and data processing π Data Extracted | Field | Description | Example | |-------|-------------|---------| | url | TikTok post URL | https://www.tiktok.com/@user/video/123456 | | post_id | Unique post identifier | 7234567890123456789 | | description | Post caption/description | Check out this amazing content! #viral | | digg_count | Number of likes | 15400 | | share_count | Number of shares | 892 | | comment_count | Number of comments | 1250 | | play_count | Number of views | 125000 | | profile_username | Creator's username | @creativity_master | | profile_followers | Creator's follower count | 50000 | | hashtags | Post hashtags | #viral #trending #fyp | | create_time | Post creation timestamp | 2025-01-15T10:30:00Z | | video_url | Direct video URL | https://video.tiktok.com/tos/... | π Setup Instructions Step 1: Prerequisites n8n instance (self-hosted or cloud) Bright Data account with TikTok scraping dataset access Google account with Sheets access Basic understanding of n8n workflows Step 2: Import Workflow Copy the provided JSON workflow code In n8n: Go to Workflows β + Add workflow β Import from JSON Paste the JSON code and click Import The workflow will appear in your n8n interface Step 3: Configure Bright Data In n8n: Navigate to Credentials β + Add credential β Bright Data API Enter your Bright Data API credentials Test the connection to ensure it's working Update the workflow nodes with your dataset ID: gd_lu702nij2f790tmv9h Replace BRIGHT_DATA_API_KEY with your actual API key Step 4: Configure Google Sheets Create a new Google Sheet or use an existing one Copy the Sheet ID from the URL In n8n: Credentials β + Add credential β Google Sheets OAuth2 API Complete OAuth setup and test connection Update the Google Sheets node with your Sheet ID Ensure the sheet has a tab named "Tiktok by keyword" Step 5: Test the Workflow Activate the workflow using the toggle switch Access the form trigger URL to submit a test keyword Monitor the workflow execution in n8n Verify data appears in your Google Sheet Check that all fields are populated correctly βοΈ Configuration Details Bright Data API Settings Dataset ID:** gd_lu702nij2f790tmv9h Discovery Type:** discover_new Search Method:** keyword Results per Input:** 2 posts per keyword Include Errors:** true Workflow Parameters Wait Time:** 1 minute between status checks Status Check:** Monitors until scraping is complete Data Format:** JSON response from Bright Data Error Handling:** Automatic retry on incomplete scraping π Usage Guide Running the Workflow Access the form trigger URL provided by n8n Enter your desired keyword (e.g., "viral dance", "cooking tips") Submit the form to start the scraping process Wait for the workflow to complete (typically 2-5 minutes) Check your Google Sheet for the extracted data Best Practices Use specific, relevant keywords for better results Monitor your Bright Data usage to stay within limits Regularly backup your Google Sheets data Test with simple keywords before complex searches Review extracted data for accuracy and completeness π§ Troubleshooting Common Issues π¨ Scraping Not Starting Verify Bright Data API credentials are correct Check dataset ID matches your account Ensure sufficient credits in Bright Data account π¨ No Data in Google Sheets Confirm Google Sheets credentials are authenticated Verify sheet ID is correct Check that the "Tiktok by keyword" tab exists π¨ Workflow Timeout Increase wait time if scraping takes longer Check Bright Data dashboard for scraping status Verify keyword produces available results π Use Cases Content Research Research trending content and hashtags in your niche to inform your content strategy. Competitor Analysis Monitor competitor posts and engagement metrics to understand market trends. Influencer Discovery Find influencers and creators in specific topics or industries. Market Intelligence Gather data on trending topics, hashtags, and user engagement patterns. π Security Notes Keep your Bright Data API credentials secure Use appropriate Google Sheets sharing permissions Monitor API usage to prevent unexpected charges Regularly rotate API keys for better security Comply with TikTok's terms of service and data usage policies π Ready to Use! Your TikTok scraper is now configured and ready to extract valuable data. Start with simple keywords and gradually expand your research as you become familiar with the workflow. Need Help? Visit the n8n community forum or check the Bright Data documentation for additional support and advanced configuration options. For any questions or support, please contact: Email or fill out this form
by Allan Daemon
This creates a git backup of the workflows and credentials. It uses the n8n export command with git diff, so you can run as many times as you want, but only when there are changes they will create a commit. Setup You need some access to the server. Create a repository in some remote place to host your project, like Github, Gitlab, or your favorite private repo. Clone the repository in the server in a place that the n8n has access. In the example, it's the ., and the repository name is repo. Change it in the commands and in the workflow commands (you can set it as a variable in the wokflow). Checkout to another branch if you won't use the master one. cd . git clone repository Or you could git init and then add the remote (git remote add origin YOUR_REPO_URL), whatever pleases you more. As the server, check if everything is ok for beeing able to commit. Very likely you'll need to setup the user email and name. Try to create a commit, and push it to upstream, and everything you need (like config a user to comit) will appear in way. I strong suggest testing with exporting the commands to garantee it will work too. cd ./repo git commit -c "Initial commmit" --allow-empty -u is the same as --set-upstream git push -u origin master Testing to push to upstream with the first exported data npx n8n export:workflow --backup --output ./repo/workflows/ npx n8n export:credentials --backup --output repo/credentials/ cd ./repo git add . git commit -c "manual backup: first export" git push After that, if everything is ok, the workflow should work just fine. Adjustments Adjust the path in used in the workflow. See the the git -C PATH command is the same as cd PATH; git .... Also, adjust the cron to run as you need. As I said in the beginning, you can run it even for every minute, but it will create commits only when there are changes. Credentials encryption The default for exporting the credentials is to do them encrypted. You can add the flag --decrypted to the n8n export:credentials command if you need to save them in plain. But as general rule, it's better to save the encryption key, that you only need to do that once, and them export it safely encrypted.
by Roninimous
This workflow integrates iOS Shortcuts with n8n to create a simple, automatic location-based reminder system. When the user arrives at a specified location, an automation in the Shortcuts app sends a webhook trigger to n8n. If the trigger matches predefined date and time conditions, n8n sends a Telegram message reminder to the user. This is perfect for repetitive weekly tasks like taking out the bins, customized with conditions for day and time. Key Features Location-Based Trigger: Uses iOS Shortcuts automation to start the workflow upon arrival at a specific location. Time and Day Validation: Logic in n8n checks current weekday and time to ensure reminders are sent only when appropriate. Telegram Integration: Sends reminders directly to your Telegram account using your bot. Minimal Setup: Uses native iOS and simple webhook setup in n8n. How It Works iOS Shortcut Trigger: When the user arrives at a designated location, the iOS shortcut sends a GET request to the n8n webhook. n8n Webhook Node: Receives the request and triggers the workflow. Conditional Check: An IF node checks if the current time is after 4:00 PM and it's a Wednesday (or any other configured condition). Telegram Node: If the condition passes, n8n sends a message like "Don't forget to take the bins out." to your Telegram bot. Setup Instructions Create a Telegram Bot: Use @BotFather to create a bot and obtain your bot token. Add Telegram API credentials in n8n with your bot token. Setup iOS Shortcut: Open the Shortcuts app on your iPhone. Go to the Automation tab β Tap + β Create Personal Automation. Choose Arrive β Select a location. Add action: Get Contents of URL. Method: GET, URL: your n8n Webhook URL (e.g. https://n8n.yourdomain.com/webhook/your-path). Save the automation. (You can also test the automation by pressing the Play button) Import Workflow into n8n: Load the provided workflow JSON. Set your webhook path and Telegram credentials. Adjust the logic in the IF node to your usecase. In my case, I check if today is Wednesday and after 4 PM until Midnight. Expose n8n Publicly: Ensure your n8n instance is publicly accessible via HTTPS so the shortcut can reach it. Customization Guidance Change Reminder Message: Modify the text inside the Telegram node to suit different reminders. Add More Conditions: Extend the logic to support more days, hours, or different trigger messages. Add Multi-Channel Output: Send reminders via email, SMS, or Slack in addition to Telegram. Use More Triggers: Expand to other types of shortcut triggers (e.g. NFC tag, leaving location, time of day). Security and Implementation Webhook Protection: Avoid using easily guessable webhook URLs. Secure Telegram Token: Store your bot token securely in n8n credentials, not in plain workflow text. Limit Shortcut Scope: Only trigger the shortcut at trusted locations or with secure iCloud sync. Automation Permissions: Ensure your iPhone allows shortcut automations to run without confirmation. Benefits Automates repetitive location-based reminders without user interaction. Provides a lightweight, native solution using iOS and n8n with no extra apps. Keeps you on track for routine tasks like garbage days, medicine reminders, or arrival-based tasks. Easily extendable for multiple locations or trigger conditions.
by Javier Hita
Find LinkedIn Professionals with Google Search and Airtable Who is this for? This workflow is perfect for sales professionals, recruiters, business development teams, and marketers who need to build targeted prospect lists from LinkedIn. Whether you're looking for specific job titles, industry professionals, or experts in particular locations, this template automates the tedious process of manual LinkedIn searching. Follow me for more What problem is this workflow solving? Finding qualified prospects on LinkedIn manually is time-consuming and inefficient. Traditional methods involve: Manually searching LinkedIn with limited search capabilities Copy-pasting profile information one by one Struggling with LinkedIn's search limitations and restrictions Difficulty organizing and tracking prospect data No systematic way to avoid duplicate contacts This workflow solves these challenges by leveraging Google's powerful search capabilities to find LinkedIn profiles at scale, automatically extracting key information, and organizing everything in a structured database. What this workflow does The workflow performs intelligent LinkedIn prospect discovery through these key steps: Keyword-Based Search: Uses Google Custom Search API to find LinkedIn profiles matching your specific criteria (job titles, industries, locations) Smart Data Extraction: Automatically parses profile titles, descriptions, URLs, and search snippets from Google results Structured Storage: Saves all prospect data to Airtable with proper field mapping and automatic deduplication Pagination Handling: Automatically processes multiple pages of search results to maximize prospect discovery Rate Limiting: Includes built-in delays to respect API limits and ensure reliable operation Key features: Deduplication**: Prevents storing duplicate LinkedIn profiles Batch Processing**: Handles large prospect lists efficiently Customizable Search**: Easily modify keywords to target different professional segments Clean Data Output**: Structured data ready for outreach campaigns Setup Prerequisites You'll need accounts with the following services: Google Cloud Console** (for Custom Search API) Airtable** (free tier works) n8n** (cloud or self-hosted) Step 1: Google Custom Search Setup Go to Google Cloud Console Create a new project or select existing one Enable the Custom Search API Create credentials (API Key) Set up a Custom Search Engine at Google CSE Configure it to search the entire web Copy your Search Engine ID (cx parameter) Bonus: Youtube Set-up Guide Step 2: Airtable Base Setup Create a new Airtable base with a table named "LinkedIn Prospects" containing these fields: Title (Single line text) - LinkedIn profile headline linkedin_url (URL) - Direct link to LinkedIn profile Search (Single line text) - Original search terms used Description (Long text) - Profile description/summary Snippet (Long text) - Google search result snippet Step 3: n8n Credentials Configuration Set up these credentials in n8n: Google Custom Search API: Type: HTTP Query Auth Name: Google Query Auth Query Parameter Name: key Value: Your Google API key Airtable: Type: Airtable Personal Access Token Token: Your Airtable personal access token Configure the base and table IDs in the Airtable node Step 4: Workflow Configuration Import this workflow template Update the "βοΈ CUSTOMIZE YOUR SEARCH KEYWORDS HERE" node with your target keywords Configure the Airtable node with your base and table information Test the workflow with a small keyword set first How to customize this workflow to your needs Targeting Different Industries Modify the search keywords in the yellow configuration node: // For technology professionals "Software Engineer React" "Product Manager SaaS" "Data Scientist Machine Learning" // For sales professionals "Account Executive Enterprise" "Sales Director B2B" "Business Development Manager" // For marketing professionals "Digital Marketing Manager" "Content Marketing Specialist" "Growth Marketing Lead" Geographic Targeting Add location keywords to narrow your search: "Marketing Manager London" "Sales Director New York" "Software Engineer Berlin" Company Size Targeting Include company type indicators: "CFO Startup" "VP Engineering Fortune 500" "Marketing Director SMB" Adjusting Search Volume Modify the Maxresults parameter in the "Configure Search Settings" node: Set to 10 for quick tests Set to 50-100 for comprehensive searches Maximum recommended: 100 per search to respect API limits Industry-Specific Customization For Recruiters: Target specific job titles and seniority levels Add skills-based keywords ("Python Developer", "React Specialist") Include experience indicators ("Senior", "Lead", "Principal") For Sales Teams: Focus on decision-maker titles ("Director", "VP", "C-Level") Target specific company sizes or industries Include location-based searches for territory management For Marketers: Search for industry influencers and thought leaders Target specific professional communities Look for content creators and industry experts Advanced Filtering Add conditional logic after the search results to filter prospects based on: Profile description keywords Title patterns Company information (when available in snippets) Integration Extensions Connect additional tools to enhance your prospect research: Email finder tools** (Hunter.io, Apollo) for contact discovery CRM integration** (HubSpot, Salesforce) for automatic lead creation Enrichment services** (Clearbit, ZoomInfo) for additional prospect data Slack/Teams notifications** for real-time prospect alerts Data Quality Improvements Enhance the workflow with additional processing: Duplicate detection** across multiple search terms Profile validation** to ensure active LinkedIn profiles Keyword scoring** to rank prospect relevance Export formatting** for specific CRM requirements This template provides a solid foundation that can be adapted for virtually any B2B prospect research need, making it an essential tool for modern sales and marketing teams.
by Dominik Baranowski
N8N for Beginners: Looping Over Items Description This workflow is designed for n8n beginners to understand how n8n handles looping (iteration) over multiple items. It highlights two key behaviors: Built-In Looping:** By default, most n8n nodes iterate over each item in an input array. Explicit Looping:* The *Loop Over Items* node allows controlled iteration, enabling *custom batch processing** and multi-step workflows. This workflow demonstrates the difference between processing an unsplit array of strings (single item) vs. a split array (multiple items). Setup 1. Input Data To begin, paste the following JSON into the Manual Trigger node: { "urls": [ "https://www.reddit.com", "https://www.n8n.io/", "https://n8n.io/", "https://supabase.com/", "https://duckduckgo.com/" ] } π Steps to Paste Data: Double-click** the "Manual Trigger" node. Click "Edit Output" (top-right corner). Paste the JSON and Save. The node turns purple, indicating that test data is pinned. 1. Click "Test Workflow" button at the bottom of the canvas Explanation of the n8n Nodes in the Workflow | Node Name | Purpose | Documentation Link | |-----------|---------|--------------------| | Manual Trigger | Starts the workflow manually and sends test data | Docs | | Split Out | Converts an array of strings into separate JSON objects | Docs | | Loop Over Items (Loop Over Items 1) | Demonstrates how an unsplit array is treated as one item | Docs | | Loop Over Items (Loop Over Items 2) | Iterates over each item separately | Docs | | Wait | Introduces a delay per iteration (set to 1 second) | Docs | | Code | Adds a constant parameter (param1) to each item | Docs | | NoOp (Result Nodes) | Displays output for inspection | Docs | Execution Details 1. How the Workflow Runs Manual Trigger starts execution** with the pasted JSON data. The workflow follows two paths: Unsplit Array Path β Loop Over Items 1 Processes the entire array as a single item. Result1 & Result5: Show that the array was not split. Split Array Path β Split Out β Loop Over Items 2 Splits the array into separate objects. Result2, Result3, Result4: Show that each item is processed individually. A Wait node (1 sec delay) demonstrates controlled execution. Code nodes modify the JSON, adding a parameter (param1). 2. What You Will See | Node | Expected Output | |------|---------------| | Result1 & Result5 | The entire array is processed as one item. | | Result2, Result3, Result4 | The array is split and processed as individual items. | | Wait Node | Adds a 1-second delay per item in Loop Over Items 2. | Use Cases This workflow is useful for: β API Data Processing: Loop through API responses containing arrays. β Web Scraping: Process multiple URLs individually. β Task Automation: Execute a sequence of actions per item. β Workflow Optimization: Control execution order, delays, and dependencies. Notes Sticky notes are included in the workflow for easy reference. The Wait node is optionalβremove it for faster execution. This template is structured for beginners but serves as a building block for more advanced automations.
by InfoGrab
This is a response chatbot in public channels through slash commands. I explain more in detail through the YouTube video, but it's only available in Korean. How it works? When you request the created slash command in Slack, the request comes to the webhook. Then, the Switch Node branches appropriately according to each slash command request. Here, a slash command called /ask is connected to the chatbot, and the chatbot generates answers to the questions asked. The final node responds to the channel. Set up steps Create a Slack app. Add chat:write permission in Slack OAuth&Permissions>Scopes. Create a Command in Slack Slash Commands menu and enter the n8n Webhook node's URL. Complete creating the Slash Commands. Enter the created command in the Switch node. μ¬λμ 컀맨λλ₯Ό ν΅ν κ³΅κ° μ±λμμμ μλ΅ μ±λ΄ μ λλ€. μ νλΈ μμμ λ μμΈνκ² μ€λͺ λ립λλ€. μ€λͺ μ¬λμ μμ±ν μ¬λμ 컀맨λλ₯Ό μ¬λμμ μμ²νλ©΄ μΉν μ μμ²μ΄ λ€μ΄μ΅λλ€. μ΄ν Switch Nodeμμ κ° μ¬λμ 컀맨λμ μμ²μ λ°λΌ μλ§κ² λΆκΈ°ν©λλ€. μ¬κΈ°μμλ /askβλΌλ μ¬λμ 컀맨λκ° μ±λ΄μΌλ‘ μ°κ²°λμ΄ μκ³ , μ±λ΄μμ μ§λ¬Έν λ΄μ©μ λ΅λ³μ μμ±ν©λλ€. λ§μ§λ§ λ Έλμμ μ±λλ‘ μλ΅μ ν©λλ€. μ€μ λ°©λ² Slack μ±μ λ§λμΈμ. Slack OAuth&Permissions>Scopes μμ chat:write κΆνμ μΆκ°νμΈμ. Slack Slash Commands λ©λ΄μμ Commandλ₯Ό μμ±νκ³ , n8n Webhook λ Έλμ urlμ μ λ ₯νμΈμ. Slash Slash Commands μμ±μ μλ£νμΈμ. Switch λ Έλμ μμ±ν 컀맨λλ₯Ό μ λ ₯νμΈμ.
by Nick Saraev
Smart Invoice Collection System with OpenAI, Gmail & Google Sheets Categories: Financial Automation, AI Business Tools, Cash Flow Management This workflow creates an intelligent invoice collection system that automatically follows up on overdue invoices using AI-powered personalization. The system monitors your invoice database, analyzes email history to prevent inappropriate follow-ups, and sends increasingly urgent but professional reminders at precise intervals. Built to solve one of the biggest cash flow killers for small businesses, this automation can easily generate an additional $10-15K per year in recovered payments. Benefits Automated Cash Flow Recovery** - Generate $10-15K annually in previously forgotten invoice payments Intelligent Timing** - AI analyzes email history to prevent sending follow-ups at inappropriate times Escalating Urgency** - Four template levels from gentle reminders to firm collection notices Professional Communication** - Maintains business relationships while ensuring payment Zero Manual Work** - Complete automation from overdue detection to email delivery High-Value Service** - Easily sold to clients for $1,500-3,000 per implementation How It Works Invoice Monitoring System: Connects to Google Sheets containing your invoice database with sent dates and client information Automatically calculates days overdue using date difference calculations Filters invoices to process only those at specific intervals (7, 14, 21, 28 days overdue) Runs on schedule (daily recommended) to catch invoices as they become overdue Email History Intelligence: Retrieves recent email conversations with each client using Gmail integration Analyzes communication patterns to identify recent discussions about invoices Prevents sending follow-ups within 72 hours of relevant email conversations Aggregates email threads with timestamps for comprehensive context analysis AI-Powered Follow-up Generation: Uses OpenAI to analyze conversation history and determine follow-up appropriateness Selects appropriate template based on days overdue and escalation schedule Generates personalized emails that reference specific client names and invoice details Adapts tone from friendly reminders to more urgent payment requests over time Professional Email Delivery: Creates properly formatted emails with personalized subject lines and content Maintains professional tone while applying appropriate urgency levels Includes clear next steps and payment instructions for clients Optionally creates drafts for review or sends automatically based on your preference Smart Template Escalation: 7 Days:** Gentle reminder with helpful tone ("Hope you're well, just checking on that invoice") 14 Days:** Professional follow-up with assistance offer ("Here to help if anything's unclear") 21 Days:** More direct approach with specific timeline expectations 28 Days:** Firm but professional final notice before escalation Required Google Sheets Setup Create a Google Sheet with these exact column headers: Invoice Tracking Sheet: Client Name - Full name of client/company for personalization Email - Client's email address for follow-up communications Date Sent - Date invoice was originally sent (format: YYYY-MM-DD) Invoice ID - Unique identifier for tracking and reference Amount - Invoice amount (optional, for internal tracking) Status - Payment status (Pending, Paid, Overdue - optional) Setup Instructions: Create Google Sheet with exact column headers listed above Populate with your outstanding invoice data Connect Google Sheets OAuth credentials in n8n Update the Google Sheets document ID in the "Google Sheets" node Configure Gmail OAuth for email access and sending Set schedule trigger for daily execution (recommended 9 AM business hours) Template Customization: The system includes 4 pre-written templates that you can customize: Modify sender name and signature in the AI prompt Adjust urgency levels and escalation timing Customize company-specific language and policies Add payment links or specific instructions Business Use Cases Service-Based Businesses** - Agencies, consultants, and freelancers with NET30/60 payment terms B2B Companies** - Businesses with recurring invoice cycles and multiple clients Accounting Firms** - Offer automated collections as a premium service to clients Small Business Owners** - Eliminate manual follow-up work while improving cash flow Automation Agencies** - High-value service offering with clear ROI demonstration Professional Services** - Lawyers, architects, and consultants with project-based billing Revenue Potential This system transforms invoice collection economics: $10-15K annual recovery** for average small business with forgotten invoices $1,500-3,000 implementation fee** when sold as a service to clients 40-60% reduction** in accounts receivable aging Zero ongoing labor costs** - replaces hours of manual follow-up work Improved client relationships** - consistent, professional communication Scalable business offering** - one-time setup serves clients indefinitely Difficulty Level: Intermediate Estimated Build Time: 1-2 hours Monthly Operating Cost: ~$15 (OpenAI + Google Workspace APIs) Watch My Complete Build Process Want to see exactly how I built this invoice collection system from scratch? I walk through the entire development process live, including the AI prompting strategies, email history analysis, and the exact business logic that generates thousands in recovered payments. π₯ Watch My Live Build: "THIS Smart Invoice System Will Make You an Additional $750/Month" This comprehensive tutorial shows the real development process - including advanced filtering logic, AI prompt engineering, and the proven templates that maintain professional relationships while ensuring payment. Set Up Steps Google Sheets Integration: Create invoice tracking spreadsheet with required column structure Set up Google Sheets OAuth credentials and permissions Configure document ID and sheet name in the workflow Test data retrieval with sample invoice entries Gmail Configuration: Set up Gmail OAuth for both reading and sending emails Configure email search parameters for conversation history Test email retrieval and draft creation functionality Set appropriate sender name and signature AI Follow-up Engine: Configure OpenAI API credentials with appropriate rate limits Customize the 4 escalation templates for your business tone Test AI decision-making with sample conversation histories Optimize prompts for your specific industry and client types Schedule and Automation: Set up daily schedule trigger (recommended 9 AM business hours) Configure error handling for API failures and network issues Test complete workflow with small batch of overdue invoices Monitor initial runs and optimize timing/templates based on results Quality Control: Start with draft mode to review AI-generated emails before sending Monitor client responses and adjust templates for better results Track payment recovery rates to demonstrate system effectiveness Scale to full automation once confident in output quality Advanced Optimizations Enhance the system with additional capabilities: Multi-Currency Support** - Handle international invoices with proper formatting Payment Link Integration** - Include Stripe/PayPal links for immediate payment CRM Integration** - Sync with Salesforce, HubSpot, or other business systems Escalation Rules** - Automatically transfer to collections after final notice Performance Analytics** - Track recovery rates and optimize messaging Multi-Language Templates** - Support international clients with localized messaging Important Considerations Email Frequency** - Built-in 72-hour delays prevent overwhelming clients with follow-ups Professional Tone** - Templates maintain business relationships while ensuring payment Legal Compliance** - Follow local collection laws and regulations for your jurisdiction Client Communication** - System preserves conversation history for context and disputes Privacy Protection** - All email analysis happens securely within your n8n instance Why This System Works The key to successful automated invoice collection lies in intelligent timing and personalization: Context awareness** prevents follow-ups during ongoing payment discussions Graduated escalation** maintains professionalism while applying appropriate pressure Personalized messaging** makes automated emails feel human-written Consistent execution** ensures no invoices fall through the cracks Relationship preservation** maintains client trust while securing payments Check Out My Channel For more revenue-generating automation systems and proven business-building strategies, explore my YouTube channel where I share the exact systems used to scale automation agencies to $72K+ monthly revenue.
by Ferenc Erb
Use Case Automate chat interactions in Bitrix24 with a customizable bot that can handle various events and respond to user messages. What This Workflow Does Processes incoming webhook requests from Bitrix24 Handles authentication and token validation Routes different event types (messages, joins, installations) Provides automated responses and bot registration Manages secure communication between Bitrix24 and external services Setup Instructions Configure Bitrix24 webhook endpoints Set up authentication credentials Customize bot responses and behavior Deploy and test the workflow
by Bazhard
TOTP Validation with Function Node This template allows you to verify if a 6-digit TOTP code is valid using the corresponding TOTP secret. It can be used in an authentication system. The inputs need to be: a base32 totp secret (String) a 6 digits code (String) ++Important:++ The 6-digit code must be in text format. If the code starts with zeros and is treated as a number, it could cause validation issues. The function node will generate a 6-digit code from the TOTP secret, then compare it with the provided code. If they match, it will return 1 otherwise, it will return 0. Example usage: You retrieve the user's TOTP secret from a database, then you want to verify if the 2FA code provided by the user is valid. Setup Guidelines You only need the ==TOTP VALIDATION== node. You will need to modify lines 39 and 40== of the node with the correct values for your specific context. Testing the Template You can define a sample secret and code in the EXAMPLE FIELDS node of the template, then click "Test Workflow". If the code is valid for the provided secret, the flow will proceed to the true branch of the IF CODE IS VALID node. Otherwise, it will go to the false branch.
by David Olusola
π¨ AI Image Editor with Form Upload + Telegram Delivery π Whoβs it for? π₯ This workflow is built for content creators, social media managers, designers, and agencies who need fast, AI-powered image editing without the hassle. Whether you're batch-editing for clients or spicing up personal projects, this tool gets it done β effortlessly. What it does π οΈ A seamless pipeline that: π₯ Accepts uploads + prompts via a clean form βοΈ Saves images to Google Drive automatically π§ Edits images with OpenAIβs image API π Converts results to downloadable PNGs π¬ Delivers the final image instantly via Telegram Perfect for AI-enhanced workflows that need speed, structure, and simplicity. How it works βοΈ User Uploads: Fill a form with an image + editing prompt Cloud Save: Auto-upload to your Google Drive folder AI Editing: OpenAI processes the image with your prompt Convert & Format: Image saved as PNG Telegram Delivery: Final result sent straight to your chat π¬ Youβll need β π OpenAI API key π Google Drive OAuth2 setup π€ Telegram bot token & chat ID βοΈ n8n instance (self-hosted or cloud) Setup in 4 Easy Steps π οΈ 1. Connect APIs Add OpenAI, Google Drive, and Telegram credentials to n8n Store keys securely (avoid hardcoding!) 2. Configure Settings Set Google Drive folder ID Add Telegram chat ID Tweak image size (default: 1024Γ1024) 3. Deploy the Form Add a Webhook Trigger node Test with a sample image Share the form link with users π― Fine-Tune Variables In the Set node, customize: π Image size π Folder path π² Delivery options β±οΈ Timeout duration Want to customize more? ποΈ πΌοΈ Image Settings Change size (e.g. 512x512 or 2048x2048) Update the model (when new versions drop) π Storage Auto-organize files by date/category Add dynamic file names using n8n expressions π€ Delivery Swap Telegram with Slack, email, Discord Add multiple delivery channels Include image prompt or metadata in messages π Form Upgrades Add fields for advanced editing Validate file types (e.g. PNG/JPEG only) Show a progress bar for long edits β‘ Advanced Features Add error handling or retry flows Support batch editing Include approvals or watermarking before delivery β οΈ Notes & Best Practices β Check OpenAI credit balance πΌοΈ Test with different image sizes/types β±οΈ Adjust timeout settings for larger files π Always secure your API keys
by ankitkansaldev
π¬ TikTok Influencer Scraper (URL Input) via Bright Data + n8n & Sheets A comprehensive n8n automation that scrapes TikTok influencer profiles using Bright Data's TikTok dataset and automatically saves detailed profile information to Google Sheets. π Overview This workflow provides an automated TikTok influencer data collection solution that scrapes comprehensive profile information and saves it to Google Sheets. Perfect for influencer marketing research, competitor analysis, social media monitoring, and marketing campaign planning. β¨ Key Features π Form-Based Input: Simple web form to submit TikTok profile URLs π€ Bright Data Integration: Uses Bright Data's TikTok dataset for reliable scraping β³ Status Monitoring: Intelligent polling system to check scraping progress π Retry Logic: Automatic retry mechanism with 30-second intervals π Data Extraction: Comprehensive profile data including engagement metrics π Google Sheets Storage: Automatic data storage and organization β‘ Error Handling: Built-in error handling and status reporting π― Custom Fields: Configurable output fields for specific data needs π― What This Workflow Does Input Profile URLs**: TikTok profile URLs submitted through web form Custom Fields**: Configurable data fields for extraction Country Settings**: Geo-targeting for accurate data collection Processing Form Submission: User submits TikTok profile URL through web form API Trigger: Sends profile data to Bright Data for scraping Status Polling: Continuously checks scraping progress Wait & Retry: Implements 30-second delays between status checks Data Retrieval: Fetches complete profile data when ready Sheet Update: Saves extracted data to Google Sheets Status Reporting: Provides completion status and messages Output Data Points | Field | Description | Example | |-------|-------------|---------| | Account ID | Unique TikTok account identifier | @username123 | | Nickname | Display name on profile | "John Doe" | | Biography | Profile bio/description | "Content creator & influencer" | | Followers | Number of followers | 1,250,000 | | Following | Number of accounts following | 500 | | Likes | Total likes across all videos | 50,000,000 | | Videos Count | Total number of videos posted | 1,200 | | Profile URL | Direct link to TikTok profile | https://www.tiktok.com/@username | | Profile Picture | Profile image URL | https://p16-sign-sg.tiktokcdn.com/... | | Profile Picture HD | High-definition profile image | https://p16-sign-sg.tiktokcdn.com/... | | Is Verified | Verification status | true/false | | Bio Link | External link in bio | https://linktr.ee/username | | Like Engagement Rate | Engagement rate based on likes | 5.2% | | Comment Engagement Rate | Engagement rate based on comments | 2.1% | | Top Videos | List of top performing videos | [video_objects] | | Region | Geographic region | "US" | | Is Under Age 18 | Age status indicator | true/false | π Setup Instructions Prerequisites n8n instance (self-hosted or cloud) Google account with Sheets access Bright Data account with TikTok dataset access Valid TikTok profile URLs for testing 10-15 minutes for setup Step 1: Import the Workflow Copy the JSON workflow code from the provided file In n8n: Workflows β + Add workflow β Import from JSON Paste JSON and click Import Step 2: Configure Bright Data Set up Bright Data credentials: In n8n: Credentials β + Add credential β HTTP Request Generic Credential Name: "Bright Data API" Authentication: Bearer Token Token: Your Bright Data API key Test the connection Configure dataset: Ensure you have access to TikTok dataset (gd_l1villgoiiidt09ci) Verify dataset permissions in Bright Data dashboard Check dataset limits and pricing Step 3: Configure Google Sheets Integration Create a Google Sheet: Go to Google Sheets Create a new spreadsheet named "TikTok Influencer Data" Create a sheet tab named "TikTok profile by url" Copy the Sheet ID from URL: https://docs.google.com/spreadsheets/d/SHEET_ID_HERE/edit Set up Google Sheets credentials: In n8n: Credentials β + Add credential β Google Sheets OAuth2 API Complete OAuth setup and test connection Prepare your data sheet with columns: Column A: Account ID Column B: Nickname Column C: Biography Column D: Followers Column E: Following Column F: Likes Column G: Videos Count Column H: Profile URL Column I: Is Verified Column J: Bio Link Column K: Like Engagement Rate Column L: Comment Engagement Rate Column M: Region Column N: Status Column O: Message Step 4: Update Workflow Settings Update API credentials: Open "Sends profile URLs to Bright Data to trigger scraping" node Replace BRIGHT_DATA_API_KEY with your actual API key Update dataset ID if different Update Google Sheets nodes: Open "Google Sheets" node Replace document ID: 1OeqtCFm4Wek9DI5YFOWQXTpQJS-SJxC10iAPKEKkmiY Select your Google Sheets credential Choose the correct sheet/tab name Configure form settings: Open "Search by Profile URL" node Customize form title and field labels as needed Note the webhook URL for form access Step 5: Test & Activate Add test profiles: Access the form using the webhook URL Submit 1-2 TikTok profile URLs for testing Use full URLs (e.g., https://www.tiktok.com/@username) Test the workflow: Submit a test profile through the form Monitor execution in n8n Verify data appears in Google Sheet Check for any error messages π Usage Guide Submitting TikTok Profiles Navigate to your form URL (found in Form Trigger node) Enter TikTok profile URL in the format: https://www.tiktok.com/@username Click Submit to start the scraping process Wait for processing (typically 1-3 minutes) Understanding the Process The workflow follows this sequence: Form Submission β Profile URL captured API Trigger β Scraping job submitted to Bright Data Status Polling β Checks every 30 seconds if data is ready Data Retrieval β Fetches complete profile information Sheet Update β Saves data to Google Sheets Monitoring Progress Check n8n execution logs for real-time status Bright Data dashboard shows scraping progress Google Sheets will populate when data is ready Status column shows "ready" when complete Reading the Results Your Google Sheet will show: Complete TikTok profile information Engagement metrics and statistics Profile verification status Bio links and external connections Timestamp of data collection π§ Customization Options Adding More Data Points Edit the JSON body in "Sends profile URLs to Bright Data" node to include additional fields: "custom_output_fields": [ "account_id", "nickname", "biography", "followers", "following", "likes", "videos_count", "language", "creation_time", "last_post_time", "avg_video_duration", "hashtags_used", "music_used" ] Modifying Input Parameters Customize the scraping parameters: Country targeting**: Change "country" field in input Search limits**: Adjust "limit_per_input" value Discovery method**: Modify "discover_by" parameter Error handling**: Toggle "include_errors" setting Batch Processing Multiple Profiles To process multiple profiles simultaneously: Modify the input array in the API call Add multiple profile URLs in single request Implement loop logic for processing results Add rate limiting between requests Custom Form Fields Enhance the form with additional inputs: Open "Search by Profile URL" node Add form fields for: Country selection Number of videos to analyze Specific date ranges Custom tags or categories π¨ Troubleshooting Common Issues & Solutions "Bright Data connection failed" Cause: Invalid API credentials or dataset access Solution: Verify API key in Bright Data dashboard, check dataset permissions "Profile not found or private" Cause: Invalid TikTok URL or private profile Solution: Verify profile URL format, ensure profile is public "Google Sheets permission denied" Cause: Incorrect credentials or sheet permissions Solution: Re-authenticate Google Sheets, check sheet sharing settings "Scraping timeout" Cause: Profile data taking too long to process Solution: Increase wait time or implement longer polling intervals "Invalid dataset ID" Cause: Incorrect or expired dataset configuration Solution: Check Bright Data dashboard for correct dataset ID "Form submission failed" Cause: Webhook configuration issues Solution: Verify webhook URL and form trigger settings Advanced Troubleshooting Check execution logs** in n8n for detailed error messages Test individual nodes** by running them separately Verify data formats** ensure URLs are properly formatted Monitor API limits** check Bright Data usage quotas Add error handling** implement try-catch logic for robust operation π Use Cases & Examples 1. Influencer Marketing Research Goal: Identify and analyze potential influencers for campaigns Research influencers in specific niches Analyze engagement rates and audience size Compare multiple influencers for campaign selection Track influencer growth over time 2. Competitive Analysis Goal: Monitor competitors' TikTok presence and performance Track competitor follower growth Analyze content strategies and engagement Monitor posting frequency and timing Identify trending content themes 3. Social Media Monitoring Goal: Track brand mentions and user-generated content Monitor branded hashtag usage Track brand advocates and micro-influencers Analyze sentiment and engagement patterns Identify trending topics in your industry 4. Market Research Pipeline Goal: Gather social media intelligence for business decisions Analyze target audience behavior Study content preferences and trends Generate reports for stakeholders Support marketing strategy development β Advanced Configuration Rate Limiting and Performance To optimize for large-scale scraping: Adjust wait times between status checks Implement exponential backoff for retries Add batch processing for multiple profiles Monitor API usage to avoid limits Data Validation and Cleaning Enhance data quality with validation: Add data type validation for numeric fields Implement URL format checking Clean and standardize text fields Add data completeness checks Integration with Business Tools Connect the workflow to your existing systems: CRM Integration**: Update customer records with influencer data Slack Notifications**: Send alerts when new data is available Database Storage**: Store data in PostgreSQL/MySQL for analysis BI Tools**: Connect to Tableau/Power BI for visualization Webhook Integration For real-time updates: Add webhook triggers for immediate profile checks Integrate with external systems via webhooks Create API endpoints for programmatic access Implement authentication for secure access π Performance & Limits Expected Performance Single Profile**: 30-60 seconds average processing time Concurrent Requests**: 5-10 simultaneous (depends on Bright Data plan) Data Accuracy**: 95%+ for public TikTok profiles Success Rate**: 90%+ for accessible profiles Daily Capacity**: 100-1000 profiles (depends on rate limits) Resource Usage Memory**: ~50MB per execution Storage**: Minimal (data stored in Google Sheets) API Calls**: 3-5 Bright Data calls per profile (including status checks) Bandwidth**: ~1-2MB per profile scraped Execution Time**: 1-2 minutes per profile Scaling Considerations Rate Limiting**: Add delays for high-volume scraping Error Handling**: Implement retry logic for failed requests Data Validation**: Add checks for malformed profile data Monitoring**: Track success/failure rates over time Cost Optimization**: Monitor API usage to control costs π€ Support & Community Getting Help n8n Community Forum**: community.n8n.io Documentation**: docs.n8n.io Bright Data Support**: Contact through your dashboard GitHub Issues**: Report bugs and feature requests Contributing Share improvements with the community Report issues and suggest enhancements Create variations for specific use cases Document best practices and lessons learned π Quick Setup Checklist Before You Start β n8n instance running (self-hosted or cloud) β Google account with Sheets access β Bright Data account with TikTok dataset access β Valid TikTok profile URLs for testing β 15 minutes for setup Setup Steps β Import Workflow - Copy JSON and import to n8n β Configure Bright Data - Set up API credentials and test β Create Google Sheet - New sheet with proper column structure β Set up Google Sheets credentials - OAuth setup and test β Update workflow settings - Replace sheet ID and API keys β Test with sample profiles - Submit 1-2 URLs and verify results β Activate workflow - Enable form trigger for production use Ready to Use! π Your form URL: https://your-n8n-instance.com/form/[webhook-id] π― Happy TikTok Scraping! This workflow provides a solid foundation for automated TikTok influencer data collection. Customize it to fit your specific needs and use cases for influencer marketing, competitive analysis, and social media research.
by Ajith joseph
π€ Create a Telegram Bot with Mistral AI and Conversation Memory A sophisticated Telegram bot that provides AI-powered responses with conversation memory. This template demonstrates how to integrate any AI API service with Telegram, making it easy to swap between different AI providers like OpenAI, Anthropic, Google AI, or any other API-based AI model. π§ How it works The workflow creates an intelligent Telegram bot that: π¬ Maintains conversation history for each user π§ Provides contextual AI responses using any AI API service π± Handles different message types and commands π Manages chat sessions with clear functionality π Easily adaptable to any AI provider (OpenAI, Anthropic, Google AI, etc.) βοΈ Set up steps π Prerequisites π€ Telegram Bot Token (from @BotFather) π AI API Key (from any AI service provider) π n8n instance with webhook capability π οΈ Configuration Steps π€ Create Telegram Bot Message @BotFather on Telegram Create new bot with /newbot command Save the bot token for credentials setup π§ Choose Your AI Provider OpenAI: Get API key from OpenAI platform Anthropic: Sign up for Claude API access Google AI: Get Gemini API key NVIDIA: Access LLaMA models Hugging Face: Use inference API Any other AI API service π Set up Credentials in n8n Add Telegram API credentials with your bot token Add Bearer Auth/API Key credentials for your chosen AI service Test both connections π Deploy Workflow Import the workflow JSON Customize the AI API call (see customization section) Activate the workflow Set webhook URL in Telegram bot settings β¨ Features π Core Functionality π¨ Smart Message Routing**: Automatically categorizes incoming messages (commands, text, non-text) π§ Conversation Memory**: Maintains chat history for each user (last 10 messages) π€ AI-Powered Responses**: Integrates with any AI API service for intelligent replies β‘ Command Support**: Built-in /start and /clear commands π± Message Types Handled π¬ Text Messages**: Processed through AI model with context π§ Commands**: Special handling for bot commands β Non-text Messages**: Polite error message for unsupported content πΎ Memory Management π€ User-specific chat history storage π Automatic history trimming (keeps last 10 messages) π Global state management across workflow executions π€ Bot Commands /start π― - Welcome message with bot introduction /clear ποΈ - Clears conversation history for fresh start Regular text π¬ - Processed by AI with conversation context π§ Technical Details ποΈ Workflow Structure π‘ Telegram Trigger - Receives all incoming messages π Message Filtering - Routes messages based on type/content πΎ History Management - Maintains conversation context π§ AI Processing - Generates intelligent responses π€ Response Delivery - Sends formatted replies back to user π€ AI API Integration (Customizable) Current Example (NVIDIA): Model: mistralai/mistral-nemotron Temperature: 0.6 (balanced creativity) Max tokens: 4096 Response limit: Under 200 words π Easy to Replace with Any AI Service: OpenAI Example: { "model": "gpt-4", "messages": [...], "temperature": 0.7, "max_tokens": 1000 } Anthropic Claude Example: { "model": "claude-3-sonnet-20240229", "messages": [...], "max_tokens": 1000 } Google Gemini Example: { "contents": [...], "generationConfig": { "temperature": 0.7, "maxOutputTokens": 1000 } } π‘οΈ Error Handling β Non-text message detection and appropriate responses π§ API failure handling β οΈ Invalid command processing π¨ Customization Options π€ AI Provider Switching To use a different AI service, modify the "NVIDIA LLaMA Chat Model" node: π Change the URL in HTTP Request node π§ Update the request body format in "Prepare API Request" node π Update authentication method if needed π Adjust response parsing in "Save AI Response to History" node π§ AI Behavior π Modify system prompt in "Prepare API Request" node π‘οΈ Adjust temperature and response parameters π Change response length limits π― Customize model-specific parameters πΎ Memory Settings π Adjust history length (currently 10 messages) π€ Modify user identification logic ποΈ Customize data persistence approach π Bot Personality π Update welcome message content β οΈ Customize error messages and responses β Add new command handlers π‘ Use Cases π§ Customer Support**: Automated first-line support with context awareness π Educational Assistant**: Homework help and learning support π₯ Personal AI Companion**: General conversation and assistance πΌ Business Assistant**: FAQ handling and information retrieval π¬ AI API Testing**: Perfect template for testing different AI services π Prototype Development**: Quick AI chatbot prototyping π Notes π Requires active n8n instance for webhook handling π° AI API usage may have rate limits and costs (varies by provider) πΎ Bot memory persists across workflow restarts π₯ Supports multiple concurrent users with separate histories π Template is provider-agnostic - easily switch between AI services π οΈ Perfect starting point for any AI-powered Telegram bot project π§ Popular AI Services You Can Use | Provider | Model Examples | API Endpoint Style | |----------|---------------|-------------------| | π’ OpenAI | GPT-4, GPT-3.5 | https://api.openai.com/v1/chat/completions | | π΅ Anthropic | Claude 3 Opus, Sonnet | https://api.anthropic.com/v1/messages | | π΄ Google | Gemini Pro, Gemini Flash | https://generativelanguage.googleapis.com/v1beta/models/ | | π‘ NVIDIA | LLaMA, Mistral | https://integrate.api.nvidia.com/v1/chat/completions | | π Hugging Face | Various OSS models | https://api-inference.huggingface.co/models/ | | π£ Cohere | Command, Generate | https://api.cohere.ai/v1/generate | Simply replace the HTTP Request node configuration to switch providers!