Input and output data
The Adverse Media Monitoring AI Agent supports a variety of ways for seamless integration into each financial institution’s ecosystem, such as client lifecycle management (CLM) systems, news sources, and case management archives, including through RPA and API connections.
Search input
The Adverse Media Monitoring search is triggered by specifying a name via the Ad-hoc search in Workspace or a batch upload of names set up and scheduled via Control Tower. To conduct a search, a name is required.
To configure a batch process, WorkFusion can be integrated with the bank’s internal systems to mimic how analysts are currently retrieving names that need to be monitored for adverse media events.
Examples include:
- Navigating alert queues in a transaction monitoring system and conducting searches on a non-customer in a potentially unusual transaction.
- Identifying customers who meet certain criteria within a CLM system. For example, you have a customer rated as high-risk, and yet the most recent Know-Your-Customer refresh is greater than one year.
- New applications created within a customer onboarding system or business line product extension system (such as a new lending application).
- A CSV file sent to a shared email inbox or uploaded to a shared folder.
You can also trigger a search via REST API that passes all required inputs as parameters and then receives the results from WorkFusion.
CSV input
The data input format for the Evan: Adverse Media Monitoring File Ingestion Business Process is a CSV file with simple fields and one or more rows with entity names to search.
Below is an example of the CSV file with possible content. You can also download the template when configuring the External source as the AMM input.

Input data schema
Only the search_request field is obligatory. All other fields are optional and are used to increase the relevancy of search results.
| Field | Description | Type | Required | Example |
|---|---|---|---|---|
search_request | Entity name. It is a person or a company subject to Adverse Media Monitoring. | String | YES |
|
entity_type | Entity type. Currently, two possible values are supported (non-case-sensitive):
| String | NO |
|
residence_operating_country | Two-letter country code. Supported format: ISO 3166-1 alpha-2. See the full list here. | String | NO | US (United States) / CA (Canada) / AU (Australia) |
subdivision | Two-letter subdivision code according to ISO 3166-2. | String | NO |
|
citizenship_incorporation_country | Two-letter country code. Supported format: ISO 3166-1 alpha-2. See the full list here. | String | NO | US (United States) / CA (Canada) / AU (Australia) |
city | Full city’s name. Used only for Thomson Reuters CLEAR Investigations. | String | NO | New York |
year_of_birth | Year of birth for a single screened person. Not applicable when entity_type is Company. | Integer | NO | 1980 |
date_of_birth | Date of birth for a single screened person. Not applicable when entity_type is Company. List of accepted date formats:
| Integer | NO |
|
additional_information | Additional information about the screened entity. | String | NO | John Doe has a brother Edward Doe |
add_to_ongoing_monitor | The field is used only when Thomson Reuters is configured as the data provider. If true, the corresponding entity will be automatically added to the ongoing monitoring scope. | Boolean | NO | true/ false |
_sys_mt_hit_assigned_user_groups | The name of the user group assigned to manage the manual review task in Workspace. | String | NO | Reviewers |
article_data | The field is used only when the CSV file is selected as the input data source. It represents stringified JSON with an array of article data (links and additional information). For the full schema, see the Article data item table. | String | NO | [{\"link\":\"https://www.politico.com/news/2024/08/27/nancy-pelosi-jan-6-fury-00176529\",\"additional_information\":\"article level information\"}, {\"link\":\"https://www.bbc.com/news/articles/czdpq4en1vvo\"}] |
entity_id | A unique ID of the screened entity used to re-apply decisions on the content previously reviewed by an analyst. Free text, in any format. | String | NO | E1234567 |
batch_id | A unique ID to group multiple search entities into combined reports. To be sent together with the batch_size field. | String | NO | Unique free text in any format. See some examples below:
|
batch_size | The number of investigations in the batch. To be sent together with the batch_id field. | Integer | NO | 15 |
external_provider_name | The name of the provider used for collecting all articles. | String | NO | |
external_id | A unique ID to identify the search request. Unique free text, in any format. | String | NO | R1234567 |
cost_center_code | Code of the Cost Center team for billing transactions. | String | NO | R1234567 |
cost_center_name | Name of the Cost Center team for billing transactions. | String | NO | R1234567 |
sla_date | Service Level Agreement (SLA) date for filtering in Manual Tasks. The date format is selected in the course of configuration. | String | NO |
Article data item fields
| Field | Description | Type | Required | Example |
|---|---|---|---|---|
link | Link to the website from which an article is to be downloaded. | String | YES if content is null. | https://example.com/path/to/article |
content | Article content. If both link and content are provided, content is overwritten with the content from link, provided the latter is successfully downloaded. | String | YES if link is null. | A large text that represents the article content in HTML or a plain text format. |
title | Article title. | String | NO | Unlocking the Secrets of Everyday Life: How Small Habits Shape Big Success |
summary | Article summary. | String | NO | In a world driven by goals and aspirations, the importance of daily habits often goes unnoticed. Yet, research suggests that small, consistent actions can lead to transformative results. |
additional_information | Plain text or part of HTML containing additional information that can be helpful during the article review. | String | NO |
|
external_provider_name | The name of the provider used for collecting the article. | String | NO | Ultimate Article Searcher |
investigation_status | If an article is initially reviewed with Evelyn NSS, you can pass the NSS decision and it will be considered by Evan AMM. | String | NO |
|
external_review_comment | If an article is initially reviewed with Evelyn NSS, you can pass the NSS comment and it will be considered by Evan AMM. | String | NO | This article was reviewed by Evelyn NSS as False Positive. |
Search output
Once the entity search is completed, the results are displayed in a risk-prioritized manner as described above. The AI Agent user then reviews the results.
Once the user completes the review, the AI Agent generates a PDF report audit trail of the identified news, including the confidence score per article, the overall decision, and other data.
By default, the audit trail report is stored inside the WorkFusion platform. It is possible to configure this report to be pushed directly into organization’s internal applications, for example:
- Save into a case management or transaction monitoring system
- Store in a shared folder
- Use a custom connector for an in-house application
Output data schema objects
Investigation data schema
| Field | Description | Type | Example |
|---|---|---|---|
uuid | A unique identifier for the investigation | String | 123e4567-e89b-12d3-a456-426614174000 |
runUuid | A unique identifier for the execution run | String | 123e4567-e89b-12d3-a456-426614174001 |
batchId | A unique ID to group multiple entities into a combined report | String | B1234567 |
entityId | A unique ID for identifying entity | String | E1234567 |
externalId | A unique ID to identify the search request | String | R1234567 |
tenantId | A unique identifier for the tenant | String | tenant-123 |
variationId | Variation identifier | Integer | 1 |
version | Version of the AMM AI Agent | String | 4.0.2 |
status | Current status of the investigation | String | STARTED / IN_PROGRESS / READY_FOR_REVIEW / REVIEWED / COMPLETED / FAILED / MT_EXPIRED |
inputStartTime | Timestamp when the input processing started | DateTime | S2024-03-18T10:15:30Z |
inputEndTime | Timestamp when the input processing ended | DateTime | 2024-03-18T10:16:30Z |
processingStartTime | Timestamp when the main processing started | DateTime | 2024-03-18T10:16:31Z |
processingEndTime | Timestamp when the main processing ended | DateTime | 2024-03-18T10:20:30Z |
reviewStartTime | Timestamp when the review started | DateTime | 2024-03-18T10:20:31Z |
reviewEndTime | Timestamp when the review ended | DateTime | 2024-03-18T10:25:30Z |
outputStartTime | Timestamp when the output processing started | DateTime | 2024-03-18T10:25:31Z |
outputEndTime | Timestamp when the output processing ended | DateTime | 2024-03-18T10:26:30Z |
originalSearchRequest | Original search entity name as provided | String | John Doe |
searchRequest | Processed search entity name | String | John Doe |
entityType | Type of the search entity | String | COMPANY / INDIVIDUAL |
city | Full city name | String | New York |
residenceOperatingCountry | Two-letter country code in the ISO 3166-1 alpha-2 format | String | US |
citizenshipIncorporationCountry | Two-letter country code in the ISO 3166-1 alpha-2 format | String | CA |
subdivision | ISO 3166-2 code of the subdivision | String | US-FL |
yearOfBirthIncorporation | Year of birth for an individual or year of incorporation for a company | Integer | 1980 |
dateOfBirthIncorporation | Date of birth for individual or incorporation for company | Date | 1980-05-15 |
htmlReportLink | Link to the HTML report | String | https://example.com/reports/123.html |
pdfReportLink | Link to the PDF report | String | https://example.com/reports/123.pdf |
investigationStatus | The resulting status of investigation | String | FALSE_POSITIVE / TRUE_POSITIVE / NEEDS_INVESTIGATION / NO_RESULTS_FOUND |
restExecution | Indicates if the execution is via REST API | Boolean | true / false |
assignee | User assigned to the investigation | String | john.smith@example.com |
assignedUserGroups | The name of the user group to which a manual review task is to be assigned | String | reviewers |
additionalInformation | Additional information of the screened entity | String | John Doe has brother Edward Doe |
addToOngoingMonitor | Indicates if an entity should be added to ongoing monitoring | Boolean | true / false |
costCenterCode | Code of the Cost Center team for billing transactions | String | CC12345 |
costCenterName | Name of the Cost Center team for billing transactions | String | Risk Department |
batchSize | The number of investigations in the batch | Integer | 15 |
uiConfiguration | UI configuration settings | String | {"dateFormat": "MM/dd/yyyy"} |
providers | Array of providers used in the investigation | Array | [{"provider": "GOOGLE", "active": true}] |
articles | Array of articles found during the investigation | Array | [{"title": "Example Article", "status": "PROCESSED"}] |
articleCount | The number of articles found | Integer | 25 |
manualTaskRequired | Indicates if a Manual Task is required | Boolean | true / false |
manualTask | Manual Task details | Object | {"status": "NEW", "assignee": "john.smith@example.com"} |
dateOfBirthMatchingThreshold | Threshold value for matching the date of birth | Number | 0.85 |
mlModelId | Identifier for the used machine learning model | String | model-123 |
manualTaskEnabled | Indicates if Manual Tasks are enabled | Boolean | true / false |
skipMtIfAllAreFalsePositive | Skip the Manual Task if all articles are false positives | Boolean | true / false |
skipMtIfAllArePreviouslyReviewed | Skip the Manual Task if all articles were previously reviewed | Boolean | true / false |
reportType | The report type to generate | String | HTML / PDF |
businessProcessLanguage | Language for business processing | String | EN / ES |
dispositionAll | Indicates if all articles should be dispositioned | Boolean | true / false |
routeUserToNextTask | Indicates if a user should be routed to the next task | Boolean | true / false |
identifyDuplicateArticles | Indicates if duplicate articles should be identified | Boolean | true / false |
duplicateThreshold | Threshold for identifying duplicates | Integer | 90 |
generateReportIfManualTaskExpires | Indicates whether a report should be generated even if a Manual Task expires | Boolean | true / false |
useLlmModel | Indicates if an LLM model should be used | Boolean | true / false |
Article schema
| Field | Description | Type | Example |
|---|---|---|---|
uuid | A unique identifier for the article | String | 123e4567-e89b-12d3-a456-426614174002 |
newsProvider | Provider of the news article | String | GOOGLE / FACTIVA_HEADLINES / LEXIS_NEXIS_LP_MEDIA / THOMSON_REUTERS_CLEAR / WORLD_CHECK_ONE / CSV |
duplicateArticleUUID | UUID of the duplicate article if found | String | 123e4567-e89b-12d3-a456-426614174003 |
title | Article title | String | Example News Article |
status | Processing status of the article | String | PROCESSED / UNPROCESSABLE / EXCLUDED |
publishingDate | Date when the article was published | Date | 2024-02-15 |
summary | Article summary | String | Brief summary of article content |
author | Article author | String | Jane Smith |
language | Language of the article | String | EN / ES / UNKNOWN |
wordCount | Number of words in the article | Integer | 850 |
source | Source of the article | String | The New York Times |
originalArticleLink | Original link to the article | String | https://example.com/article/12345 |
downloadedArticleLink | Link to the downloaded article | String | https://storage.example.com/12345.html |
parsedArticleLink | Link to the parsed article | String | https://storage.example.com/12345.html |
taggedArticleLink | Link to the tagged article | String | https://storage.example.com/12345.html |
investigationStatus | Status of the investigation for the article | String | FALSE_POSITIVE / TRUE_POSITIVE / NEEDS_INVESTIGATION |
adjudicationReason | Reason for adjudication | String | NON_ADVERSE / NON_FOCAL / YOB_MISMATCH / ENTITY_WAS_NOT_FOUND / DUPLICATE / ARTICLE_PARSING / UNSUPPORTED_LANGUAGE / UNSUPPORTED_FORMAT / BEHIND_PAYWALL / HUGE_ARTICLE / POOR_ARTICLE / EMPTY_ARTICLE / DOWNLOAD_ARTICLE_EXCEPTION / WEBSITE_IGNORE / ARTICLE_ON_SANCTIONS_SITE / NSS_DECISION / LLM_RESPONSE_FALSE_POSITIVE / LLM_RESPONSE_NEEDS_INVESTIGATION |
mlScore | Machine learning score | Number | 0.87 |
taggedTitle | Tagged version of the title | String | Example tagged title |
taggedSummary | Tagged version of the summary | String | Example tagged summary |
taggedHighRiskCountries | Tagged high-risk countries | String | US / UK /RU |
taggedKeywords | Tagged keywords | String | fraud / money laundering |
taggedPoliticallyExposedPersons | Tagged politically exposed persons | String | John Smith / Jane Doe |
taggedEntities | Tagged entities | String | ABC Corp / XYZ Ltd |
errorCode | Error code if processing failed | String | ARTICLE_DOWNLOAD / ARTICLE_CONTENT_EMPTY / UNSUPPORTED_LANGUAGE |
historyId | History identifier | String | histqwdwqdund234dwqdwqd21und2345hqwe12d2345 |
additionalInformation | Additional information about the article | String | Contains references to subsidiaries |
reviewComment | Comment from the review | String | Not relevant to the search entity |
extractedYearOfBirthIncorporation | Extracted year of birth or incorporation | Integer | 1981 |
providerSearchUrl | URL used for the provider search | String | https://search.example.com?q=John+Doe |
articleReview | Article review details | Object | {"workerFullName": "John Reviewer", "investigationStatus": "FALSE_POSITIVE"} |
previousReview | Previous review details | Object | {"workerFullName": "Jane Reviewer", "investigationStatus": "NEEDS_INVESTIGATION"} |
contentParsedBy | Tool used to parse the content | String | POSTLIGHT / TRAFILATURA |
authorParsedBy | Tool used to parse the author | String | POSTLIGHT / TRAFILATURA |
publishingDateParsedBy | Tool used to parse the publishing date | String | POSTLIGHT / TRAFILATURA |
titleParsedBy | Tool used to parse the title | String | POSTLIGHT / TRAFILATURA |
externalProviderName | Name of the external provider | String | GOOGLE |
downloadMode | Mode used for downloading | String | STANDARD / SCRAPE_DO_STANDARD / SCRAPE_DO_BROWSER_RENDERING |
Article review schema
| Field | Description | Type | Example |
|---|---|---|---|
workerUUID | UUID of the worker who performed the review | String | 123e4567-e89b-12d3-a456-426614174004 |
workerFullName | Full name of the worker | String | John Smith |
workerEmail | Email of the worker | String | john.smith@example.com |
investigationStatus | Status determined by the investigation | String | FALSE_POSITIVE / TRUE_POSITIVE / NEEDS_INVESTIGATION |
comment | Review comment | String | Not relevant to the entity being searched |
reviewTime | Timestamp of the review | DateTime | 2024-03-18T14:30:45Z |
External article data schema
| Field | Description | Type | Example |
|---|---|---|---|
articleLink | Link to the article | String | https://example.com/article/12345 |
investigationStatus | Status determined by the investigation | String | FALSE_POSITIVE / TRUE_POSITIVE / NEEDS_INVESTIGATION |
externalReviewComment | Comment from an external review | String | This article was reviewed by Evelyn NSS as False Positive |
externalProviderName | Name of the external provider | String | GOOGLE |
additionalInformation | Additional information about the article | String | Industry: Technology and Software Development |
title | Article title | String | Example News Article |
summary | Article summary | String | Brief summary of the article content |
content | Full article content | String | A large text that represents the article content in HTML or a plain text format |
Manual Task schema
| Field | Description | Type | Example |
|---|---|---|---|
workerUUID | UUID of the worker assigned to the task | String | 123e4567-e89b-12d3-a456-426614174005 |
workerFullName | Full name of the worker | String | John Smith |
workerEmail | Email of the worker | String | john.smith@example.com |
status | Status of the Manual Task | String | NEW / IN_PROGRESS / SUBMITTED / EXPIRED |
investigationStatus | Status determined by the investigation | String | FALSE_POSITIVE / TRUE_POSITIVE / NEEDS_INVESTIGATION |
reviewComment | Comment from the review | String | No relevant findings detected |
reviewTime | Timestamp of the review | DateTime | 2024-03-18T14:30:45Z |
processingPeriodSeconds | Time spent processing in seconds | Integer | 300 |
assignee | User assigned to the task | String | john.smith@example.com |
assignedUserGroups | User groups assigned to the task | String | reviewers |
selectedForAutoQc | Indicates if the task is selected for automatic quality control | Boolean | true / false |
Provider schema
| Field | Description | Type | Example |
|---|---|---|---|
provider | Provider name | String | GOOGLE / FACTIVA_HEADLINES / LEXIS_NEXIS_LP_MEDIA / THOMSON_REUTERS_CLEAR / WORLD_CHECK_ONE / CSV |
externalProviderName | Name of the external provider | String | GOOGLE |
externalArticlesData | Array of external article data | Array | [{"articleLink": "https://example.com/article/123", "title": "Example Article"}] |
keywords | Array of keyword data | Array | [{"keywords": "fraud,laundering", "enableKeywordThesaurus": true}] |
active | Indicates if the provider is active | Boolean | true / false |
highRiskCountries | High-risk countries for the provider | String | US / UK / RU |
daysSearchPeriod | The number of days to search | Integer | 90 |
searchArticleCount | The number of articles to search | Integer | 100 |
searchLanguage | Language to search in | String | EN / ES / ANY / EN_ES |
excludedFileTypes | File types to exclude | String | pdf / doc / txt |
dynamicLocationSearchEnabled | Enables dynamic location search | Boolean | true / false |
partialNameSearchEnabled | Enables partial name search | Boolean | true / false |
ignoreDeadLinks | Indicates if dead links should be ignored | Boolean | true / false |
ignoreRedirects | Indicates if redirects should be ignored | Boolean | true / false |
Keyword data schema
| Field | Description | Type | Example |
|---|---|---|---|
keywords | Keywords to search for | String | fraud / laundering / bribery |
enableKeywordThesaurus | Enables the keyword thesaurus | Boolean | true / false |