Skip to main content

ETL Alerts

Overview

ETL Alerts enables the migration of historical or externally generated alerts into the Fenergo platform via CSV upload. This allows institutions transitioning from legacy Transaction Monitoring systems to seed pre-existing alert data into Fenergo, ensuring a complete and uninterrupted record of alert history from day one.

Each alert is linked to an existing entity (Individual, Company, or Other) in Fenergo using either an Alternate ID or a FenX ID.

ETL Alerts Capabilities

When using the ETL tool to migrate alerts, users can:

  • Create new alert records linked to existing entities
  • Update existing alerts using the source system Alternate ID or Fenergo ID
  • Migrate assessment outcomes, rule metadata, and comments
  • Supply multiple comments per alert using a pipe-separated format
important

ETL Alerts supports create and update operations. The operation performed is determined automatically based on whether the supplied alert alternateId or fenxId already exists in the platform.

Supported Use Cases

"I want to migrate historic alerts from a legacy TM system and link them to existing entities in Fenergo."
"I want to create new alerts for an existing entity identified by mainEntityAlternateId or mainEntityFenxId."
"I want to update the assessment outcome or comments on existing alerts using alternateId or fenxId."

Behaviour & Limits

  • If an alternateId already exists in the platform, the alert is updated.
  • If an alternateId is new, the alert is created.
  • The assessmentOutcome field is required and cannot be blank.
  • Duplicate alternateId values within the same file will fail validation.
  • Setting a field to null will clear the existing value on an update. An empty cell leaves the existing value unchanged.
  • Multiple comments can be supplied using a pipe separator (|).
  • The type, source, and score fields are hardcoded by the system and do not need to be included in the CSV.

Prerequisites

Before running an ETL Alerts load, ensure the following:

  • The target entities (Individual, Company, or Other) have already been loaded into Fenergo through standard platform workflows or migrated into Fenergo via ETL in the same ETL Project as the new alerts.
  • Each entity is identifiable by either a mainEntityAlternateId (Alternate ID) or a mainEntityFenxId (FenX UUID).

Create vs. Update Behaviour

The ETL engine determines whether to create or update an alert based on the alternateId or fenxId field:

  • If the alternateId does not exist in the platform → a new alert is created.
  • If the alternateId already exists in the platform → the existing alert is updated with the values from the file.

A single CSV file can contain a mix of creates and updates. Rows with known alternateId values will update existing records; rows with new values will create new ones.

note

Setting a field value to null in the CSV will clear that field on an existing alert. Leaving a column empty will leave the existing value untouched. Comments are an exception — they cannot be removed once created. Setting the comments field to null or leaving it empty will not delete existing comments. When comments are supplied during an update, they are added as new entries and existing comments are retained.

Creating an ETL Project with Alerts

Create New Project

To initiate an Alert migration:

  1. Select + on the ETL Dashboard.
  2. Enter a Project Name and Description.
  3. Select Alert as the datatype.

ETL Workflow Steps

The Alert ETL flow follows the standard ETL pattern:

  1. Select Data Source
  2. Filter Data
  3. Map System Fields
  4. Map Lookups
  5. Preview
  6. Validation
  7. Load

Select Data Source

Upload a CSV file containing one row per alert. The file must include all required fields and use the correct column names as listed in the Map System Fields section below.

tip

Ensure your CSV includes a unique alternateId for every row which can be the alerts ID from an external source. This is the key the system uses to determine whether to create or update each alert.

Map System Fields

Once the data source has been uploaded, map columns from your CSV to the system fields. The table below describes all supported fields.

FieldRequiredDescription
alternateIdYesThe source system identifier for the alert. Used to determine create vs. update. Must be unique within the file.
fenxIdNoThe FenX UUID of an existing alert. Used to target a specific record when updating by FenX ID.
mainEntityAlternateIdConditionalThe Alternate ID of the entity this alert belongs to. Required if mainEntityFenxId is not provided.
mainEntityFenxIdConditionalThe FenX UUID of the entity this alert belongs to. Required if mainEntityAlternateId is not provided.
ruleNameNoThe name of the business rule that generated the alert.
ruleIdNoThe identifier of the business rule.
ruleVersionNoThe version of the business rule at the time the alert was created.
creationDateNoThe date the alert was originally created. If left blank, defaults to the date of migration.
assessmentOutcomeYesThe outcome of the alert assessment (e.g. True Positive, False Positive). Must not be blank.
assessmentCategoryNoThe category of the assessment outcome.
assessmentDetailsNoFree-text description of the assessment rationale.
commentsNoOne or more comments associated with the alert. Separate multiple comments with a pipe character (|). For example: Comment one | Comment two | Comment three.
note

The type, source, and score fields are hardcoded by the system at load time and do not need to be included in the CSV file.

Map Lookups

The Map Lookups step maps values in your source data to the corresponding lookup values configured in Fenergo.

assessmentOutcome

assessmentOutcome is linked to the AlertAssessmentCategory lookup, which determines how an alert is classified. The value supplied in the CSV must map to one of the configured lookup options, for example:

  • True Positive
  • False Positive

Preview

The Preview step displays how each alert will be created or updated based on the current mapping configuration.

You can either:

  1. Select an alert record from the View Sample Entities table, or
  2. Enter a specific ID to preview how that record will be processed.

Use this step to confirm field mappings and data formatting before running Validation and Load.

tip

Check that assessmentOutcome is populated on every row before proceeding to Validation.

Validation

Validation checks each record in the data source against the project configuration. Any rows that fail are identified and listed. Once complete, a validation report can be downloaded.

Common Validation Errors

ErrorCause
Record id: <alternateId> is duplicatedThe same alternateId appears more than once in the CSV. Each alert must have a unique identifier within the file.
One or more rows were encountered with missing ALTERNATEID or FENXIDA row does not have a value in either mainEntityAlternateId or mainEntityFenxId. At least one entity reference is required per row.
Main Entity does not existThe entity referenced by mainEntityAlternateId or mainEntityFenxId could not be found in Fenergo. Ensure the entity exists before running the alerts load.
Date value '<value>' for property 'creationDate' cannot be parsed using 'dd/MM/yyyy' date formatThe creationDate value is not in the expected format.
assessmentOutcome cannot be blankThe assessmentOutcome column is required and must not be empty.
important

All validation errors must be resolved before the Load phase can begin. Address any issues in the CSV and re-upload before proceeding.

Load

Once all validation issues are resolved, the Load option becomes available. During the load process, the system determines whether each record is an UPDATE or a CREATE based on the alternateId. A progress indicator tracks the status of the load.

Preparation Step

During preparation, any supplied mainEntityAlternateId values are resolved to their corresponding mainEntityFenxId. If the referenced entity cannot be found, the row will fail.

Load Step

  • Alert records are created or updated.
  • Comments are applied to each alert, with pipe-separated values loaded as individual comment entries.
  • Each alert is linked to the relevant entity.
  • Once the load is complete, a reconciliation report is available.

Refer to the ETL UI user guide for additional details on monitoring load progress and downloading the reconciliation report.

Reports

After a load completes, ETL produces a reconciliation report for the Alert migration. This gives row-level visibility into which alerts loaded successfully and which failed.

Alert Report Columns

ColumnDescription
fenxIdThe Fenergo identifier assigned to the alert.
alternateIdThe source system identifier supplied in the CSV (alternateId).
StatusThe outcome for the row — for example Created or Updated for a successful load, or an error state for a failure.
Error DescriptionThe error message if the row failed to load. Empty for successful rows.
Date CreatedThe timestamp of the load attempt.
Migration IDThe identifier of the migration run that produced the row.