Skip to content
FlowHubFluxonLab
C
Gmailfree

Suspicious Login Detection

by n8n Teamadapted from n8n official workflow galleryUpdated Aug 2026
RequiresCCodeGmailGmailHTMLHTMLHTTP RequestHTTP RequestPostgresPostgresSlack
Share Post Share
SeExtract relevant dataExtract relevan…WeNew /login eventIfUnknown threat?Get last 10 logins from the same userGet last 10 log…HRQuery IP API1IfNew location?HRParse User AgentMeMergeIfNew Device/Browser?New Device/Brow…MeComplete login infoComplete login …Query user by IDNONew LocationNONew Device/BrowserNew Device/Brow…IfUser has email?HtHTMLInform userIfnoise?SlackSwCheck trust levelCheck trust lev…SwCheck classificationCheck classific…Ifriot?Se🔴 Priority: HIGH🔴 Priority: HI…Se🟡 Priority: MEDIUM🟡 Priority: ME…Se🟢 Priority: LOWHRGreyNoiseHRIP APIHRUserParserMaWhen clicking "Execute Workflow"When clicking "…CoExample eventNOKnown, Do NothingKnown, Do Nothi…NOKnown LocationNOOld Device/BrowserOld Device/Brow…NONot Riot12345678910111213141516171819202122232425262728293031323334353637383940
1/5
STEPS · 40
Starts on an incoming request

This n8n workflow is designed for security monitoring and incident response when suspicious login events are detected. It can be initiated either manually from within the n8n UI for testing or automatically triggered by a webhook when a new login event occurs. The workflow first extracts relevant data from the incoming webhook payload, including the IP address, user agent, timestamp, URL, and user ID. It then splits into three parallel processing paths. In the first path, it queries GreyNoise's Community API to retrieve information about the investigated IP address. Depending on the classification and trust level received from GreyNoise, the alert is given a High, Medium, or Low priority. This priority is assigned based on the best practices documentation from GreyNoise on how to apply their data to analysis. Once a priority is assigned, a message is sent to a Slack channel to notify users about the alert. The second path involves fetching geolocation data about the IP address using IP-API's Geolocation API and merging it with data from the UserParser node. This data is then combined with the data obtained from GreyNoise.

Tags

n8nreference-onlygmailhtmlpostgresslack
Connects
CCodegmailGmailhtmlHTMLWHTTP RequestpostgresPostgresSlack
CategoryGmail
Triggermanual
Complexityadvanced
Nodes33
AddedNov 27, 2023

Related workflows

See all Gmail
CgmailW
free

URL and IP lookups through Greynoise and VirusTotal

This n8n workflow serves as a powerful cybersecurity and threat intelligence tool to look up URLs or IP addresses through industry standard threat intelligence vendors. It starts with either a form submission or a webhook trigger, allowing users to input data, URLs or IPs that require analysis. The workflow then splits into two paths depending on whether the input data is an IP or URL. If an IP was given, it sets the ip variable to the IP; however if a URL was given the workflow will perform a DNS lookup using Google Public DNS and sets the ip variable based on the results from Google. The workflow then checks the obtained IP addresses against GreyNoise services, with one branch utilizing GreyNoise RIOT IP Lookup to assess IP reputation and association with known benign services, and the other using GreyNoise IP Context to evaluate potential threats. The results from both GreyNoise services are merged to create a comprehensive analysis which includes the IP, classification (benign, malicious, or unknown), IP location, tags to identify activity or malware, category, and trust level. In parallel, a VirusTotal scan is initiated for the URL/IP to identify if it is malicious. A 5-second

by n8n Team
Cgmailhtml
free

Error handling: Send email via Gmail on execution or trigger-level errors

This error handling workflow emails detailed notifications on workflow execution and trigger errors. It extends Send email via Gmail on workflow error template by covering trigger-level errors. Features Get notifications on both main workflow trigger and execution time errors. Subject line will have failed workflow id, name, error source (execution or trigger), error message. Body will contain links to both failed and error handling workflows as well as execution or trigger-level error details. Body will also contain a machine readable and enriched JSON from Error Trigger describing the error. Use this error handling workflow for as many workflows as you need. Configiration Copy this workflow to your workspace and, optionally, move it under the project that contains your main workflow In this error handling workflow settings, set This workflow can be called by as appropriate In Config node, define your app url, notifications recipient email, and sender name (useful to build filters in your inbox) In Gmail node, create and select credentials In your main workflow settings, pick this error handling workflow in the Error Workflow field (How to...) Related resources n8n Error Trigger d

by Olek
gmailhtmlW
free

Scrape Books from URL with Dumpling AI, Clean HTML, Save to Sheets, Email as CSV

👥 Who is this for? This workflow is ideal for virtual assistants, researchers, developers, automation specialists, and data analysts who need to regularly extract and organize structured product information (like books) from a website. It’s especially useful for those working with catalog-based websites who want to automate extraction and delivery of clean, sorted data. 🧩 What problem is this solving? Manually copying product listings like book titles and prices from a website into a spreadsheet is slow and repetitive. This automation solves that problem by scraping content using Dumpling AI, extracting the right data using CSS selectors, and formatting it into a clean CSV file that is sent to your email—all triggered automatically when a new URL is added to Google Sheets. ⚙️ What this workflow does This template automates an entire content scraping and delivery process: Watches a Google Sheet for new URLs Scrapes the HTML content of the given webpage using Dumpling AI Uses CSS selectors in the HTML node to extract each book from the page Splits the HTML array into individual items Extracts the book title and price from each HTML block Sorts the books in descending order based on

by Yang