← All N8N workflows
Messaging & emailCodeFilterForm TriggerGmailHTTP Request

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.

Workflow preview
Web / APIVirusTotal resultHTTP RequestWeb / APIDNS LookupHTTP RequestCodeSet IP From LookupCodeTransformSet IPEdit FieldsTransformMerge VirusTotal &Greynoise resultsMergeRoutingIs IP?IfWeb / APIStart VirusTotal ScanHTTP RequestTransformVirusTotal SummaryEdit FieldsRoutingVirusTotal ready?IfWaitWait 5sWaitTriggerWebhookWebhookTransformGet List of URLsItem ListsTransformSet EmailEdit FieldsTransformMerge Greynoise resultsMergeMessagingSend Report SlackSlackMessagingSend Report EmailGmailTransformGreynoise SummaryEdit FieldsTransformMergeMergeCodeCombine looped itemsCodeRoutingFilterFilterWeb / APIGreyNoise RIOT lookupHTTP RequestWeb / APIGreyNoise IP CheckHTTP RequestTriggerForm TriggerForm Trigger

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.

Workflow node names, types, and operations
NodeCategoryTypeOperation
VirusTotal resultWeb / APIHTTP RequestSee node parameters
DNS LookupWeb / APIHTTP RequestSee node parameters
Set IP From LookupCodeCodeSee node parameters
Set IPTransformEdit FieldsSee node parameters
Merge VirusTotal & Greynoise resultsTransformMergeSee node parameters
Is IP?RoutingIfSee node parameters
Start VirusTotal ScanWeb / APIHTTP RequestPOST
VirusTotal SummaryTransformEdit FieldsSee node parameters
VirusTotal ready?RoutingIfSee node parameters
Wait 5sWaitWaitSee node parameters
WebhookTriggerWebhookSee node parameters
Get List of URLsTransformItem ListsSee node parameters
Set EmailTransformEdit FieldsSee node parameters
Merge Greynoise resultsTransformMergeSee node parameters
Send Report SlackMessagingSlackSee node parameters
Send Report EmailMessagingGmailSee node parameters
Greynoise SummaryTransformEdit FieldsSee node parameters
MergeTransformMergeSee node parameters
Combine looped itemsCodeCodeSee node parameters
FilterRoutingFilterSee node parameters
GreyNoise RIOT lookupWeb / APIHTTP RequestSee node parameters
GreyNoise IP CheckWeb / APIHTTP RequestSee node parameters
Form TriggerTriggerForm TriggerSee node parameters

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. 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.

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.

More in Messaging & email