by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by System Admin
No description available
by System Admin
Tagged with: , , , ,
by System Admin
No description available
by Liveblocks
Automatic AI reply when mentioned in a Liveblocks comment This example uses Liveblocks Comments, collaborative commenting components for React. When an AI assistant is mentioned in a thread (e.g. "@AI Assistant"), it will automatically leave a response. Using webhooks, this workflow is triggered when a comment is created in a thread. If the agent's ID ("__AI_AGENT") was mentioned, an AI agent is given the entire thread context, and asked to create a response. This response is then added, and users will see it appear in their apps in real time. Set up This workflow requires a Comments app installed and webhooks set up in the Liveblocks dashboard. You can try it with a demo application: Download the Next.js comments example, and run it with a secret key. Find database.ts inside the example and uncomment the AI assistant user. Insert the secret key from the project into n8n nodes: "Get a comment", "Get a thread", "Create a comment". Go to the Liveblocks dashboard, open your project and go to "Webhooks". Create a new webhook in your project using a placeholder URL, and selecting "commentCreated" events. Copy your webhook secret from this page and paste it into the "Liveblocks Trigger" node. Expose the webhook URL from the trigger, for example with localtunnel or ngrok. Copy the production URL from the "Liveblocks Trigger" and replace localhost:5678 with the new URL. Your workflow is now set up! Tag @AI Assistant in the application to trigger it. Localtunnel The easiest way to expose your webhook URL: npx localtunnel --port 5678 --subdomain your-name-here This creates a URL like: https://honest-months-fix.loca.lt The URL you need for the dashboard looks like this: https://honest-months-fix.loca.lt/webhook/9cc66974-aaaf-4720-b557-1267105ca78b/webhook `
by Joe
Purpose This workflow is designed to automate the re-wiring of all your subworkflows and datatable actions after migrating them to a new n8n instance. What it does Recursive ID Swapping**: Takes a master dictionary of your old IDs -> new IDs, loops through your workflow JSONs, and recursively hunts down and replaces the node parameters. (Saves you from having to know if the ID is nested in an options object or at the root). Bypasses the strict API schema**: If you've ever tried to push an updated workflow back to n8n via the API and hit the dreaded request/body/settings must NOT have additional properties error, this script fixes that. It strips out the legacy settings, id, and createdAt properties before sending the PUT request, so the new instance accepts the payload cleanly. Fixes the stringification bug:** Wraps the payload properly so you don't accidentally send [object Object] to the API. Instructions Basically you just need to define the relevant URL's and setup your n8n API credentials - then VERY CAREFULLY select the right credentials in the right nodes. Full instructions can be found in the sticky notes.
by Viktor Klepikovskyi
n8n Asynchronous Workflow with Wait Node POC This template contains a two-part workflow designed to demonstrate a proof-of-concept for asynchronous and parallel execution of tasks in n8n. Purpose The purpose of this template is to showcase how you can run multiple long-running tasks simultaneously without blocking your main workflow. It utilizes the "Wait For Sub-workflow Completion" option and the "Wait" node to effectively manage concurrent execution and collect results from sub-workflows via webhooks. This pattern is ideal for use cases involving batch processing or any scenario where a workflow needs to trigger multiple independent tasks and wait for all of them to report back. Setup Instructions Import: Import both the "Main Orchestrator" and "Asynchronous Worker" workflows into your n8n instance. Link Workflows: In the "Main Orchestrator" workflow, ensure the "Execute Workflow" node is correctly configured to call the "Asynchronous Worker" workflow. You can select it by its name from the dropdown menu. Configure: The template is pre-configured to run two parallel tasks with different wait durations to simulate a real-world scenario. You can adjust the parameters on the "Execute Workflow" node to test different wait times. Execution: Execute the "Main Orchestrator" workflow. You will see the workflow pause at the "Wait" nodes while the "Asynchronous Worker" workflows run in the background. Once they complete, they will call back via the webhook, allowing the main workflow to resume and summarize the results. For a detailed walkthrough of how this template works and an explanation of the underlying concepts, please read the full blog post here
by Sk developer
๐ Phone Number Validator with Google Sheets Validate and enrich phone numbers from Google Sheets using the phone number validator API. ๐ Use Case: Contact Validation & Enrichment Automatically check if phone numbers are valid and enrich them with metadata (country, location, timezone). Ideal for CRMs, lead management, and contact cleanup workflows. ๐๏ธ Google Sheets Columns | Column Name | Description | |-------------|-------------| | phone | The original phone number to validate (input column). | | is_valid | Result from API indicating if the phone number is valid (true / false). | | country | Country where the phone number is registered (e.g. "US"). | | location | More specific location info, such as city or region. | | timezone | The primary timezone associated with the phone number. | ๐ฏ Benefits โ Accurate Contact Data โ Identify invalid or fake phone numbers automatically. ๐ Geolocation Enrichment โ Add country, location, and timezone for better segmentation. ๐ Full Automation โ No manual lookups or copying data between tools. ๐ Live Google Sheets Sync โ Enriched data is updated directly into your spreadsheet. ๐ง Workflow Nodes Explained | Node | Purpose | |------|---------| | ๐ข Manual Trigger | Starts the workflow manually from n8n. | | ๐ Google Sheets (Read) | Fetches phone numbers from your spreadsheet using a Service Account. | | ๐ Split In Batches | Loops over each row one at a time to handle individual API requests. | | ๐ HTTP Request | Sends phone number to phone number validator via RapidAPI and receives validation + metadata. | | ๐ฅ Google Sheets (Update) | Writes the response back into the matching row using the phone field. | ๐ฐ๏ธ API Used: phone number validator We use the phone number validator API from RapidAPI to: Validate phone numbers (real or fake?) Identify the country, location, and timezone > Itโs fast, reliable, and great for cleaning large datasets or qualifying leads before outreach. ๐งฐ Prerequisites ๐ A Google Sheet with a column named phone ๐ RapidAPI key with access to phone number validator ๐ง Google Service Account credentials set up in n8n ๐ How to Use ๐ Link your Google Sheet and configure authentication ๐ Add your RapidAPI key in the HTTP node headers โถ๏ธ Click "Execute Workflow" ๐ง Each phone number is validated and enriched ๐ Results are written back to your Google Sheet ๐ Tags phone validation, rapidapi, google sheets, data enrichment, phone number validator, crm automation, lead cleaning, timezone lookup
by Mihail Morosan
Get the latest news, from Kagi, with a workflow that lets you filter by news category. Feed the results in your voice assistant automations to get on-demand news. Or leverage LLM models to create daily summaries from the headlines you retrieved. How it works This workflow takes a category name, from the ones available on Kagi News, then uses the Kagi News API to get all of the day's stories in that category. It then does a bit of filtering, to make it easier to manipulate. But you can skip or change that to your liking. How to use To test it, simply change the pinned data in the Start node, particularly the category field. You can use such examples as World, UK or Technology. Unsure as to what options for category there are? Just run the workflow and check the output of the Split Categories node! It will list all categories available. Take the value from categoryName. Things to consider I used categoryName as the input instead of categoryId for one reason: to make it easier for LLMs to populate that field. If this doesn't work for you, it should be quite easy to change. It is also a single category at a time. If you want to get stories from more categories at once, you can take an array as input in Start, then filter on the categories list containing your entries, rather than an exact match. Finally, you will have to merge all calls to Split out stories after each call to the API. Requirements None beyond an internet connection for your n8n instance. There is no API access token needed or any authorisation of any kind.