by Yaron Been
Settyan Flash V2.0.0 Beta.7 AI Generator Description None Overview This n8n workflow integrates with the Replicate API to use the settyan/flash-v2.0.0-beta.7 model. This powerful AI model can generate high-quality other content based on your inputs. Features Easy integration with Replicate API Automated status checking and result retrieval Support for all model parameters Error handling and retry logic Clean output formatting Parameters Required Parameters prompt** (string): Prompt for generated image. If you include the trigger_word used in the training process you are more likely to activate the trained object, style, or concept in the resulting image. Optional Parameters mask** (string, default: None): Image mask for image inpainting mode. If provided, aspect_ratio, width, and height inputs are ignored. seed** (integer, default: None): Random seed. Set for reproducible generation image** (string, default: None): Input image for image to image or inpainting mode. If provided, aspect_ratio, width, and height inputs are ignored. model** (string, default: dev): Which model to run inference with. The dev model performs best with around 28 inference steps but the schnell model only needs 4 steps. width** (integer, default: None): Width of generated image. Only works if aspect_ratio is set to custom. Will be rounded to nearest multiple of 16. Incompatible with fast generation height** (integer, default: None): Height of generated image. Only works if aspect_ratio is set to custom. Will be rounded to nearest multiple of 16. Incompatible with fast generation go_fast** (boolean, default: False): Run faster predictions with model optimized for speed (currently fp8 quantized); disable to run in original bf16 extra_lora** (string, default: None): Load LoRA weights. Supports Replicate models in the format <owner>/<username> or <owner>/<username>/<version>, HuggingFace URLs in the format huggingface.co/<owner>/<model-name>, CivitAI URLs in the format civitai.com/models/<id>[/<model-name>], or arbitrary .safetensors URLs from the Internet. For example, 'fofr/flux-pixar-cars' lora_scale** (number, default: 1): Determines how strongly the main LoRA should be applied. Sane results between 0 and 1 for base inference. For go_fast we apply a 1.5x multiplier to this value; we've generally seen good performance when scaling the base value by that amount. You may still need to experiment to find the best value for your particular lora. megapixels** (string, default: 1): Approximate number of megapixels for generated image How to Use Set up your Replicate API key in the workflow Configure the required parameters for your use case Run the workflow to generate other content Access the generated output from the final node API Reference Model: settyan/flash-v2.0.0-beta.7 API Endpoint: https://api.replicate.com/v1/predictions Requirements Replicate API key n8n instance Basic understanding of other generation parameters
by Yaron Been
Settyan Flash V2.0.0 Beta.0 AI Generator Description None Overview This n8n workflow integrates with the Replicate API to use the settyan/flash-v2.0.0-beta.0 model. This powerful AI model can generate high-quality other content based on your inputs. Features Easy integration with Replicate API Automated status checking and result retrieval Support for all model parameters Error handling and retry logic Clean output formatting Parameters Required Parameters prompt** (string): Prompt for generated image. If you include the trigger_word used in the training process you are more likely to activate the trained object, style, or concept in the resulting image. Optional Parameters mask** (string, default: None): Image mask for image inpainting mode. If provided, aspect_ratio, width, and height inputs are ignored. seed** (integer, default: None): Random seed. Set for reproducible generation image** (string, default: None): Input image for image to image or inpainting mode. If provided, aspect_ratio, width, and height inputs are ignored. model** (string, default: dev): Which model to run inference with. The dev model performs best with around 28 inference steps but the schnell model only needs 4 steps. width** (integer, default: None): Width of generated image. Only works if aspect_ratio is set to custom. Will be rounded to nearest multiple of 16. Incompatible with fast generation height** (integer, default: None): Height of generated image. Only works if aspect_ratio is set to custom. Will be rounded to nearest multiple of 16. Incompatible with fast generation go_fast** (boolean, default: False): Run faster predictions with model optimized for speed (currently fp8 quantized); disable to run in original bf16 extra_lora** (string, default: None): Load LoRA weights. Supports Replicate models in the format <owner>/<username> or <owner>/<username>/<version>, HuggingFace URLs in the format huggingface.co/<owner>/<model-name>, CivitAI URLs in the format civitai.com/models/<id>[/<model-name>], or arbitrary .safetensors URLs from the Internet. For example, 'fofr/flux-pixar-cars' lora_scale** (number, default: 1): Determines how strongly the main LoRA should be applied. Sane results between 0 and 1 for base inference. For go_fast we apply a 1.5x multiplier to this value; we've generally seen good performance when scaling the base value by that amount. You may still need to experiment to find the best value for your particular lora. megapixels** (string, default: 1): Approximate number of megapixels for generated image How to Use Set up your Replicate API key in the workflow Configure the required parameters for your use case Run the workflow to generate other content Access the generated output from the final node API Reference Model: settyan/flash-v2.0.0-beta.0 API Endpoint: https://api.replicate.com/v1/predictions Requirements Replicate API key n8n instance Basic understanding of other generation parameters
by Dahiana
Monitor website performance with PageSpeed Insights and save to Google Sheets with alerts This n8n template automatically monitors website performance using Google's PageSpeed Insights API, compiles detailed reports, and tracks performance trends over time in Google Sheets. Use cases: Agency client monitoring, competitor analysis, performance regression detection, SEO reporting, site migration monitoring, A/B testing performance impact, and maintaining performance SLAs. Who's it for Digital agencies monitoring client websites SEO professionals tracking site performance DevOps teams maintaining performance SLAs Business owners wanting automated site monitoring How it works Automated Testing:** Scheduled audits of multiple websites using PageSpeed Insights API Core Web Vitals:** Tracks LCP, FID, CLS, and overall performance scores Historical Tracking:** Maintains performance history for trend analysis Alert System:** Sends notifications when performance drops below thresholds Detailed Reporting:** Captures specific recommendations and optimization opportunities Two Workflow Paths Scheduled Audit: Automatically tests all URLs from Google Sheet on schedule On-Demand Testing: Webhook endpoint for immediate single-URL testing How to set up Get a free PageSpeed Insights API key from Google Cloud Console Create Google Sheet with columns: URL, Site Name, Category, Alert Threshold, Last_Processed_Date and Device. Set up Google Sheets API credentials Configure notification preferences (Slack, email, etc.) Set audit schedule (daily, weekly, or custom) Define performance thresholds for alerts Requirements Google PageSpeed Insights API key (free) Google Sheets API access n8n instance (cloud or self-hosted) Optional: Slack/email for notifications Google Sheet Structure Input Sheet ("sites"): URL, Site_Name, Category, Alert_Threshold, Last_Processed_Date and Device. Results Sheet ("audit_results"): Date, URL, Site_Name, Device, Performance_Score, LCP, FID, CLS, Recommendations, Full_Report_URL API Usage (On-Demand) POST to webhook: { "url": "https://example.com", "site_name": "Example Site", "alert_threshold": 75 } How to customize Add custom performance thresholds per site Include additional metrics (accessibility, SEO, best practices) Connect to other dashboards (Data Studio, Grafana) Add competitor benchmarking Integrate with project management tools for issue tracking Set up different notification channels based on severity Sample Google Sheet Included
by Websensepro
Overview Stop struggling with content creation for your e-commerce store. This workflow acts as your automated AI Content Marketer, instantly transforming your Shopify product details into high-quality, SEO-optimized blog posts. It handles everything from reading product data to writing the article and uploading it directly to your store as a draft. What this workflow does Fetches Product Data: Automatically pulls product titles and descriptions directly from your Shopify store (configurable limit). Data Logging: Backs up the raw product data into Google Sheets for record-keeping before processing. AI SEO Writing: Uses a powerful LLM (via OpenRouter/DeepSeek) to write a complete, engaging blog post based on the product's features. It generates an SEO-friendly title and formats the body content in clean HTML (headings, bullet points, etc.). Smart Parsing: A custom Code node ensures the AI's output is strictly formatted as JSON, separating the Blog Title from the Blog Content to prevent errors. Auto-Drafting in Shopify: Uploads the generated article directly to your specific Shopify Blog ID as a "Draft" (so you can review it before publishing). Email Notification: Sends a confirmation email via Gmail to let you know your new blog posts are ready for review. Setup Requirements To run this workflow, you will need to set up credentials in n8n for the following services: Shopify Admin API: To fetch products and create articles. (You will need your Shop Name and an Access Token). OpenRouter (or OpenAI): To power the AI Agent. The template is configured for DeepSeek via OpenRouter, but can be swapped for OpenAI. Google Sheets: To log product data and generated blog content. Gmail: To send the completion notification. How to use Configure Variables: Double-click the "Variables" node (Set node) at the start of the workflow. Enter your shop name (e.g., my-store from my-store.myshopify.com) and your blogId (found in the URL when viewing your blog in Shopify Admin). Connect Google Sheets: Open the Google Sheets nodes and map them to a sheet in your Drive. Ensure your sheet has columns for ID, Title, and Description. Select AI Model: In the Chat Model node, ensure your API key is connected (OpenRouter is used by default for cost-efficiency). Run: Execute the workflow. It will process your products and populate your Shopify Blog with new drafts automatically. Video Tutorial Watch the full setup guide here: Guide
by ConnectSafely
Rewrite viral LinkedIn posts in your voice with AI and Telegram approval using Google Gemini Who's it for This workflow is designed for LinkedIn creators, personal brand builders, thought leaders, and content marketers who want to consistently create engaging content without starting from scratch. Perfect for professionals who admire viral posts from others but want to adapt those ideas to their own unique voice and style. If you're struggling to maintain a consistent posting schedule, looking for content inspiration, or want to repurpose trending ideas while keeping your authentic voice, this automation handles the creative heavy lifting while giving you full control over what gets published. How it works The workflow transforms viral LinkedIn posts into personalized content that matches your writing style, complete with AI-generated images, all controlled through Telegram. The process flow: Send any LinkedIn post URL to your Telegram bot Security check validates your Telegram user ID ConnectSafely.ai scrapes the original post content and engagement metrics Your custom persona profile is loaded (tone, phrases, formatting preferences) Google Gemini AI rewrites the post to match YOUR voice Gemini generates a professional, on-brand image for the post Preview is sent to Telegram for your review Approve or reject with a simple reply On approval, the post goes live on LinkedIn automatically Setup steps Step 1: Create a Telegram Bot Open Telegram and search for @BotFather Send /newbot and follow the prompts to create your bot Save the API token provided by BotFather Get your Telegram User ID by messaging @userinfobot Step 2: Configure Telegram Credentials in n8n Go to Credentials โ Add Credential โ Telegram API Paste your bot token from BotFather Save the credential Update all Telegram nodes to use this credential Step 3: Set Up Security Check Open the ๐ Security Check node Replace YOUR_TELEGRAM_USER_ID with your actual Telegram user ID This ensures only YOU can trigger the workflow Step 4: Configure ConnectSafely.ai API Sign up at ConnectSafely.ai Navigate to Settings โ API Keys in your dashboard Generate a new API key In n8n, go to Credentials โ Add Credential โ ConnectSafely API Paste your API key and save Connect this credential to the ๐ Scrape LinkedIn Post node Step 5: Configure Google Gemini API Go to Google AI Studio Create or select a project Generate an API key In n8n, go to Credentials โ Add Credential โ Google Gemini (PaLM) API Paste your API key and save Connect this credential to both: Google Gemini Chat Model node Generate an image node Step 6: Connect Your LinkedIn Account In n8n, go to Credentials โ Add Credential โ LinkedIn OAuth2 API Follow the OAuth flow to connect your LinkedIn account Connect this credential to the Create LinkedIn Post node Update the person parameter with your LinkedIn Person ID (URN) Step 7: Customize Your Persona Open the ๐ค Load Your Persona node Edit the PERSONA object to match YOUR writing style: Update name with your name Modify expertiseAreas with your topics Adjust commonPhrases with phrases you actually use Set preferredEmojis to your favorites Customize styleNotes to capture your unique voice Step 8: Activate the Workflow Save your workflow Toggle the workflow to Active Your Telegram bot is now ready to receive LinkedIn URLs Customization Persona Customization The ๐ค Load Your Persona node is where you define your unique voice. Key areas to customize: | Field | Description | Example | |-------|-------------|---------| | tone | Overall communication style | "Professional yet approachable, data-driven" | | voice | Perspective and personality | "First-person, authentic, vulnerable" | | formatting | Structure preferences | "Short paragraphs, emoji bullets, line breaks" | | hooks | Opening style | "Start with contrarian takes or personal stories" | | expertiseAreas | Your niche topics | ["SaaS growth", "Leadership", "Remote work"] | | commonPhrases | Signature expressions | ["Here's the truth:", "I learned this the hard way:"] | Image Generation The ๐ Create Image Prompt node generates the image prompt. Modify the style parameters to match your brand: Current style**: Modern, clean, corporate, vector art Customize**: Change to photography, illustrations, or abstract visuals Post Length In the persona configuration, adjust postLength: "short" - Quick insights (under 500 characters) "medium" - Standard posts (500-1500 characters) "long" - Deep dives (1500-3000 characters) AI Model Selection The workflow uses gemini-2.5-pro for text. You can switch to other models in the Google Gemini Chat Model node based on your needs. Requirements | Requirement | Details | |-------------|---------| | n8n Version | 1.0+ recommended | | Telegram Bot | Created via @BotFather | | ConnectSafely.ai Account | API key required | | Google AI Studio Account | Gemini API key required | | LinkedIn Account | OAuth2 connected in n8n | | Community Node | n8n-nodes-connectsafely-ai (self-hosted only) | โ ๏ธ Note: This workflow uses the ConnectSafely community node, which requires a self-hosted n8n instance. Use cases Content Repurposing**: Transform competitor or industry leader posts into your own perspective Consistent Posting**: Maintain a regular posting schedule without content creation burnout Style Consistency**: Ensure every post matches your established personal brand Trend Riding**: Quickly create content around viral topics while they're still relevant A/B Testing**: Test different approaches by approving or rejecting variations Troubleshooting Common Issues & Solutions Issue: Bot not responding to messages Solution**: Verify the Telegram webhook is active; check the Telegram Trigger node is properly configured Issue: "Profile not found" from ConnectSafely.ai Solution**: Ensure the LinkedIn URL is complete and public. Some posts on private profiles can't be scraped Issue: Image generation fails Solution**: Verify your Gemini API key has access to image generation models. Check quota limits in Google AI Studio Issue: LinkedIn post fails to publish Solution**: Confirm your LinkedIn OAuth2 credentials are valid and haven't expired. Re-authorize if needed Issue: AI generates posts that don't match your style Solution**: Be more specific in your persona configuration. Add more example phrases and detailed style notes Issue: Security check blocks your messages Solution**: Double-check your Telegram User ID is correctly entered (must be a number, not username) Documentation & Resources Official Documentation ConnectSafely.ai Docs**: https://connectsafely.ai/docs Google Gemini API**: https://ai.google.dev/docs Telegram Bot API**: https://core.telegram.org/bots/api LinkedIn API**: https://docs.microsoft.com/linkedin/ Support ConnectSafely Support**: support@connectsafely.ai n8n Community**: https://community.n8n.io Connect With Us Stay updated with the latest automation tips, LinkedIn strategies, and platform updates: LinkedIn**: linkedin.com/company/connectsafelyai YouTube**: youtube.com/@ConnectSafelyAI-v2x Instagram**: instagram.com/connectsafely.ai Facebook**: facebook.com/connectsafelyai X (Twitter)**: x.com/AiConnectsafely Bluesky**: connectsafelyai.bsky.social Mastodon**: mastodon.social/@connectsafely Need Custom Workflows? Looking to build sophisticated LinkedIn automation workflows tailored to your business needs? Contact our team for custom automation development, strategy consulting, and enterprise solutions. We specialize in: Multi-channel engagement workflows AI-powered personalization at scale Lead scoring and qualification automation CRM integration and data synchronization Custom reporting and analytics pipelines
by Sateesh
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. AI-Powered LinkedIn Publishing via Telegram Workflow Transform your LinkedIn presence with this intelligent n8n workflow that converts simple Telegram messages into professional LinkedIn posts through AI-powered content generation and approval workflows. ๐ฏ Who Is This For? Content Creators & Influencers** seeking to maintain consistent LinkedIn presence Marketing Professionals** managing multiple client accounts Business Owners** wanting to automate thought leadership content Social Media Managers** streamlining content workflows Entrepreneurs** maximizing content efficiency while maintaining quality ๐ Benefits Time Efficiency**: Reduces content creation time by 80-90% Quality Consistency**: Maintains professional standards across all posts Content Diversity**: Leverages multiple sources for rich, varied content Real-Time Relevance**: Incorporates latest industry trends and news Approval Control**: Human oversight ensures brand alignment Scalability**: Handles multiple users and high-volume content creation ๐ง Core Features Smart Content Classification Multi-Input Processing**: Handles URLs, topics, direct content, or combinations Intelligent Routing**: Automatically determines whether to scrape, search, or generate directly Context Preservation**: Maintains original user intent throughout the process Advanced Content Gathering Web Scraping**: Firecrawl integration for extracting article content from URLs Real-Time Search**: Brave Search API for latest industry trends and news Content Synthesis**: Merges multiple sources into coherent, valuable insights AI-Powered Content Generation Google Gemini Integration**: Creates professional, LinkedIn-optimized posts Platform-Specific Formatting**: Mobile-friendly paragraphs, engaging hooks, strategic CTAs SEO Optimization**: Relevant hashtags and keyword integration Character Management**: Ensures posts stay within LinkedIn's 2800 character limit Interactive Approval System Telegram Preview**: Rich preview with post analytics and formatting Action Buttons**: Approve, Edit, or Reject with single-click convenience Edit Workflow**: AI-powered rewriting based on user feedback Real-Time Updates**: Instant feedback and status notifications Comprehensive Content Tracking Google Sheets Integration**: Complete audit trail of all posts and content metrics Content Analytics**: Character counts, hashtag usage, source attribution User Authorization**: Secure access control with authorized user validation Post Management**: Unique ID generation for tracking and reference ๐ How It Works Message Reception: Secure Telegram trigger with user validation Content Classification: AI analyzes input type and extracts actionable elements Dynamic Routing: Intelligent branching based on content requirements: URL Path: Web scraping โ content extraction โ processing Topic Path: Web search โ latest information gathering โ synthesis Direct Path: Immediate processing for ready-to-post content Content Synthesis: Merges all gathered information into comprehensive context AI Generation: Creates LinkedIn-optimized post with professional formatting Interactive Approval: Telegram preview with approval workflow Publishing: Direct LinkedIn posting upon approval Content Logging: Complete tracking in Google Sheets ๐ Use Cases Daily Industry Updates: Transform news URLs into thought leadership posts Content Repurposing: Convert articles and research into LinkedIn insights Trend Commentary: Generate posts about trending topics with real-time data Educational Content: Create informative posts from technical documentation Personal Branding: Maintain consistent professional presence with minimal effort ๐ ๏ธ Technical Requirements Required Community Nodes Install these community nodes in your n8n instance: Brave Search Integration @brave/n8n-nodes-brave-search Firecrawl Web Scraping @mendable/n8n-nodes-firecrawl LangChain AI Integration @n8n/n8n-nodes-langchain APIs & Services Required Google Gemini (Content generation and classification) Firecrawl API (Web scraping) Brave Search API (Real-time search) Telegram Bot API (Interface and notifications) LinkedIn API (Content publishing) Google Sheets API (Content tracking and logging) ๐ Setup Guide 1. Telegram Bot Setup Search for @BotFather on Telegram Send /newbot and follow prompts Copy the bot token Send /setprivacy to BotFather and set to Disable 2. Google Gemini API Visit Google AI Studio Sign in and click "Get API Key" โ "Create API Key" Copy your API key Free tier: 60 requests per minute 3. Firecrawl API Visit Firecrawl.dev Sign up and go to Dashboard โ API Keys Copy your API key Free tier: 500 pages/month 4. Brave Search API Visit Brave Search API Sign up and create application Copy subscription key Free tier: 1,000 queries/month 5. LinkedIn API Visit LinkedIn Developers Create app with required details Request "Share on LinkedIn" product Copy Client ID and Client Secret Add redirect URL: https://your-n8n-domain.com/rest/oauth2-credential/callback 6. Google Sheets API Visit Google Cloud Console Enable Google Sheets API Create OAuth 2.0 Client ID Copy Client ID and Client Secret ๐ ๏ธ Installation Steps Phase 1: Preparation Install required community nodes Restart n8n after installation Create Google Sheet for logging Set up Telegram Bot Phase 2: Import and Configure Import workflow JSON in n8n Configure all API credentials Test each connection Phase 3: Customization Update authorized user ID in "Authorized Telegram Users" node Configure Google Sheets document ID Test Telegram connection Phase 4: Testing Test with different input types: URL only: https://example.com/article Topic only: artificial intelligence trends Mixed: AI trends https://example.com/ai-news ๐จ Customization Options Content Personalization Modify AI prompts to match your brand voice Adjust content length and formatting preferences Customize hashtag strategies and CTA approaches Configure approval workflow steps Source Integration Add additional search engines or content sources Integrate with RSS feeds or news APIs Connect to internal knowledge bases Customize web scraping parameters ๐ Security Features User Authorization**: Whitelist-based access control Secure Token Management**: Encrypted API key handling Data Privacy**: Secure processing of scraped content Audit Trail**: Complete logging of all user interactions ๐ฎ Future Expansion Possibilities This workflow serves as a foundation for: Performance Analytics Module**: LinkedIn engagement tracking Content Optimization Engine**: A/B testing and refinement Multi-Platform Publishing**: Expand to Twitter, Facebook, Instagram Advanced Scheduling**: Time-optimized posting Content Series Management**: Automated follow-ups ๐ก Why Choose This Workflow This represents a complete LinkedIn content automation solution that maintains quality and personal touch while dramatically reducing time and effort. Perfect for professionals who want to maximize LinkedIn impact without sacrificing content quality or spending hours on manual creation. Ready to transform your LinkedIn presence? Install this workflow and start automating your professional content creation today!
by Firecrawl
Turn any prompt into structured web data. Send a POST request with a natural language prompt and an optional JSON schema, and get back clean, structured results scraped from the web by an AI agent powered by Firecrawl. Use Cases Data Enrichment**: Feed company names or URLs from your CRM and get back structured firmographic data (industry, funding, team size, tech stack). Lead Generation**: Ask the agent to find pricing, contact pages, or product details for a list of competitors. Market Research**: Extract structured pricing plans, feature comparisons, or product catalogs from any website. Content Aggregation**: Pull structured news, events, or job postings from across the web on a schedule. Sales Intelligence**: Enrich prospect lists with company info, recent news, or tech stack details before outreach. How It Works POST /webhook/scrape-agent Receive Scrape Request receives a POST request with prompt and an optional output_schema. Validate Output Schema checks the schema. If none is provided, it falls back to a permissive default. If the schema is malformed, it returns a clear error via Return Schema Error. Research & Extract Web Data takes the prompt and uses the full Firecrawl toolkit to research the web: Search (/search): Finds relevant pages and sources across the web. Scrape (/scrape): Extracts clean, structured content from any URL. Interact (interactContext, interact, interactStop): Lets the agent interact with scraped pages in a live session. After scraping a page, the agent can click buttons, fill forms, navigate dynamic content, and extract data that static scraping cannot reach, all without managing sessions manually. This combination gives the AI agent complete web navigation capabilities. It can discover sources, read pages, and interact with dynamic content autonomously. Format Response to Schema (Structured Output Parser) formats the agent's response to match the provided (or default) schema. Return Structured Results sends the structured JSON back to the caller. Setup Requirements Firecrawl API Key**: Sign up at firecrawl.dev and grab your API key. Connect it in the Firecrawl credential nodes. LLM Provider**: Configure your Primary Chat Model and Fallback Chat Model nodes (e.g., OpenRouter, OpenAI, Anthropic). The template uses two model nodes for reliability, plus a separate Parser Chat Model for the output parser. n8n Instance**: Self-hosted or cloud. Make sure the webhook node is set to accept POST requests. API Reference Endpoint POST https://your-n8n-instance/webhook/scrape-agent Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | prompt | string | Yes | Natural language instruction for the agent | | output_schema | object | No | JSON Schema defining the desired output structure | Response Returns a JSON object matching the provided schema, or a flexible object if no schema was given. Testing Examples 1. Basic Request (No Schema) The agent decides the output structure on its own. curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl" }' | jq Expected output: A JSON object with whatever structure the agent finds most appropriate for the data. Since no schema was provided, the internal default ({ "type": "object", "additionalProperties": true }) is used. 2. Request With a Custom Schema You define exactly the shape of data you want back. curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": { "type": "object", "properties": { "source": { "type": "string" }, "plans": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "string" }, "credits": { "type": "string" }, "highlights": { "type": "array", "items": { "type": "string" } } } } } } } }' | jq Expected output: { "output": { "source": "https://www.firecrawl.dev/pricing", "plans": [ { "name": "Free", "price": "$0 (one-time)", "credits": "500 credits (one-time)", "highlights": [ "Scrape up to 500 pages", "2 concurrent requests", "Low rate limits", "No credit card required" ] }, { "name": "Hobby", "price": "$16/month (billed yearly, save $38)", "credits": "3,000 credits / month", "highlights": [ "Scrape up to 3,000 pages", "5 concurrent requests", "Basic support", "$9 per extra 1k credits" ] } ] } } 3. Invalid Schema (String Instead of Object) curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": "not a valid schema" }' | jq Expected output: { "error": true, "message": "Invalid output_schema: must be a JSON object with a valid 'type' property (object, array, string, number, boolean)", "example_schema": { "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "number" } } } } 4. Invalid Schema (Array Instead of Object) curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": [1, 2, 3] }' | jq Expected output: Same error response as above. 5. Invalid Schema (Missing type Property) curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": { "properties": { "name": { "type": "string" } } } }' | jq Expected output: Same error response as above. 6. Invalid Schema (Invalid type Value) curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": { "type": "banana" } }' | jq Expected output: Same error response as above. Workflow Architecture Receive Scrape Request (POST) | v Validate Output Schema |--- Error --> Return Schema Error (error JSON) |--- Success --> Research & Extract Web Data (AI Agent) | |--- Primary Chat Model |--- Fallback Chat Model |--- Search & Scrape: | - /search with Firecrawl | - /scrape with Firecrawl |--- Interact Tool: | - Interact context with Firecrawl | - Execute interaction with Firecrawl | - Stop interaction with Firecrawl | v Return Structured Results | |--- Format Response to Schema (Output Parser) | |--- Parser Chat Model Schema Validation Logic The Validate Output Schema node runs this validation before passing data to the agent: If output_schema is missing or null, the default permissive schema is used: { "type": "object", "additionalProperties": true }. If output_schema is present, it must be a JSON object (not a string, array, or primitive). It must have a type property with a valid value: object, array, string, number, or boolean. If validation fails, the workflow returns an error response with a helpful message and example schema. Notes The Format Response to Schema node (Structured Output Parser) requires the schema to be passed as a JSON string. The expression {{ JSON.stringify($('Validate Output Schema').item.json.output_schema) }} handles this conversion. The agent has access to Firecrawl's full toolkit: search, scrape, and interact. With all three connected, the agent has complete web navigation powers. It can discover sources via search, extract content via scrape, and interact with dynamic JavaScript-heavy pages via interact. The interact tools let the agent scrape a page first and then continue working with it in a live session, clicking buttons, filling forms, and navigating deeper, all without manual session management. The agent autonomously decides which tools to use based on the prompt. Response times vary depending on the complexity of the prompt and how many pages the agent needs to visit. Simple lookups take a few seconds; deep research can take longer.
by Sona Labs
Automate LinkedIn content creation by managing ideas in Google Sheets, generating professional AI-written posts, intelligently selecting relevant Unsplash images, sending drafts for email approval, and publishing directly to LinkedIn. How it works Step 1: Scheduled Sheet Check Workflow runs daily at midnight (customizable to hourly/weekly) Fetches posts from Google Sheet marked with Status = "Ready" Processes one post per run, updates status to "In Progress" Step 2: AI Content Generation GPT-5.1 creates engaging LinkedIn post based on your inputs Generates content with proper hashtags, formatting, and tone Follows your specified content type (tip, story, announcement, etc.) Step 3: Quality Validation Automatically checks character limits (3000 max) Validates minimum hashtag requirements (3+) Loops back to regenerate if quality checks fail Step 4: Email Approval Workflow Formats post as HTML email with professional styling Sends preview to your Gmail for review Waits for your approval response before proceeding Nothing posts without explicit confirmation Step 5: Smart Image Handling If you provided image URL: Downloads from Google Drive, Dropbox, or direct links If no URL is provided: Fetch 10 images from Unsplash and use AI to select the best one. If "Include Image?" is "No": Posts text-only content Automatically converts share links to downloadable formats Step 6: LinkedIn Publishing & Tracking Posts approved content directly to your LinkedIn profile Uses appropriate API endpoint based on whether image is included Updates Google Sheet status to "Posted" for successful posts Marks "Rejected" posts in sheet for review and editing What you'll get Batch content planning**: Queue multiple posts in advance via Google Sheets Consistent posting schedule**: Automated daily publishing without manual work Professional AI content**: GPT-5.1 generates engaging, platform-optimized posts Full approval control**: Review every post before it goes live Flexible image options**: Your images, AI-generated, or text-only Quality assurance**: Built-in checks prevent poorly formatted posts Status tracking**: Monitor what's ready, in progress, rejected, or posted Smart link conversion**: Automatically handles Google Drive and Dropbox share links Requirements Accounts & credentials: OpenAI API key (requires paid plan for GPT-5.1) Gmail account (for approval workflow) Google account (for Sheets integration) LinkedIn account (for publishing) Unsplash API key (for getting images) Google Sheet setup: Create a sheet with these columns: Topic/Subject (required) - Main idea for the post Content Type (required) - e.g., "Tip", "Story", "Announcement" Tone (required) - e.g., "Professional", "Casual", "Inspirational" Target Audience (optional) - Who you're writing for Additional Notes (optional) - Specific points to include Image link for your post (optional) - URL to your image Include Image? (required) - "Yes" or "No" Status (required) - "Ready" to trigger workflow Setup steps Import workflow - Click "Use workflow" to add to your n8n instance Connect credentials: Google Sheets: Authenticate and select your sheet from dropdown OpenAI: Add your API key in both AI nodes Gmail: Authenticate and update recipient email in approval node LinkedIn: Authenticate (your profile auto-populates) Create your content sheet - Add the required columns and fill with post ideas Test the workflow: Add one test row with Status = "Ready" Run workflow manually Check email for approval Verify post appears on LinkedIn Configure schedule - Default is daily at midnight; adjust Schedule Trigger node for different frequency Start batching - Add multiple ideas to your sheet and let automation handle the rest Tips for best results Be specific in Topic/Subject: "5 ways to improve team productivity" beats "productivity tips" Mix content types and tones to keep your feed engaging Use Additional Notes for data points, statistics, or specific examples. You can also include links that the AI can use for the posts. Start with text-only posts to validate content quality before adding images Review rejected posts carefully and refine your inputs Batch 10-20 ideas at once for weeks of automated content
by Max Tkacz
Who is this template for? This workflow template is designed for Sales and Customer Success professionals seeking alerts when potential high-value users, prospects, or existing customers register for a Discourse community. Leveraging Clearbit, it retrieves enriched data for the new member to assess their value. Example result in Slack How it works Each time a new member is created in Discourse, the workflow runs (powered by Discourse's native Webhooks feature). After filtering out popular private email accounts, we run the member's email through Clearbit to fetch available information on the member as well as their organization. If the enriched data meets certain criteria, we send a Slack message to a channel. This message has a few quick actions: Open LinkedIn profile and Email member Setup instructions Overview is below. Watch this ๐ฅ quick set up video for detailed instructions on how to get the template running, as well as how to customize it. Complete the Set up credentials step when you first open the workflow. You'll need a Discourse (admin user), Clearbit, and Slack account. Set up the Webhook in Discourse, linking the On new Discourse user Trigger with your Discourse community. Set the correct channel to send to in the Post message in channel step After testing your workflow, swap the Test URL to Production URL in Discourse and activate your workflow Template was created in n8n v1.29.1
by Yaron Been
๐ Automated Job Hunter: Upwork Opportunity Aggregator & AI-Powered Notifier! Workflow Overview This cutting-edge n8n automation is a sophisticated job discovery and notification tool designed to transform freelance job hunting into a seamless, intelligent process. By intelligently connecting Apify, OpenAI, Google Sheets, and Gmail, this workflow: Discovers Job Opportunities: Automatically scrapes Upwork job listings Tracks recent freelance opportunities Eliminates manual job searching efforts Intelligent Data Processing: Filters and extracts key job details Structures job information Ensures comprehensive opportunity tracking AI-Powered Summarization: Generates concise job summaries Creates human-readable job digests Provides quick, actionable insights Seamless Notification: Automatically logs jobs to Google Sheets Sends personalized email digests Enables rapid opportunity assessment Key Benefits ๐ค Full Automation: Zero-touch job discovery ๐ก Smart Filtering: Targeted job opportunities ๐ Comprehensive Tracking: Detailed job market insights ๐ Multi-Platform Synchronization: Seamless data flow Workflow Architecture ๐น Stage 1: Job Discovery Scheduled Trigger**: Daily job scanning Apify Integration**: Upwork job scraping Intelligent Filtering**: Recent job postings Specific keywords Relevant opportunities ๐น Stage 2: Data Extraction Comprehensive Job Metadata Parsing** Key Information Retrieval** Structured Data Preparation** ๐น Stage 3: AI Summarization OpenAI GPT Processing** Professional Summary Generation** Contextual Job Insight Creation** ๐น Stage 4: Multi-Platform Distribution Google Sheets Logging** Gmail Integration** Automated Job Digest Delivery** Potential Use Cases Freelancers**: Opportunity tracking Job Seekers**: Automated job discovery Recruitment Agencies**: Market intelligence Skill Development Professionals**: Trend monitoring Career Coaches**: Client opportunity identification Setup Requirements Apify Upwork scraping actor API token Configured scraping parameters OpenAI API GPT model access Summarization configuration API key management Google Sheets Connected Google account Prepared job tracking spreadsheet Appropriate sharing settings Gmail Account Connected email Job digest configuration Appropriate sending permissions n8n Installation Cloud or self-hosted instance Workflow configuration API credential management Future Enhancement Suggestions ๐ค Advanced job matching algorithms ๐ Multi-platform job aggregation ๐ Customizable alert mechanisms ๐ Expanded job category tracking ๐ง Machine learning job recommendation Technical Considerations Implement robust error handling Use secure API authentication Maintain flexible data processing Ensure compliance with platform guidelines Ethical Guidelines Respect job poster privacy Use data for legitimate job searching Maintain transparent information gathering Provide proper attribution Hashtag Performance Boost ๐ #FreelanceJobHunting #CareerAutomation #JobDiscovery #AIJobSearch #WorkflowAutomation #FreelanceTech #CareerIntelligence #JobMarketInsights #ProfessionalNetworking #TechJobSearch Workflow Visualization [Daily Trigger] โฌ๏ธ [Fetch Upwork Jobs] โฌ๏ธ [Format Job Fields] โฌ๏ธ [Log to Google Sheets] โฌ๏ธ [AI Summarization] โฌ๏ธ [Send Email Digest] Connect With Me Ready to revolutionize your job hunting strategy? ๐ง Email: Yaron@nofluff.online ๐ฅ YouTube: @YaronBeen ๐ผ LinkedIn: Yaron Been Transform your job search with intelligent, automated workflows!
by Jonathan
How it works This workflow watches a selected Google Drive folder for any images added to it. It then takes that image, sends it the the tinypng.com service which optimises and reduces its size (where possible) Tinypng then returns the updated image which is then automatically saved in your chose Google Drive folder Setting things up It's pretty simple to configure and should only take around 5-10mins. You only need to set up credentials for Google Drive and Tinypng.com For Tinypng.com you can sign up for their free tier API access which gives you 500 optimisations per month Once you have those two things, you just need choose your 'input' folder to watch for images and your 'output' folder for where these images should be stored There are a few more optional things you can do such as the naming of your final image and also lots more you could do with the Tinypng API for more advanced image optimisation
by Milorad Filipovic
This workflow will translate all your PDF documents from specified Google Drive folder to the desired language. Translated files will be automatically uploaded to the original folder. Required accounts 1๏ธโฃ Google Drive account 2๏ธโฃ DeepL developer account and API key How to setup? 1๏ธโฃ Setup your google drive folder url, target and source language in the configuration node 2๏ธโฃ Connect your Google Drive account with all Google Drive nodes 3๏ธโฃ Setup HTTP header credentials that should be used for HTTP nodes in the template (replace yourAuthKey with your DeepL API key) 4๏ธโฃ Set your DeepL header credentials in all HTTP nodes