Transform Blocks

Transform blocks for filtering and enriching data

Transform Blocks#

Transform blocks process data as it flows through your workflow, filtering unwanted content and extracting valuable information.

Keyword Filter#

Filters messages based on keyword matching.

Configuration#

FieldDescription
WhitelistKeywords that must be present
BlacklistKeywords that must not be present
Match ModeANY (or) / ALL (and)
Case SensitiveEnable case-sensitive matching

Example#

yaml
whitelist: ["malware", "vulnerability", "CVE"]
blacklist: ["false positive", "patched"]
match_mode: "ANY"
case_sensitive: false

Regex Extract#

Extracts data from messages using regular expressions.

Configuration#

FieldDescription
PatternRegular expression pattern
FieldWhich field to search (content, title)
Output FieldName for extracted data
Match ModeFirst match or all matches

Example#

yaml
pattern: "CVE-\\d{4}-\\d{4,}"
field: "content"
output_field: "cve_ids"
match_mode: "all"

IP Address Extract#

Automatically extracts IPv4 and IPv6 addresses.

Configuration#

FieldDescription
IPv4Extract IPv4 addresses
IPv6Extract IPv6 addresses
ValidateValidate extracted addresses
PrivateInclude private addresses

Email Extract#

Extracts email addresses from content.

Configuration#

FieldDescription
Domain FilterOnly extract from specific domains
Exclude DomainsExclude specific domains

Crypto Address Extract#

Extracts cryptocurrency wallet addresses.

Supported Currencies#

  • Bitcoin (BTC)
  • Ethereum (ETH)
  • Solana (SOL)
  • Monero (XMR)

Tip: Chain multiple transforms to build comprehensive extraction pipelines.

Regex Filter#

Filters messages using regular expression pattern matching. Messages that match (or don't match) the pattern are passed through or rejected.

Configuration#

FieldDescription
Regex PatternRegular expression to match against
Filter ModeWhitelist (keep matches) or Blacklist (remove matches)
Case SensitiveEnable case-sensitive matching
Search InWhich fields to search (content, title, or both)

Example#

yaml
pattern: "CVE-\\d{4}-\\d{4,}"
filter_mode: "whitelist"
case_sensitive: false
source_fields: ["content", "title"]

Tip: Use the Regex Filter for pattern-based filtering (e.g., keeping only posts mentioning CVE identifiers). Use the Keyword Filter for simpler word-based filtering.

Translate#

Translates message content to a target language. Supports auto-detection of source language.

Configuration#

FieldDescription
Target LanguageLanguage to translate into
Source LanguageSource language (or Auto-detect)
Translate FieldsWhich fields to translate (content, title)
Reject FailedRemove messages that fail to translate

Supported Languages#

English, Spanish, French, German, Chinese, Arabic, Russian.

How It Works#

Messages pass through the node and their content/title fields are sent to the translation service. The translated text is stored in message.enrichments.translation:

json
{
  "enrichments": {
    "translation": {
      "target_language": "en",
      "source_language": "auto",
      "status": "success",
      "content": "Translated content here..."
    }
  }
}

Translation Status#

StatusMeaning
successTranslation completed and validated
unverifiedTranslation returned but could not be verified
partialSome fields translated, others failed
failedTranslation failed entirely

Note: If "Reject Failed Translations" is enabled, messages with a "failed" status are removed from the pipeline entirely.

Chaining Transforms#

Transforms can be connected in sequence to create powerful processing pipelines:

Next Steps#