Learn about 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 more than one year ago.
- 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 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 |
|
gender | Entity gender. | String | NO |
|
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_incorporation | Year of birth for a single screened person. Not applicable when entity_type is Company. | String | NO | 1980 |
date_of_birth_incorporation | 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 External Source is selected as the input data provider. It represents stringified JSON with an array of article data (links and additional information). For the full schema, see the Article data item fields 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 reapply 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. | String | NO | The date format is selected in the course of configuration. |
business_line | Identifies the business line for better prioritization. | String | NO | Finance |
screening_service | Custom screening service name. | String | NO | AdvNews |
investigation_date | Specific investigation date. | String | NO | The date format is selected in the course of configuration. |
initiator | The name of the request initiator. | String | NO | John Doe |
sla_duration | SLA duration in a text format. | String | NO | 5 hours |
related_entity_id | Related entity ID. | String | NO | REI123 |
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 and content_link are 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 and content_link are null. | A large text that represents the article content in HTML or a plain text format. |
content_link | Link to the article content. If both link and content_link are provided, content_link is overwritten with the content from the link, provided the latter is successfully downloaded. If both content and content_link are provided, content is ignored. | String | YES if link and content are null. | https://s3.web-server.com/bucket/path/article-content.txt |
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. |
Quality control input schema
| Field | Description | Type | Required | Example |
|---|---|---|---|---|
investigation_uuid | Unique identifier of a previous investigation | String | YES | 123e4567-e89b-12d3-a456-426614174000 |
Input data validation
Where applicable, validations are configured as part of the validation settings on the Input step.
Core fields and validations
The table below summarizes all core, date, location, article, and numeric field validations.
| Field | Validation requirement and rules | Error message |
|---|---|---|
search_request | Required
|
|
entity_id | Optional
| The entity_id exceeds the maximum length of 256 characters. Provided length:<len>. |
entity_type | Optional
| Invalid value for entity_type. Accepted: individual or company. Provided:<value>. |
gender | Optional
| The gender field must contain either Male or Female. Gender:<value>. |
date_of_birth_incorporation | LocalDate
|
|
sla_date | LocalDateTime
|
|
investigation_date | LocalDateTime
|
|
year_of_birth_incorporation |
|
|
residence_operating_country |
|
|
subdivision |
|
|
city |
|
|
article_data |
|
|
batch_size |
|
|
Configuration flags
| Flag | Type | Default | Description |
|---|---|---|---|
RESIDENCE_OPERATING_COUNTRY_VALIDATION | Boolean | true | Validates ISO-2 country codes for residence and operating country fields. |
CITIZENSHIP_INCORPORATION_COUNTRY_VALIDATION | Boolean | true | Validates citizenship country codes. |
SUBDIVISION_VALIDATION | Boolean | true | Enables the subdivision and state validation. |
CITY_VALIDATION | Boolean | true | Requires a country when a city is specified. |
BP_LANGUAGE | String | - | Used to resolve subdivision names in a given language. |
PREFERRED_DATE_FORMAT | String | - | Used in parsing and suggested in date-related errors. |
Error message context
All validation errors are wrapped with a context generated from externalId and entityId to help locate the failed record.
Search output
Once an entity search is completed, the results are displayed in a risk-prioritized manner, and you can review the results.
Once you complete the review, the AI Agent generates a PDF report audit trail of the identified news, including the confidence score per article, the final 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 your internal applications, for example:
- Save to a case management or transaction monitoring system
- Store in a shared folder
- Use a custom connector to integrate it into 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 |
gender | Entity's gender | String | MALE / FEMALE |
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 a 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 the 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 |
providers | Array of providers used in the investigation | Array | [{"provider": "GOOGLE", "active": true}] |
articleCount | The number of articles found | Integer | 25 |
manualTask | Manual Task details | Object | {"status": "NEW", "assignee": "john.smith@example.com"} |
investigationDate | Investigation date from the input or BP start time | DateTime | 2022-02-23T21:00:25Z |
initiator | The name of the request initiator | String | John Doe |
sla_duration | SLA duration in a text format | String | 5 hours |
related_entity_id | Related entity ID | String | REI123 |
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 / EXTERNAL_SOURCE |
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_IN_ARTICLE_IS_OLDER_THAN_SCREENED_ENTITY / 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 |
translatedTitle | Translated version of the article title | String | Sample translated title |
translatedSummary | Translated version of the article summary | String | Sample translated summary |
translatedArticleLink | Link to the translated article | String | https://storage.example.com/12345.html |
originalLanguage | Article's original detected language | String | en, es, fr, de, fi |
investigationDate | Investigation date from the input or Business Process start time | DateTime | 2022-02-23T21:00:25Z |
initiator | The name of the request initiator | String | John Doe |
sla_duration | SLA duration in a text format | String | 5 hours |
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 |
shorthandDecision | List of decisions | String | Decision 1 / Decision N |
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 |
shorthandDecision | List of decisions | String | Decision 1 / Decision N |
Provider schema
| Field | Description | Type | Example |
|---|---|---|---|
provider | Provider name | String | GOOGLE / FACTIVA_HEADLINES / LEXIS_NEXIS_LP_MEDIA / THOMSON_REUTERS_CLEAR / WORLD_CHECK_ONE / EXTERNAL_SOURCE |
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 |
Keyword data schema
| Field | Description | Type | Example |
|---|---|---|---|
keywords | Keywords to search for | String | fraud / laundering / bribery |
enableKeywordThesaurus | Enables the keyword thesaurus | Boolean | true / false |