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 Angel Menendez
Workflow Description Who is this for? This workflow is designed for sales and revenue teams using Gong and Salesforce to track and analyze sales calls. It helps automate the extraction, filtering, and preprocessing of Gong call data for further AI analysis. What problem is this solving? Sales teams often generate large amounts of call data, but not all calls are relevant for deeper analysis. This workflow filters calls based on predefined criteria, extracts relevant metadata, and formats the data before passing it to an AI processing pipeline. What this workflow does Triggers on new Gong calls synced to Salesforce** every hour. Filters calls based on opportunity stage** (Discovery or Meeting Booked). Retrieves Gong call details** via API. Formats call data into a structured JSON object** for AI processing. Passes the structured data to a Gong Call Preprocessor workflow** for further insights. Setup Ensure that you have connected Salesforce and Gong APIs with valid credentials. Modify the Salesforce query in Get all custom Salesforce Gong Objects to match your organization’s requirements. Set the schedule trigger interval in the Run Hourly node if needed. Connect this workflow to an AI processing workflow to analyze call transcripts. Workflow Templates: CallForge - 01 - Filter Gong Calls Synced to Salesforce by Opportunity Stage CallForge - 02 - Prep Gong Calls with Sheets & Notion for AI Summarization CallForge - 03 - Gong Transcript Processor and Salesforce Enricher CallForge - 04 - AI Workflow for Gong.io Sales Calls CallForge - 05 - Gong.io Call Analysis with Azure AI & CRM Sync CallForge - 06 - Automate Sales Insights with Gong.io, Notion & AI CallForge - 07 - AI Marketing Data Processing with Gong & Notion CallForge - 08 - AI Product Insights from Sales Calls with Notion How to customize Change filtering logic: Adjust the **opportunity stage filter (Check if Opportunity Stage is Meeting Booked or Discovery) to match your sales process. Modify data formatting**: Add or remove fields in the Format call into correct JSON Object node to customize the output. Adjust trigger frequency**: Change the Run Hourly node to run at a different interval if required.
by Danielle Gomes
Automatically classify incoming leads based on the sentiment of their message using Google Gemini, store them in Supabase by category, and send tailored WhatsApp messages via the official WhatsApp Cloud API. ✅ Use Case: This workflow is ideal for sales, onboarding, and customer support teams who want to: Understand the tone and urgency of each lead Prioritize hot leads instantly Send smart, automatic WhatsApp replies based on user sentiment 🧠 How it works: Capture lead via a Typeform webhook Clean and structure the data (name, email, message, etc.) Run sentiment analysis using Google Gemini to classify the message as: Positive → Hot Lead Neutral → Warm Lead Negative → Cold Lead Store lead data in Supabase under the corresponding category Merge data to unify flow paths Send WhatsApp message using the official WhatsApp Cloud API, with a custom reply for each sentiment result 🔧 Tools used: Typeform (incoming data) Google Gemini (AI-based sentiment classification) Supabase (database) WhatsApp Cloud API (response automation) 🏷 Tags: AI, Sentiment Analysis, Lead Qualification, Supabase, WhatsApp, Gemini, Typeform, CRM, Automation, Customer Engagement
by Piotr Sobolewski
How it works This advanced workflow transforms your long-form audio content (like podcast episodes or webinar recordings) into digestible, ready-to-use marketing assets. It's designed for podcasters, content creators, and marketers who want to maximize their content's reach. It automatically: Takes a full transcript of your audio/video content as input. Generates a concise, comprehensive summary of the episode using advanced AI. Extracts a list of key topics and keywords from the transcript, perfect for SEO, tagging, and content categorization. Delivers the summary and keywords directly to your inbox or a connected tool for easy access. Streamline your content repurposing pipeline and unlock new value from your audio and video assets with intelligent automation! Set up steps Setting up this powerful workflow typically takes around 20-30 minutes, as it involves multiple AI steps. You'll need to: Obtain API keys for your preferred AI service (e.g., OpenAI, Google AI). Have access to a method for generating transcripts from your audio/video (e.g., manually pasting, or using a separate transcription service like AssemblyAI, Whisper, etc.). Connect your preferred email service (e.g., Gmail) to receive the output. All detailed setup instructions and specific configuration guidance are provided within the workflow itself using sticky notes.
by Solomon
This n8n template demonstrates how to obtain token usage from AI Agents and places the data into a spreadsheet that calculates the estimated cost of the execution. Obtaining the token usage from AI Agents is tricky, because it doesn't provide all the data from tool calls. This workflow taps into the workflow execution metadata to extract token usage information. Works well with OpenAI, Google and Anthropic. Other LLM providers might need small tweaks. How it works The AI Agent executes and then calls a subworkflow to calculate the token usage. The data is stored in Google Sheets The spreadsheet has formulas to calculate the estimated cost of the execution. How to use The AI Agent is used as an example. Feel free to replace this with other agents you have. Call the subworkflow AFTER all the other branches have finished executing. Requirements LLM account (OpenAI, Gemini...) for API usage. Google Drive and Sheets credentials n8n API key of your instance
by Danger
How it Works This meta-workflow is designed to intelligently scan all your active workflows in n8n, identify those that contain Webhook nodes, and automatically generate a Swagger (OpenAPI) specification based on them. The output Swagger document reflects all accessible endpoints from your Webhook nodes, making it easier to: Visualize your API structure Share your endpoints Integrate with tools like Postman or Swagger UI Enhanced Parameter Support If you want the Swagger to reflect request parameters (e.g., query or body fields), you can annotate your Webhook nodes using the Note section. When configured properly, these annotations enrich your Swagger documentation with parameter names, types, and descriptions. Setup Steps Add the WebhookDocs to n8n Import the WebhookDocs JSON file into your n8n instance. Activate the WebhookDocs (you can also use the test-endpoint) Annotate Webhook Nodes (Optional but Recommended) To enable parameter documentation, open the Note section of each Webhook node and add annotations in the following format: //@body field_name string description //@query field_name string description Open the page https://n8n.youristance.com/webhook/swagger
by Jimleuk
This n8n template demonstrates how to use OpenAI's Responses API with existing LLM and AI Agent nodes. Though I would recommend just waiting for official support, if you're impatient and would like a round-about way to integrate OpenAI's responses API into your existing AI workflows then this template is sure to satisfy! This approach implements a simple API wrapper for the Responses API using n8n's builtin webhooks. When the base url is pointed to these webhooks using a custom OpenAI credential, it's possible to intercept the request and remap for compatibility. How it works An OpenAI subnode is attached to our agent but has a special custom credential where the base_url is changed to point at this template's webhooks. When executing a query, the agent's request is forwarded to our mini chat completion workflow. Here, we take the default request and remap the values to use with a HTTP node which is set to query the Responses API. Once a response is received, we'll need to remap the output for Langchain compatibility. This just means the LLM or Agent node can parse it and respond to the user. There are two response formats, one for streaming and one for non-streaming responses. How to use You must activate this workflow to be able to use the webhooks. Create the custom OpenAI credential as instructed. Go to your existing AI workflows and replace the LLM node with the custom OpenAI credential. You do not need to copy anything else over to the existing template. Requirements OpenAI account for Responses API Customising this workflow Feel free to experiment with other LLMs using this same technique! Keep up to date with the Responses API announcements and make modifications as required.
by Mary Newhauser
RAG over a PDF with Weaviate This workflow allows you to upload a PDF file and ask questions about it using the Question and Answer Chain and the Weaviate Vector Store nodes. Who it's for This workflow is the simplest possible implementation of RAG with Weaviate in n8n. It's intended to act as an extendable template for RAG over your own documents. Prerequisites An existing Weaviate cluster. You can view instructions for setting up a local cluster with Docker here or a Weaviate Cloud cluster here. API keys to generate embeddings and power chat models. We use OpenAI, but feel free to switch out the models as you like. Self-hosted n8n instance. See this video for how to get set up in just three minutes. How it works Part 1: Manually upload data In this example, we manually upload a 100+ page article from arXiv called "A Survey of Large Language Models". But you can replace this with your own more advanced data pipeline, if you wish. Part 2: Embed and load data into Weaviate collection Here, we generate embeddings for the full-text of the article and store them in Weaviate. Part 3: Perform RAG over PDF file with Weaviate In this part of the workflow, you can enter your query by running the Chat Node and get a RAG response grounded in context via the Question and Answer Chain node. How to run the workflow Go through the prerequisites, creating a Weaviate cluster (can be local or cloud), downloading self-hosted n8n, and adding your API keys and other credentials. Select the embedding and chat models you'd like to use. Upload a PDF file you want to ask questions about. Execute the rest of the workflow.
by AI/ML API | D1m7asis
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. n8n Workflow Template: AI‑Powered Mental Health Support Bot Overview: This template enables you to build a Telegram bot that delivers real‑time, empathetic mental health support. Incoming messages tagged with #vent, #insight, or #cope are routed to GPT‑4o via the AI/ML API, which returns tailored, compassionate responses. How it works: Telegram Trigger listens for new chat messages or voice notes. Show Typing Indicator immediately signals “typing…” in the chat. Switch Node examines the text prefix and routes to one of four branches (Vent, Insight, Cope, or default). Set Prompt nodes build a JSON payload with a specific role‑play prompt for each branch. AI/ML API node (model gpt-4o) generates the response. Telegram node sends the AI’s answer back to the user. Setup Steps: Connect your Telegram bot token in the Telegram credentials. Add your AI/ML API key (GPT‑4o) in n8n’s credential settings. Activate the workflow and deploy your n8n instance webhook URL to BotFather. Test by sending #vent I’m stressed, #insight Why do I feel…, or any tag in your Telegram chat. This plug‑and‑play workflow brings AI‑driven emotional support directly into Telegram.
by bangank36
This workflow backup Squarespace website header and footer injections into Github How It Works The Squarespace injections are fetched when an URL is placed Setup Instructions First, edit HTTP Request's URL to put your Squarespace site URL there Next, to configure the Github, update the Globals node with the following values: repo.owner – Your GitHub username repo.name – The name of your GitHub repository storing the workflows repo.path – The folder path within the repository where workflows are stored For example, if your GitHub username is john-doe, your repository is named n8n-backups, and injections are stored in a squarespace-backup/ folder, you would set: repo.owner → john-doe repo.name → n8n-backups repo.path → squarespace-backup/ Each site's injections will be added into seperate folder Required Credentials GitHub API – Access to your repository Who Is This For? This template is made for Squarespace users who want to backup their header and footer injections at interval to or on demand Check out my other templates: 👉 My n8n Templates
by Jason Krol
This is a simple webpage scraper that specifically grabs today's newest 4K Bluray Preorders as listed on the Blu-ray.com website. This is a scheduled workflow that can run every day and will post a formatted summary message of links to a Discord channel of your choice. Minimal setup required: Just create a webhook for the channel you want posted to in Discord and provide that in the final step. The timezone format step is set to East Coast (NYC) by default, feel free to change. No API keys or any special configuration needed (beyond your Discord webhook) Feel free to customize the formatting of the message that gets posted 👍 How it works: First format todays date to match the formatting used on the website Grab the HTML for the preorders page at www.blu-ray.com Filter only the hyperlinks for each Bluray on the page Then further filter only those with an html header matching today's date Format how you want the message to be sent to your Discord channel (in this case a simple list of Hyperlinks for each Title) Send to Discord! Disclaimer: This should be only for personal use.** The links go back to the blu-ray.com website, which is a good thing! Don't abuse this by slamming their site with some crazy level of automation frequency. Support the blu-ray.com website by using their affiliate links whenever you do want to preorder a title ;) This is one of my first shared templates, so it may not be super optimal or perfect but it works for my needs and hopefully you'll find some use out of it! Discord currently has a 2000 character limit on webhook messages. Some of the messages may get truncated as a result.
by Vadym Nahornyi
This workflow automatically transcribes audio files, translates the content between languages, and generates natural-sounding speech from the translated text - all in one seamless process. Who's it for Content creators, educators, and businesses needing to make their audio content accessible across language barriers. Perfect for translating podcasts, voice messages, lectures, or any audio content while preserving the spoken format. How it works The workflow receives an audio file through a webhook, transcribes it using OpenAI's Whisper, translates and structures the text with GPT-4, generates new audio in the target language, and stores it in S3 for easy access. The entire process takes seconds and returns both the transcribed/translated text and a URL to the translated audio file. How to set up Configure OpenAI credentials - Add your OpenAI API key for Whisper transcription and GPT-4 translation Set up AWS S3 - Create a bucket with public read permissions for audio storage Update configuration - Replace 'YOUR-BUCKET-NAME' with your actual S3 bucket name Activate webhook - Deploy and copy your webhook URL for receiving audio files Send a POST request with: Binary audio file (as 'audiofile') Languages parameter (e.g., "English, Spanish") Requirements OpenAI API account with access to Whisper and GPT-4 AWS account with S3 bucket configured Basic understanding of webhooks and API requests How to customize Add language detection** - Automatically detect source language if not specified Customize voice settings** - Adjust speech speed, pitch, or select different voices Add file validation** - Implement size limits and format checks Enhance security** - Add webhook authentication and rate limiting Extend functionality** - Add subtitle generation or multiple output formats