Account closure review against your pre-closure checklist
Before an account is closed, the agent checks balances, pending items, holds and open alerts against your list, and sends anything that does not clear to a reviewer.
Works with

- Custom REST
- Core banking · via Custom REST
- Case system · via Custom REST
and any system with an API via Custom REST
What is an account closure review?
The procedure
Before an account closes, operations checks that nothing is left open: balances, pending payments, standing orders, holds, disputes and monitoring alerts. A closure requested while an alert is open goes to a reviewer under your policy. The operator closes the account only once each check clears.
What the agent does
Pulls balances and pending items from core banking through Custom REST
Checks the case system for open alerts
Re-screens the customer in ComplyAdvantage
Prepares the closure checklist or the list of items to settle
What your team decides
Closing the account, which an operator does
Holding a closure linked to an open alert
Approving the message to the customer about open items
Escalations to your MLRO or compliance officer
Example runs for account operations, compliance teams and relationship managers
Closure Review Agent
Checks each closure request against your closure procedure.
- API
- +1
Trigger: Inbound webhook · closure requested
From a procedure Account closure · v1.1
Marcus
Customer asked to close the Halden Trading account. Run the closure checks.
Closure Review Agent
- Pulled the account, balances and pending items from core banking through Custom REST
- No pending items, holds or open disputes
account.open_items.size() == 0 - Checked the case system for open alerts: none
- Prepared the closure checklist for the operator
Cleared for closure. Each check on your list passed. The checklist was handed to an operator, who closes the account.
4 steps · 0 reviews
Closure Review Agent
Checks each closure request against your closure procedure.
- API
- +1
Trigger: Inbound webhook · closure requested
From a procedure Account closure · v1.1
Tom
Customer asked to close the Lumen Print account. Run the closure checks.
Closure Review Agent
- Pulled the account and pending items from core banking through Custom REST
- A card dispute and a standing order are still open
account.open_items.size() > 0 - Drafted the list of items to settle before closure
- Asked a person to approve the message to the customer Waiting for a reviewerPriya: approved, your team sends it
Not yet. The closure waits until the open items are settled. The approved list is with your team to send to the customer.
4 steps · 1 review
Closure Review Agent
Checks each closure request against your closure procedure.
- API

- +1
Trigger: Inbound webhook · closure requested
From a procedure Account closure · v1.1
Lena
Customer asked to close the Ostrava Metals account. Run the closure checks.
Closure Review Agent
- Pulled the account details from core banking through Custom REST
- Found an open monitoring alert in the case system
Re-screened the customer in ComplyAdvantage: no new hits- Paused for a reviewer: the closure follows an open alert Waiting for a reviewerDiego: hold the closure, escalate to your MLRO or compliance officer
Held. The closure is on hold while your compliance officer looks at the alert. Diego's decision and the checks behind it are logged.
4 steps · 1 review
Setting up the Closure Review Agent
Connect your systems
Read accounts and pending items from core banking through Custom REST, re-screen in ComplyAdvantage, and keep the closure checklist in Google Drive.


- Custom REST
- Core banking · via Custom REST
- Case system · via Custom REST
Write the rules
Your pre-closure checks are written in CEL, and the agent runs all of them on each request.
account.open_items.size() > 0Wait for itemsalerts.open.size() > 0Ask a revieweraccount.open_items.size() == 0 && alerts.open.size() == 0Clear for closureAdd reviewers where the procedure says
A person decides on any closure that does not clear the list, and the decision and reason are logged.
Review requested: Ostrava Metals closure
- Reason
- Closure requested with an open alert
- Rule
- alerts.open.size() > 0
- Procedure
- Account closure · v1.1
Hold closureEscalate
Start it from the event
A closure request from core banking or your service desk starts the review by webhook. Another webhook fires when an open item settles, and a daily schedule lists closures still waiting.
- Inbound webhook · closure requested
- Daily at 06:00 · closures waiting on open items
- Inbound webhook · open item settled
Version and evaluate
Test a clean closure, one with a card dispute still open and one that follows a monitoring alert. Each version of the closure procedure has to pass all three before publishing.
Account closure · v1.1Published
12/12 scenarios passed
Account closure · v1.2 Superseded
Account closure · v1.1 Superseded
Share with the team
Account operations close accounts once the checks clear, compliance reviews closures with open alerts, and relationship managers can be given read-only access to follow a request.
Admin
Author
Reviewer
Auditor
Questions about account closure review automation
Does the agent close accounts?
No. It runs the checks and prepares the checklist. An operator closes the account once each check clears.
What if the closure follows a monitoring alert?
The run pauses for a reviewer, as in the third example. Whether the closure goes ahead is their decision, made under your procedure.
Does it re-screen the customer?
Yes, in ComplyAdvantage, as one of the checks on your list. The result is saved with the closure checklist.
Controls your auditors will ask about
These controls apply to each agent you build. Sample data
Admin
Author
Reviewer
Auditor
Role-based access
Admin, Author, Reviewer and Auditor roles, scoped to each workspace.
- 41
7c2e… - 42
a91f… ← 7c2e - 43
03d8… ← a91f
Hash-chained audit log
Each entry carries the hash of the one before it. Verifying the log recomputes the chain and flags entries that no longer match.
- 41
- v1.1v1.2v1.3Published
Versioned specs
Each run records the exact version it followed; old versions stay readable.
- vault/sumsub/key
Secrets in a vault
Steps point to a vault path, and the key stays in the vault.
- Signed delivery accepted
- Unsigned delivery rejected
Signed webhook triggers
Unsigned or stale deliveries are rejected before a run starts.
- SandboxLive
Sandbox before live
New versions run on test data first. Going live is a separate step.
Related use cases
-
Vendor due diligenceCheck each new vendor's papers, screen the company and its owners and flag gaps for a person.
-
Complaints triageCategorize each complaint on arrival, apply your response timelines and route sensitive cases to a person.
-


KYC onboarding reviewCheck documents, screen the applicant and apply your risk rules, with a reviewer where the procedure asks.
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