Skip to main content
Version: 2.2.0

Install and configure

The page provides instructions on installing and configuring the Kayla AI Agent for coordinating the perpetual Know-Your-Customer (pKYC) process.

Check requirements

WorkFusion offers the following options to install and run Kayla:

  • On your premise
  • In your cloud
  • In a private cloud hosted by WorkFusion

System requirements

The server requirements for Kayla, the pKYC Coordinator, are the same as for Work.AI (IA Cloud Enterprise) platform. For details, refer to the Hardware and OS article.

Hardware

  • No RPA bots required

  • Proxy for high-availability installations

  • No server for analytics required

Software

  • IA Cloud Enterprise v10.2.7 or higher

  • No machine learning (ML) or analytics component used

Install Kayla

To install Kayla, obtain an Asset Bundle (zip archive) with the required release version from the appropriate S3 bucket. Then, upload it manually in the Control Tower interface in accordance with the guide.

Once the installation is complete, you can proceed to configure Kayla's settings.

note

You can configure multiple variations, or sets of parameters, for a single AI Agent. For example, different departments can set up and manage different requirements or input methods per variation. For details, refer to Manage AI Agent variations.

Configure Kayla

There are two possible ways to start the configuration flow for Kayla:

  • If you install Kayla without a preset configuration, wait for the installation to complete. Once you are redirected to the AI Agent version details page, open the Actions menu and click Settings.

  • If you install Kayla as an Asset Bundle with a preset configuration, wait for the installation to complete, and click the Show digital worker button. Then, find the installed variation in the Digital Workers list and click Prepare.

After you complete any of the flows described above, proceed to the configuration:

  1. In Advanced > Data Stores, do the following:

  2. Install the Chrome driver for RPA sources (if needed).

  3. On the AI Agent configuration page, perform the following steps:

    1. Configure the input settings.

    2. Specify data enrichment sources.

    3. Configure third-party data providers.

    4. Set the review process rules.

    5. Configure a human-in-the-loop step (optional).

    6. Define the way to receive Kayla's output.

    note

    When you configure your AI Agent variation for the first time, you must complete the steps one by one. Once you are in the last step, you can go back and make changes to any previous steps. If, for some reason, you cannot finish the configuration, click Save & continue later. This way, the entries you made are saved, and you can go back and complete the process later.

Proxy server

To configure a proxy server, do as follows:

  1. In Control Tower, go to Advanced > Data Stores.

  2. Select the uc_DW_KAYLA_KYC_technical_configuration Data Store.

  3. Set up the following fields:

    NameSample valueDescription
    proxy.hostproxy.customerdomain.comEnter your proxy host.
    proxy.port1234Enter your proxy port.
    proxy.credentialsAliaskayla_proxy_credentialsCreate an alias for the proxy credentials in Secrets Vault. Configure only if the proxy server requires authentication.
    note

    If you use the CSSF, AMF, or SEC Mutual Fund profile connectors, update the ZooKeeper settings to limit the worker pool.

    In ZooKeeper, create /config/worker-management-service/bep.worker.pool.com.workfusion.dw:dw-kayla-kyc-jnw:2.1.0-dev.max-worker-count-pool-limit 1.

Install Chrome driver for RPA sources

If the following data source is used, install the Chrome driver on the auto-scaling agent servers in the environment:

  • AMF

  • CSSF

  • SEC Mutual Fund profiles

Address service domain

The address verification service is required to use the Verify Address ML model method for setting the input processing requirements. To access the address verification service, configure the environment to use. Development, UAT, and production environments are available.

To configure the environment, do as follows:

  1. Navigate to Advanced > Data Stores.

  2. Select the uc_DW_KAYLA_KYC_technical_configuration Data Store.

  3. In the Data Store, set up the following field:

    NameSample valueDescription
    address_service_environmenthttps://address-service-uat.workfusion.io/Specify the environment name.

Input

In the Input step, you set the input source that Kayla monitors for updates and the rules for how Kayla does that. The input source can be a MinIO bucket, an email box, or both. In any case, the expected input format is a CSV file corresponding to specific requirements.

To configure the input source and rules, follow the steps below:

  1. In the Unique Identifier field, specify the name of the column from the input CSV file that contains the unique identifier.

  2. Configure the monitoring settings:

    • Specify how frequently, in hours or minutes, Kayla polls the input source for new files.

    • If needed, select the Stop monitoring after some iterations checkbox. In the displayed Max loops field, specify the number of iterations.

    • Optionally, select the Stop monitoring after some duration checkbox. In the displayed Max Monitoring Duration and Time Unit fields, set the period duration.

  3. Choose one or both input methods and specify required settings:

    • Shared File Location: set the input S3 bucket and file path in MinIO (S3).

    • Microsoft Graph API Email: specify the monitored email address, email folder, and Tenant ID.

      Email credentials are stored in Secrets Vault, so you need to choose a Secrets Vault alias from the drop-down list in the Microsoft Graph API Secret Vault Alias field.

      To create a new alias, click the Create New Secret Vault Entry button, set the alias up, and save it. For detailed instructions, refer to Set up secret entries in Secrets Vault.

  4. Click Next. The step settings are saved, and you are navigated to the Enrichment Sources step.

Enrichment Sources

The step is designed to supplement the input data without direct integration with a third-party tool. In this case, an enrichment source is a CSV file uploaded to an S3 bucket. You can set up as many enrichment sources as you need.

To configure an enrichment source, follow the steps below:

  1. On the Enrichment Sources step, click Add Another.

  2. Specify the location of the file with enrichment data in S3.

  3. Map the unique identifier in the input file to the one in the enrichment file so that the AI Agent can link the information correctly.

    The specified enrichment source becomes visible in the Enrichment Data table from where you can edit or delete it. To add more enrichment sources, click Add Another and repeat the steps above.

  4. Click Next. The step settings are saved, and you are navigated to the Data Sources step.

Data Sources

Kayla can retrieve information from a variety of data sources out of the box:

  • AMF—Company Profiles

  • Companies House

  • CSSF—Entity Profiles

  • Department of Labor (DoL) EFAST 5500

  • NASDAQ

  • NYSE

  • Sayari Graph

  • SEC Edgar

  • SEC Mutual Fund profiles

  • Twelve Data

On the Data Sources page, you choose the third-party data providers from where Kayla will retrieve information for further input verification.

To configure data sources for Kayla, do as follows:

  1. In the Sources field, choose as many data providers as you need.

  2. Configure source-specific settings that can vary from provider to provider.

    For the TwelveData, Companies House, and Sayari Graph data sources, choose a Secrets Vault alias from the API Key Alias drop-down list.

    To create an alias, click the Create New Secret Vault Entry button, set the alias up, and save it. For detailed instructions, refer to Set up secret entries in Secrets Vault.

  3. If you want the data from the selected data source to be enriched with your data, click the Enrich data checkbox and choose a pre-configured enrichment source. The checkbox appears on the configuration screen, provided you set at least one enrichement source on the respective step.

  4. Once you configured all sources as required, click Next to move on to the Requirements step.

Requirements

When Kayla processes input, it reviews each row in a file and verifies if the KYC data has changed. All data from the input file is passed through to the periodic review form. However, only the input file fields configured on the Requirements page are reviewed and flagged for manual review.

To configure a requirement, follow the steps below:

  1. On the Requirements step, click Add Another.

  2. Specify the rules that Kayla should follow when reviewing KYC data for an entity. For more details, see the table below.

    FieldDescriptionValuesRequired
    RulesThe name-value pairs that determine to which entities to apply a specific requirement.Use the name-value pairs from the input file. You can set more than one pair per requirement by clicking the Add Another button in the Rules section.Yes
    SourceThe external source from where input data is retrieved.As configured in the Data Sources stepYes
    Requirement Reference IDA key or reference to the KYC requirement matrix.Free-text fieldNo
    Review MethodThe method used to complete the review
    1. Exact Match: the Field Name value should be a direct match against a value in the API response from the configured source.
    2. Information Extraction Model: the Field Name value is validated using an information extraction model.
    3. Manual Review: the Field Name value is not reviewed. Used if an information extraction model or API is unavailable or a data point requires additional scrutiny.
    4. Name Match: works similarly to Exact Match, except that it does not consider punctuation, extra spaces, or other special characters that are inadvertently present in a name. This ensures that minor discrepancies (- vs. : or extra spaces) do not get flagged for manual review.
    5. Verify Status: used to verify the Field Name status. For example, whether the entity is regulated and found in a regulator's database and whether the status is a specific value.
    6. Verify Address - rules model: used to verify complete normalized addresses. It assumes the data is in a specific format, depending on how many address lines are provided, for example:
      • For six address lines: street_line1, street_line2, city, state, country, zipcode.
      • For five address lines: street_line1, city, state, country, zipcode.
      • For four address lines: street_line1, city, state, zipcode.
      The rule model takes the risk-based approach and accepts the following discrepancies:
      • A missing country in one address is ignored if the rest of the address matches (including zipcode). This is due to some sources that do not include a country in addresses.
      • Country and state ISO codes and all official names are compared when matching. Common aliases, for example, China vs. Republic of China, are also accepted. For example, if address 1 has "USA" and address 2 has "United States of America, (The)", it is a match.
      • State alpha codes, ISO codes, and full ISO names are compared when matching.
    7. Verify Address ML model: used to verify two addresses. Each address is either normalized (unstructured) or structured. To use the review method, set the address service domain.
    Yes
    ModelThe ML model to be usedAvailable pre-trained modelsYes, if Review method is set to Information Extraction Model.
    Field NameThe field from the specified source to be compared to the Field Name from the input fileVaries, depending on the sourceYes, if Review method is set to Exact Match, Name Match, Verify Address, or Information Extraction Model.
    Enrich dataClick the checkbox and select an enrichment source if you want to enrich a particular rule or review method input with the source's data. The checkbox appears on the configuration screen, provided you set at least one enrichement source on the respective step.A selected or deselected checkbox and selection values configured in the Enrichment Sources step.No; not available for the Verify Status method.
  3. Click Save to save the rules for the entity.

  4. Repeat Steps 1 to 3 to add as many rules as you need.

  5. Click Next to move on to the Human-in-the-Loop step.

Human-in-the-Loop

The step is optional. It allows analysts and quality assurance specialists to review Kayla's results in Workspace and address any exceptions prior to the generation of the final periodic review report.

To configure the step, follow the instructions below:

  1. Choose an option to define when manual review should be enabled:

    • Enable in all Cases creates an assignment in Workspace for every entity, regardless of whether Kayla completed requirements or not.

    • Disable in all Cases disables manual reviews completely. In this case, the Automatically route users to the next task in the queue?, Do you want to pre-assign work to users, and Case Details settings are unavailable.

    • Disable if all Requirements are Successfully Completed conditionally creates a manual review assignment when there is some investigated requirement that Kayla cannot close with confidence or for which Kayla does not have relevant information.

  2. Specify the task routing mechanism. Select Yes for Automatically route users to the next task in the queue? to route users to the next task in the queue that is not actively being worked on, regardless of who it is assigned to.

  3. To pre-assign the manual review assignment to a specified user in Workspace, configure the following:

    • Select Yes for Do you want to pre-assign work to users?.

    • In the Username field, specify the user to whom you want to pre-assign the task.

    • Click Enrich Data and choose an enrichment source. The checkbox appears on the configuration screen, provided you set at least one enrichement source on the respective step.

  4. In the Case details section, set up the required and optional fields to be used and displayed in the manual review assignment in Workspace:

    • Case ID
    • Case Reason
    • Entity ID
    • Entity Name
    • Current Risk Rating
    • Previous Risk Rating
    • Jurisdiction
    • Minio UI Base URL

    To include the fields into a manual review assignment, enter the column headers from the input file corresponding to each item.

  5. Click Next to move on to the Output step.

tip

For instructions on working with human-in-the-loop assignments, see the Review results guide.

Output

In the Output step, you set where Kayla should send its output:

  • A periodic review status report
  • An entity periodic review report
  • A batch summary report

For details about the reports, refer to Input and output data.

To complete the output setup for Kayla, configure the following:

  1. Configure the email address where the periodic review (summary batch) report is to be sent:

    • If Email is configured as the only or one of input methods, reuse the setup from the Input step or specify a different email.

    • If Shared File Location is used as the only input method, set the email for receiving Kayla's reports in the Output step.

  2. Choose a method for sending the periodic review (summary batch) report:

    • Microsoft Graph API

    • SMTP

  3. If you choose Microsoft Graph API, skip the step and move on to Step 4. If you choose SMTP, set the following:

    • SMTP host and port

    • Required email addresses

    • Authorization

  4. Choose a Secrets Vault alias from the drop-down list. If you don't have an alias configured, click the Create New Secret Vault Entry, set the alias up, and save it. For detailed instructions, refer to Set up secret entries in Secrets Vault.

Once you have set up the above, click the Finish button to save the configuration.

Update configuration

To update Kayla's configuration, follow the steps below:

  1. Go to the Digital Workers page.

  2. Choose the Kayla's version you are working with.

  3. On the version details page, open the Actions menu and select Settings.

  4. On the displayed configuration screen, make changes in each step as required and click Finish to save the updated configuration.