Verkflo is in early access. Book a demo

Periodic KYC review automation without chasing review dates

On the schedule you set, the agent lists the periodic KYC reviews that are due by risk rating and refreshes each file. It re-screens the customer, compares the file with the last review and asks a person about anything that changed.

Book a demoSee how it runs

Works with

and any system with an API via Custom REST

What is a periodic KYC review?

  • The procedure

    A periodic KYC review, often called a KYC refresh, brings a customer file up to date on the cycle your policy sets for each risk rating. The reviewer refreshes the documents, re-screens the customer and compares the file with the last review. Keeping track of what is due, and spotting what changed, takes most of the effort.

  • What the agent does

    • Lists the files due for review under your cycle for each risk rating

    • Refreshes the profile and documents from Sumsub

    • Re-screens the customer and owners in ComplyAdvantage

    • Compares the file with the last review and saves both versions side by side

  • What your team decides

    • Whether a change in ownership or profile is acceptable

    • Sending a customer back through KYB or onboarding review

    • Overdue high-risk files with new hits, with your MLRO or compliance officer

    • Any change to the customer's risk rating

Example runs for compliance operations, relationship teams, MLROs or compliance officers

Sample data

Periodic Review Agent

Runs each periodic review on your review cycle.

  • Sumsub
  • ComplyAdvantage
  • +1

Trigger: Daily at 06:00

From a procedure Periodic review · v1.4

Lena

Run today's periodic reviews. First up: Harbor Lane.

Periodic Review Agent

  1. Listed the files due for review under your cycle for their risk rating
  2. Refreshed the customer profile and documents from Sumsub
  3. Re-screened the customer and owners in ComplyAdvantage: no hits
  4. Compared the file with the last review: nothing changed changes.size() == 0

Review complete. No changes since the last review. The next review date was set by your cycle for this risk rating.

4 steps · 0 reviews

Periodic Review Agent

Runs each periodic review on your review cycle.

  • Sumsub
  • Google Drive
  • +1

Trigger: Daily at 06:00

From a procedure Periodic review · v1.4

Tom

Run the periodic review for Corvid Freight.

Periodic Review Agent

  1. Refreshed the customer profile and documents from Sumsub
  2. The ownership declaration differs from the file at the last review changes.exists(c, c.field == "owners")
  3. Saved both versions of the ownership declaration side by side
  4. Paused for a reviewer on the ownership change Waiting for a reviewerMaya: new owner added, KYB review to be re-run

Referred. Maya found a new owner and sent the customer back through the KYB review, with the comparison attached.

4 steps · 1 review

Periodic Review Agent

Runs each periodic review on your review cycle.

  • Sumsub
  • ComplyAdvantage
  • +1

Trigger: Daily at 06:00

From a procedure Periodic review · v1.4

Marcus

Which high-risk reviews are overdue? Start with Ostrava Metals.

Periodic Review Agent

  1. Found a high-risk review past its due date under your cycle
  2. Re-screened the customer in ComplyAdvantage: 1 new adverse media hit
  3. Routed the file to a reviewer: high risk with a new hit Waiting for a reviewerPriya: escalate to your MLRO or compliance officer
  4. Recorded the escalation and flagged the file as overdue

Escalated. The overdue high-risk review went to your compliance officer with the new hit and the refreshed file attached.

4 steps · 1 review

Setting up the Periodic Review Agent

Connect your systems

Refresh profiles from Sumsub, re-screen in ComplyAdvantage, store review packs in Google Drive, and read your customer or case system through Custom REST.

  • Sumsub
  • ComplyAdvantage
  • Google Drive
  • Custom REST

Write the rules

The review cycle for each risk rating, and what counts as a change, are written in CEL.

Sample data
customer.review_due == trueStart review
changes.exists(c, c.field == "owners")Ask a reviewer
risk_rating == "High" && screening.new_hits > 0Escalate

Add reviewers where the procedure says

Anything that changed since the last review is shown to a person with both versions of the file in front of them.

Sample data

Review requested: Corvid Freight

Reason
Ownership declaration changed
Rule
changes include owners
Procedure
Periodic review · v1.4

Re-run KYBAccept change

Start it from the event

A daily schedule starts the reviews that are due. Webhooks start one between cycles when Sumsub reviews an applicant again or your customer system reports a profile change.

  • Daily at 06:00 · reviews due
  • Sumsub · applicantReviewed
  • Inbound webhook · customer profile changed

Version and evaluate

Test the cycle itself: a file due today, a file not yet due and an overdue high-risk file. Each new version of the periodic review has to pass them before it is published.

Sample data

Periodic review · v1.4Published

12/12 scenarios passed

Periodic review · v1.2 Superseded

Periodic review · v1.1 Superseded

Share with the team

Compliance operations take the Reviewer role for changes the agent finds, an Author maintains the review cycle, and auditors check each review against the version it followed.

  • Admin
  • Author
  • Reviewer
  • Auditor

Questions about periodic KYC review automation

How does the agent know which reviews are due?

Your review cycle is written in CEL for each risk rating. A daily schedule runs the check and starts a review for each file that is due.

Does it support event-driven or perpetual KYC?

It covers both patterns. A schedule handles reviews by due date, and webhooks start a review when Sumsub or your customer system reports a change.

What happens when nothing changed?

The agent records a no-change review, and the next review date follows your cycle for that risk rating. No reviewer is needed unless your procedure asks for one.

Can it flag overdue files?

Yes. In the third example, a high-risk review past its due date is flagged as overdue and, because of a new hit, escalated.

Controls your auditors will ask about

These controls apply to each agent you build. Sample data

Related use cases

See all use cases

Run this procedure as an agent

Book a demo with your own version of this procedure, and we'll show it running with each step logged.

Book a demo