by Gulfiia
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Automated Data-Driven UX Persona Creation – Try It Out!* About You can create personas based on your website, region, and industry. Unlike traditional persona creation, this process uses reliable data sources and can estimate market size for each persona. UX personas have a wide range of applications: use them to better define your target users during product development, align your team around user goals during workshops, or inspire new features and ideas by deeply understanding user needs and behaviors. How It Works The flow is triggered via a web form Perplexity analyzes the market and creates a data foundation for the personas An AI agent transforms the data into detailed persona descriptions and publishes them in a Google Doc We use DALL·E 3 to generate an image for each persona, which is saved to your Google Drive How To Use Import the package into your N8N interface Set up the credentials in each node to access the necessary tools Wait for the process to run (it takes just a few seconds) Check the final output in Google Docs and your Google Drive Requirements Perplexity for research OpenAI for LLM and Image generation Google Doc Google Drive to upload images
by n8n Team
This workflow integrates both web scraping and NLP functionalities. It uses HTML parsing to extract links, HTTP requests to fetch essay content, and AI-based summarization using GPT-4o. It's an excellent example of an end-to-end automated task that is not only efficient but also provides real value by summarizing valuable content. Note that to use this template, you need to be on n8n version 1.50.0 or later.
by Max Tkacz
This n8n workflow template lets teams easily generate a custom AI chat assistant based on the schema of any Notion database. Simply provide the Notion database URL, and the workflow downloads the schema and creates a tailored AI assistant designed to interact with that specific database structure. Set Up Watch this quick set up video 👇 Key Features Instant Assistant Generation**: Enter a Notion database URL, and the workflow produces an AI assistant configured to the database schema. Advanced Querying**: The assistant performs flexible queries, filtering records by multiple fields (e.g., tags, names). It can also search inside Notion pages to pull relevant content from specific blocks. Schema Awareness**: Understands and interacts with various Notion column types like text, dates, and tags for accurate responses. Reference Links**: Each query returns direct links to the exact Notion pages that inform the assistant’s response, promoting transparency and easy access. Self-Validation**: The workflow has logic to check the generated assistant, and if any errors are detected, it reruns the agent to fix them. Ideal for Product Managers**: Easily access and query product data across Notion databases. Support Teams**: Quickly search through knowledge bases for precise information to enhance support accuracy. Operations Teams**: Streamline access to HR, finance, or logistics data for fast, efficient retrieval. Data Teams**: Automate large dataset queries across multiple properties and records. How It Works This AI assistant leverages two HTTP request tools—one for querying the Notion database and another for retrieving data within individual pages. It’s powered by the Anthropic LLM (or can be swapped for GPT-4) and always provides reference links for added transparency.
by Sarfaraz Muhammad Sajib
This n8n workflow sends SMS messages through the Textbelt API by accepting phone numbers, messages, and API keys as inputs. It uses a manual trigger to start the process, sets the necessary data, and executes an HTTP POST request to deliver the SMS. Step-by-Step Explanation: Manual Trigger: Starts the workflow manually by clicking ‘Execute workflow’. Set Data Node: Defines the required input parameters (phone, message, and key) that will be sent to the SMS API. You can populate these fields with your target phone number, the text message, and your Textbelt API key. HTTP Request Node: Sends a POST request to https://textbelt.com/tex with the phone number, message, and API key in the request body to send the SMS. The response from the API confirms whether the message was successfully sent.
by Cristian Tala Sánchez
✨ SEO Blog Post Automation with Perplexity, GPT, Leonardo AI & WordPress This workflow automates the creation and publishing of weekly SEO-optimized blog posts using AI and publishes them directly to WordPress — with featured images and tracking in Google Sheets. 🧠 Who is this for This automation is ideal for: Startup platforms and tech blogs Content creators and marketers Solopreneurs who want consistent blog output Spanish-speaking audiences focused on startup trends ⚙️ What it does ⏰ Runs every Monday at 6:00 AM via CRON 📡 Uses Perplexity AI to research trending startup topics 📝 Generates a 1000–1500 word article with GPT in structured HTML 🎨 Creates a cinematic blog image using Leonardo AI 🖼️ Uploads the image to WordPress with alt text and SEO-friendly filename 📰 Publishes the post in a pre-defined category 📊 Logs the post in Google Sheets for tracking 🚀 How to set it up Connect your credentials: Perplexity API OpenAI (GPT-4.1 Mini or similar) Leonardo AI (Bearer token) WordPress (Basic Auth) Google Sheets (OAuth2) Customize your content: Adjust the prompt inside the HTTP node to fit your tone or focus Change the WordPress category ID Update scheduling if you want a different publishing day Test the workflow manually to ensure all steps function correctly 💡 Pro tips Add Slack or email nodes to get notified when a post goes live Use multiple categories or RSS feeds for content diversification Adjust GPT prompt to support different languages or tones Add post-validation rules if needed before publishing 🎯 Why this matters This workflow gives you a full editorial process on autopilot: research, writing, design, publishing, and tracking — all powered by AI. No more blank pages or manual posting. Use it to scale your content strategy, boost your SEO, and stay relevant — 100% hands-free.
by Evoort Solutions
✨ AI Text Summarizer with Google Sheets Logging Summarize large blocks of text into concise outputs using the Text Summarizer AI API and automatically log results in Google Sheets. This automation is ideal for content creators, marketers, researchers, and teams who need efficient summarization and record-keeping—without writing a single line of code. 🚀 Features | Feature | Description | |--------------------------|-----------------------------------------------------------------------------| | Web Form Trigger | Collects title, content, mode (Paragraph/Bullet), and length preferences. | | API Integration | Sends content to Text Summarizer AI API via RapidAPI. | | Conditional Logic | Routes success and error cases appropriately. | | Google Sheets Logging| Stores summaries or error messages into Google Sheets. | | Error Handling | Captures failed summaries and ensures no data is lost. | 🧠 Problem Solved Manually summarizing long-form content is time-consuming and repetitive. Storing this output in structured logs (like Google Sheets) adds an extra layer of manual effort. This workflow solves that by: 🔁 Automating AI-driven summarization using Text Summarizer AI API. 📊 Storing results (or fallback errors) directly into a Google Sheet. ✅ Ensuring no request goes unlogged—even on API failure. 🎯 Use Cases 📝 Blog Writers: Quickly convert articles into summaries for social captions. 📚 Students: Break down textbook or lecture content. 🧠 Knowledge Management: Turn raw meeting notes into concise summaries. 📢 SEO Teams: Use bullet-point output for schema markup or meta descriptions. 🧩 Nodes in the Flow | Node Name | Purpose | |----------------------|-------------------------------------------------------------------------| | On form submission | Captures user input via form (title, content, mode, length). | | Mapping | Formats input to match Text Summarizer AI API specs. | | HTTP Request | Sends POST request to the summarization API on RapidAPI. | | If | Validates whether a summary was returned. | | Wait | Adds short delay before writing to spreadsheet (success). | | Google Sheets | Appends summary data to Google Sheet. | | Wait1 | Adds delay for error handling path. | | Google Sheets1 | Logs failure with an “Error occurred” message. | ✅ Benefits 🧠 AI-Powered: Uses Text Summarizer AI API for fast and contextual summaries. 📁 Organized Logs: Google Sheets integration ensures easy tracking and auditing. 🔐 Reliable: Captures all submissions, including failed ones. 🧩 Customizable: Easily adapt inputs or connect to other tools like Notion, Slack, or Airtable. 🛠️ Requirements ✅ n8n account (Cloud or Self-Hosted) ✅ Access to Text Summarizer AI API ✅ Google account (for Sheets integration) 🔑 API key from RapidAPI (used in the HTTP Request node) 🔄 Workflow Overview User submits text and preferences (mode, length) via a form. Workflow triggers and transforms the input. Formatted data is sent to the Text Summarizer AI API. If a valid summary is returned: Log it into Google Sheets. If the API fails: Log the error message instead. 📥 Import Instructions Open n8n and import the workflow JSON. Replace the x-rapidapi-key in the HTTP node with your personal RapidAPI key. Configure your Google Sheets credentials. Deploy and test. ✅ 🔗 Suggested Extensions 🟢 Notion database logging 🟣 Slack/Discord notification for each summary 🔵 CSV download or Airtable sync 🏷 Tags ai summarization text-processing rapidapi google-sheets automation markdown n8n Text Summarizer AI API Create your free n8n account and set up the workflow in just a few minutes using the link below: 👉 Start Automating with n8n Save time, stay consistent, and grow your LinkedIn presence effortlessly!
by vinci-king-01
Daily Report Generator with Mattermost and HubSpot This workflow automatically compiles key metrics from HubSpot (and optional internal data sources) into a concise daily summary and posts it to a designated Mattermost channel. It helps sales and marketing teams stay informed without manually pulling reports or navigating multiple dashboards. Pre-conditions/Requirements Prerequisites An n8n instance (self-hosted or n8n Cloud) HubSpot account with a Private App token Mattermost workspace with an incoming webhook enabled (Optional) Internal REST API or database endpoint for additional data Required Credentials HubSpot Private App Token** – Grants API access to Deals, Contacts, Activities, etc. Mattermost Personal Access Token** (or Incoming Webhook URL) – Permits message posting to channels n8n User Management** – Ensure the workflow has network access to HubSpot and Mattermost Specific Setup Requirements | Component | Requirement | Example/Notes | |-------------|---------------------------------------------------------|-------------------------------------------------------| | Mattermost | Create an Incoming Webhook or generate a PAT | System Console → Integrations | | HubSpot | Create a Private App → Scopes: crm.objects.deals.read | Settings → Integrations → Private Apps | | Scheduler | External cron job or n8n’s internal trigger* | curl https://n8n.yourdomain.com/webhook/daily_report | *The provided template uses a Webhook node so you can trigger it via any scheduler (e.g., crontab, Zapier, GitHub Actions). Replace with the Cron node if preferred. How it works This workflow automatically compiles key metrics from HubSpot (and optional internal data sources) into a concise daily summary and posts it to a designated Mattermost channel. It helps sales and marketing teams stay informed without manually pulling reports or navigating multiple dashboards. Key Steps: Webhook Trigger**: Waits for a daily call from an external scheduler. HubSpot Node**: Retrieves deal statistics, new contacts, and other CRM metrics. HTTP Request Node**: (Optional) Pulls supplementary data from an internal API. Merge Node**: Consolidates HubSpot and optional data sources. Code / Set Nodes**: Formats numbers, calculates KPIs, and builds a markdown message. If Node**: Guards against empty datasets or API failures. Mattermost Node**: Posts the formatted report to the chosen channel. Respond to Webhook**: Returns a JSON confirmation to the scheduler. Set up steps Setup Time: 15-20 minutes Import Template: In n8n, go to “Workflows → Import from File” and select the JSON template. Add Credentials: a. HubSpot → New credential → Paste Private App token b. Mattermost → New credential → Paste PAT or Webhook URL Configure Webhook URL: Copy the production URL of the Webhook node and add it to your external scheduler (e.g., crontab, Zapier). Adjust Query Parameters (HubSpot node): Modify filters (e.g., deal stage, create date) as needed. Edit Message Template (Code node): Update markdown formatting, include/exclude sections. Test Run: Manually execute the workflow. Verify the JSON response and Mattermost post. Activate: Toggle workflow to “Active”. Confirm your scheduler triggers it at the desired time. Node Descriptions Core Workflow Nodes: stickyNote** – Contains inline documentation and instructions. Webhook** – Primary trigger, receives the daily HTTP call. HubSpot** – Pulls deals, contacts, and engagement data. HTTP Request** – Fetches optional internal statistics (e.g., support tickets). Merge** – Combines HubSpot and HTTP results into one object. Set** – Selects and renames fields for clarity. Code** – Calculates KPIs (e.g., conversion rate) and assembles a markdown summary. If** – Checks for empty data arrays or API errors. Mattermost** – Sends the final message to a channel. Respond to Webhook** – Returns a success/failure payload to the caller. Data Flow: Webhook → HubSpot Webhook → HTTP Request HubSpot + HTTP Request → Merge → Set → Code → If → Mattermost → Respond to Webhook Customization Examples Change Report Time Range // HubSpot Node → Additional Fields { "filterGroups": [{ "filters": [{ "propertyName": "createdate", "operator": "BETWEEN", "highValue": Date.now(), "value": Date.now() - 24 * 60 * 60 * 1000 // last 24h }] }] } Format Mattermost Message with Emojis // Code Node (return statement) return [{ json: { text: :bar_chart: Daily CRM Report\n\n• New Deals: ${newDeals}\n• New Contacts: ${newContacts}\n• Win Rate: ${winRate}% } }]; Data Output Format The workflow outputs structured JSON data: { "status": "success", "date": "2024-05-23", "hubspot": { "new_deals": 12, "new_contacts": 34, "win_rate": 27.1 }, "internal": { "tickets_opened": 8, "tickets_closed": 6 }, "mattermostPostId": "abc123xyz" } Troubleshooting Common Issues 401 Unauthorized (HubSpot) – Verify Private App token and scopes. Regenerate if necessary. Message Not Posting – Ensure the Mattermost token has post:write or the webhook URL is valid. Performance Tips Cache HubSpot responses during testing to avoid hitting API limits. Reduce payload size by selecting only the fields you need in the Set node. Pro Tips: Replace the Webhook node with the Cron node for an all-in-n8n schedule. Use environment variables for tokens ({{$env.HUBSPOT_TOKEN}}) to avoid hard-coding secrets. Add a second Mattermost node to DM managers for critical alerts (e.g., low win rate). This is a community workflow template provided “as-is.” It is not officially supported by n8n GmbH. Always review and test in a development environment before deploying to production.
by scrapeless official
Brief Overview This workflow integrates Linear, Scrapeless, and Claude AI to create an AI research assistant that can respond to natural language commands and automatically perform market research, trend analysis, data extraction, and intelligent analysis. Simply enter commands such as /search, /trends, /crawl in the Linear task, and the system will automatically perform search, crawling, or trend analysis operations, and return Claude AI's analysis results to Linear in the form of comments. How It Works Trigger: A user creates or updates an issue in Linear and enters a specific command (e.g. /search competitor analysis). n8n Webhook: Listens to Linear events and triggers automated processes. Command identification: Determines the type of command entered by the user through the Switch node (search/trends/unlock/scrape/crawl). Data extraction: Calls the Scrapeless API to perform the corresponding data crawling task. Data cleaning and aggregation: Use Code Node to unify the structure of the data returned by Scrapeless. Claude AI analysis: Claude receives structured data and generates summaries, insights, and recommendations. Result writing: Writes the analysis results to the original issue as comments through the Linear API. Features Multiple commands supported /search: Google SERP data query /trends: Google Trends trend analysis /unlock: Unlock protected web content (JS rendering) /scrape: Single page crawling /crawl: Whole site multi-page crawling Claude AI intelligent analysis Automatically structure Scrapeless data Generate executable suggestions and trend insights Format optimization to adapt to Linear comment format Complete automation process Codeless process management based on n8n Multi-channel parallel logic distribution + data standardization processing Support custom API Key, regional language settings and other parameters Requirements Scrapeless API Key**: Scrapeless Service request credentials. Log in to the Scrapeless Dashboard Then click "Setting" on the left -> select "API Key Management" -> click "Create API Key". Finally, click the API Key you created to copy it. n8n Instance**: Self-hosted or n8n.cloud account. Claude AI**: Anthropic API Key (Claude Sonnet 3.7 model recommended) Installation Log in to Linear and get a Personal API Token Log in to n8n Cloud or a local instance Import the n8n workflow JSON file provided by Scrapeless Configure the following environment variables and credentials: Linear API Token Scrapeless API Token Claude API Key Configure the Webhook URL and bind to the Linear Webhook settings page Usage This automated job finder agent is ideal for: | Industry / Role | Use Case | | --------------------------------- | -------------------------------------------------------------------------------------------------- | | SaaS / B2B Software | | | Market Research Teams | Analyze competitor pricing pages using /unlock, and feature pages via /scrape. | | Content & SEO | Discover trending keywords and SERP data via /search and /trends to guide content topics. | | Product Managers | Use /crawl to explore product documentation across competitor sites for feature benchmarking. | | AI & Data-Driven Teams | | | AI Application Developers | Automate info extraction + LLM summarization for building intelligent research agents. | | Data Analysts | Aggregate structured insights at scale using /crawl + Claude summarization. | | Automation Engineers | Integrate command workflows (e.g., /scrape, /search) into tools like Linear to boost productivity. | | E-commerce / DTC Brands | | | Market & Competitive Analysts | Monitor competitor sites, pricing, and discounts with /unlock and /scrape. | | SEO & Content Teams | Track keyword trends and popular queries via /search and /trends. | | Investment / Consulting / VC | | | Investment Analysts | Crawl startup product docs, guides, and support pages via /crawl for due diligence. | | Consulting Teams | Combine SERP and trend data (/search, /trends) for fast market snapshots. | | Media / Intelligence Research | | | Journalists & Editors | Extract forum/news content from platforms like HN or Reddit using /scrape. | | Public Opinion Analysts | Monitor multi-source keyword trends and sentiment signals to support real-time insights. | Output
by Vincent
Automate Actions After PDF Generation with PDFMonkey in n8n Overview This n8n workflow template allows you to automatically react to PDF generation events from PDFMonkey. When a new PDF is successfully created, this workflow retrieves the file and processes it based on your needs—whether it’s sending it via email, saving it to cloud storage, or integrating it with other apps. How It Works Trigger: The workflow listens for a PDFMonkey webhook event when a new PDF is generated. Retrieve PDF: It fetches the newly generated PDF file from PDFMonkey. Process & Action: Depending on the outcome: ✅ On success: The workflow downloads the PDF and can distribute or store it. ❌ On failure: It handles errors accordingly (e.g., sending alerts, retrying, or logging the issue). Configuration To set up this workflow, follow these steps: Copy the Webhook URL generated by n8n. Go to your PDFMonkey Webhooks dashboard and paste the URL in the appropriate field to define the callback URL. Save your settings and trigger a test to ensure proper integration. 📖 For detailed setup instructions, visit: PDFMonkey Webhooks Documentation Use Cases This workflow is ideal for: Automating invoice processing (e.g., sending PDFs to customers via email). Archiving reports** in cloud storage (e.g., Google Drive, Dropbox, or AWS S3). Sending notifications** via Slack, Microsoft Teams, or WhatsApp when a new PDF is available. Logging generated PDFs** in Airtable, Notion, or a database for tracking. Customization You can customize this workflow to: Add conditional logic** (e.g., different actions based on the document type). Enhance security** (e.g., encrypting PDFs before sharing). Extend integrations** by connecting with CRM tools, task managers, or analytics platforms. Need Help? If you need assistance setting up or customizing this workflow, feel free to reach out to us via chat on pdfmonkey.io—we’ll be happy to help! 🚀
by Davide
💬🗂️🤖 This workflow automates the translation of Google Slides presentations from any languages, while preserving the original formatting and slide structure. It leverages Google APIs, AI translation (Gemini/PaLM), and modular execution for high flexibility and accuracy. DISCLAIMER: texts are split by Google Slides APIs into small blocks, so the translation will not always be contextualized. Key Benefits ⚡ Time-Saving**: Automates a typically manual and error-prone task of translating slides. 🌍 AI-Powered Accuracy**: Uses Google Gemini to provide context-aware translations while respecting defined rules. 🔒 Safe & Non-Destructive**: The original presentation is never modified — a new copy is always created. 🎯 Precision**: Skips irrelevant text (e.g., emails, URLs, names) to avoid mistranslation. 🔁 Modular & Scalable**: Uses subworkflows and batching, ideal for presentations with many slides. 🎨 Layout Preservation**: Keeps the original design and formatting intact. How it Works Initialization: The workflow starts with a manual trigger ("When clicking ‘Execute workflow’"). Set the language to translate (IMPORTANT format ISO-639) It duplicates a specified Google Slides presentation ("Duplicate presentation") to create a new copy for translation, preserving the original. Slide Processing: The workflow retrieves slides from the copied presentation ("Get slides from a presentation") and processes them in batches ("Loop Over Items"). For each slide, text content is extracted ("Extract Text") using a custom JavaScript snippet, which identifies and collects text elements while retaining the slide's objectId. Translation: The extracted texts are passed to a LangChain agent ("Translation expert"), which translates the content from Italian to English. The agent follows strict guidelines (e.g., skipping URLs, brand names, etc.). The translated text is sent to the "Translate Google Slides" node, which replaces the original text in the presentation using the slide's objectId for targeting. Execution Flow: The workflow includes delays ("Wait 10 sec" and "Wait 3 sec") to manage API rate limits and ensure smooth execution. The process repeats for each batch of slides until all content is translated. Set Up Steps Prerequisites: Ensure access to the source Google Slides presentation (specified by fileId in "Duplicate presentation"). Set up Google OAuth2 credentials for Google Drive and Slides (nodes reference credentials like "Google Slides account"). Configure the Google Gemini (PaLM) API credentials for the translation agent. Configuration: Update the fileId in the "Duplicate presentation" node to point to your source presentation. Adjust the translation guidelines in the "Translation expert" node if needed (e.g., language pairs or exclusion rules). Modify batch sizes or wait times (e.g., "Wait 10 sec") based on API constraints. Execution: Run the workflow manually or trigger it via the "Execute Workflow" node from another workflow. Monitor progress in n8n’s execution log, as each slide is processed and translated sequentially. Output: The translated presentation is saved as a new file in Google Drive, with the filename including a timestamp (e.g., NAME_PRESENTATION_{lang}_{timestamp}). Note: The workflow is currently inactive ("active": false); enable it after configuration. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Dataki
This workflow helps you generate an llms.txt file (if you're unfamiliar with it, check out this article) using a Screaming Frog export. Screaming Frog is a well-known website crawler. You can easily crawl a website. Then, export the "internal_html" section in CSV format. How It Works: A form allows you to enter: The name of the website A short description The internal_html.csv file from your Screaming Frog export Once the form is submitted, the workflow is triggered automatically, and you can download the llms.txt file directly from n8n. Downloading the File Since the last node in this workflow is "Convert to File", you will need to download the file directly from the n8n UI. However, you can easily add a node (e.g., Google Drive, OneDrive) to automatically upload the file wherever you want. AI-Powered Filtering (Optional): This workflow includes a text classifier node, which is deactivated by default. You can activate it to apply a more intelligent filter to select URLs for the llms.txt file. Consider modifying the description in the classifier node to specify the type of URLs you want to include. How to Use This Workflow Crawl the website you want to generate an llms.txt file for using Screaming Frog. Export the "internal_html" section in CSV format. In n8n, click "Test Workflow", fill in the form, and upload the internal_html.csv file. Once the workflow is complete, go to the "Export to File" node and download the output. That's it! You now have your llms.txt file! Recommended Usage: Use this workflow directly in the n8n UI by clicking 'Test Workflow' and uploading the file in the form.
by GiovanniSegar
How to use the workflow This workflow takes a Loom link, extracts the video ID, uses the Loom API to download the video, then sends it to Gemini along with your question. Finally, it sends the output to Slack. To use it, you just need to add your own API key for Gemini and Slack connection. Click the link above to get your Gemini API key, then add a generic "Query auth" type credential in n8n. The name will be "key" and the value will be your API key. One way to customize this workflow would be to make the trigger any received email, extract the Loom link, and run an auto-prompt like "Describe this video in detail".