Data Standardization & Google DNS Integration
Configured with Filter, Form Trigger, Gmail, HTTP Request, and additional nodes. Review the connections and setup before adapting this template.
Node categories in this workflow
- Web / API
- Code
- Transform
- Routing
- Wait
- Trigger
- Messaging
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| VirusTotal result | Web / API | HTTP Request | See node parameters |
| DNS Lookup | Web / API | HTTP Request | See node parameters |
| Set IP From Lookup | Code | Code | See node parameters |
| Set IP | Transform | Edit Fields | See node parameters |
| Merge VirusTotal & Greynoise results | Transform | Merge | See node parameters |
| Is IP? | Routing | If | See node parameters |
| Start VirusTotal Scan | Web / API | HTTP Request | POST |
| VirusTotal Summary | Transform | Edit Fields | See node parameters |
| VirusTotal ready? | Routing | If | See node parameters |
| Wait 5s | Wait | Wait | See node parameters |
| Webhook | Trigger | Webhook | See node parameters |
| Get List of URLs | Transform | Item Lists | See node parameters |
| Set Email | Transform | Edit Fields | See node parameters |
| Merge Greynoise results | Transform | Merge | See node parameters |
| Send Report Slack | Messaging | Slack | See node parameters |
| Send Report Email | Messaging | Gmail | See node parameters |
| Greynoise Summary | Transform | Edit Fields | See node parameters |
| Merge | Transform | Merge | See node parameters |
| Combine looped items | Code | Code | See node parameters |
| Filter | Routing | Filter | See node parameters |
| GreyNoise RIOT lookup | Web / API | HTTP Request | See node parameters |
| GreyNoise IP Check | Web / API | HTTP Request | See node parameters |
| Form Trigger | Trigger | Form Trigger | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
None declared. HTTP requests and Code nodes may still need configuration.
Workflow notes
Webhook
Example:
curl -X POST "https://n8n.yourdomain.com/webhook-test/d5124bd8-aada-44da-8050-3070f303ad24"
-H "Content-Type: application/json"
-d '{"data": [{"url": "1.1.1.1"}, {"url": "88.204.59.2"}, {"url": "54.36.148.188"}, {"url": "facebook.com"}], "email": "user@example.com"}'
Form Input Overview
Form Input Overview
-
Purpose:
- Instead of forcing other departments to use a full threat platform, simplify the interaction with our Threat Intel workflow which allows other departments to submit items via URL-accessible forms.
-
Form Access URLs:
- Execute Mode:
https://n8n.domain.com/webhook/test/url-scan-form- Use this to execute the workflow interactively within the n8n canvas. Hit the 'Execute Workflow' button to see real-time execution results. - Silent Mode:
https://n8n.domain.com/webhook/url-scan-form- Use this for background execution without canvas updates. Results will be logged silently and can be reviewed in the 'Executions' tab.
- Execute Mode:
Details and Best Practices
When using the form, ensure that all inputs match the required format, like valid URLs for scans, to prevent any workflow interruptions. Keep in mind these forms are not performing input sanitation so incorrectly entered values will trigger an error workflow. Should there be any issues upon form submission, such as an absence of a confirmation message, or if the workflow fails, you can find detailed error information in the 'Executions' tab.
API Integration
API Integration
Want to submit URLs and IPs automatically? Utilize the JSON structure below to upload multiple indicators simultaneously. The workflow leverages 'Item list' to parse the 'data' field, while 'Set Email' node appends the provided email to each URL.
{
"email": "user@example.com",
"data": [
{
"url": "aztechsol.com"
},
{
"ip": "8.8.8.8"
}
]
}
Details and Best Practices
- Webhook Usage: Send data with a POST request, e.g., using curl.
- Validation & Errors: Ensure URLs are correctly formatted. Check the 'Executions' tab for any submission errors. Keep in mind that there is only basic error handling in this workflow.
Data Standardization & Google DNS Integration
Data Standardization & Google DNS Integration
-
Purpose:
- Standardize the diverse input sources---either from form submissions or API calls---by streamlining the input through a uniform processing pipeline. This ensures that whether the data entered is an IP address or a domain name, it can be consistently managed and transformed for threat intelligence tasks.
- Extract IP from URL by passing it to Google DNS and attaching it to the URL.
Details and Best Practices
To guarantee the efficacy of the workflow, adhere to the prescribed input formats. For IP addresses, ensure they conform to IPv4 or IPv6 standards; for domains, verify that they are properly structured URLs. The system assumes clean inputs, as there are no built-in sanitation mechanisms---erroneous inputs may result in processing errors.
In case of an unsuccessful DNS lookup or other discrepancies, consult the 'Executions' tab for comprehensive error logs and apply the necessary corrections. To mitigate workflow disruptions, establish a set of error-handling protocols to manage and rectify such incidents.
Be mindful that while the workflow is designed to automatically discern between IP addresses and domain names, it is imperative that the data entered is accurate to prevent any fallbacks or unnecessary processing overhead.
Greynoise Integration
Greynoise Integration
- Purpose:
- The aim is to tap into Greynoise's robust API to enrich and contextualize IP-related information within the workflow. By querying Greynoise's specialized noise and RIOT databases, the workflow can quickly ascertain the nature of the IP activity and determine its relevance and potential threat level to an organization.
- Classify and assess IP addresses by consulting with Greynoise databases, providing an additional layer of security intelligence.
Details and Best Practices
To ensure reliable results from the Greynoise integration, it's important to use well-formatted IP addresses. Confirm that IPs meet standard internet protocols for either IPv4 or IPv6. The workflow assumes that inputs are pre-sanitized, so any deviation may lead to errors or inaccurate assessments.
If the Greynoise lookup does not yield results or encounters errors, investigate the issue using the 'Executions' tab to view detailed error logs. Proactively develop error-handling strategies to effectively manage and recover from these errors.
The workflow is pre-configured to discern and process IP information accurately; however, it relies heavily on the integrity of the input. Incorrectly entered IPs can cause incorrect lookups and potentially miss significant threat data, thereby undermining the security posture.
Please note that this workflow segment is designed for the enterprise edition of Greynoise's API. Users must have a valid API key with enterprise access which should be configured in the HTTP request nodes that perform the API calls.
VirusTotal Integration
VirusTotal Integration
- Purpose:
- This workflow component is specifically crafted to harness the VirusTotal API's capabilities, allowing URLs to be submitted for thorough scanning. The goal is to seamlessly integrate the scanning process into the workflow, handling the asynchronous nature of VirusTotal scans by effectively managing state checks and result compilation.
- Implement URL scanning by submitting requests to the VirusTotal API and accurately aggregating the scan results for analysis.
Details and Best Practices
For successful VirusTotal integration, it's crucial to submit URLs following standard web formats. The workflow is configured to expect correct URL inputs; deviations can disrupt the scanning process.
Upon submission, if the VirusTotal scan results are pending or if errors are encountered, these can be tracked and examined under the 'Executions' tab. Develop a proactive strategy for handling such cases, including error logging, maximum retry limitations, or implementing a timeout mechanism.
The configuration of the workflow takes into account the need to prevent rapid, repetitive status checks, which can strain the VirusTotal API. As a result, it employs a looping system for status re-evaluation, which should be managed with precision to avoid unnecessary delays or excessive polling.
Note that this integration is tailored for workflows that involve the VirusTotal API. While it works with the free VirusTotal license, too many requests may cause errors due to rate limiting. The Public API is limited to 500 requests per day and a rate of 4 requests per minute. It requires valid credentials set up in the HTTP request nodes to authenticate API calls successfully. Users should configure their API keys for access, and handle any API error responses, like HTTP 4xx or 5xx codes, with a robust error-logging and retry mechanism to ensure reliability and effectiveness of the scan process.
Reporting Integration
Reporting Integration
- Purpose:
- This component of the workflow is designed to amalgamate and communicate the insights from threat intelligence analysis to the team effectively. By integrating data from VirusTotal and Greynoise, it generates comprehensive reports that are automatically shared via Slack and email, fostering situational awareness and facilitating prompt action.
- Compile and disseminate threat intelligence reports that highlight the significance and implications of the analyzed IP or domain data, ensuring that the team remains informed and ready to act.
Details and Best Practices
The heart of this workflow lies in the synthesis of threat intelligence gathered from both Greynoise and VirusTotal. By merging these data points, the logic creates a thorough examination of the URLs/IPs under scrutiny.
Here's an expanded view of best practices to adhere to in this critical stage of the workflow:
The merging process must be precise, using the 'ip' fields as the common key to unify data from the two distinct sources. This unified view is crucial for accurate analysis and reporting.
It’s advisable to extend the merging capabilities to include additional data fields that may enhance the intelligence report. This could mean incorporating timestamps, geolocation data, or even threat levels.
When integrating new messaging or reporting nodes, leverage the provided JSON structure to maintain consistency. To replicate the logic in another node, simply copy the JSON snippet from the expression editor and paste it into the configuration of the new node.
Data Standardization & Google DNS Integration
Data Standardization & Google DNS Integration
Purpose and structure
This folder contains the Data Standardization & Google DNS Integration workflow. Its executable nodes use code, filter, formTrigger, gmail, httpRequest, if, itemLists, merge, set, slack, wait, webhook. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
Webhook, Form Trigger
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Wait/0330_Wait_Webhook_Send_Webhook.json MIT; preserve source notices.