Skip to main content

Overview

Complete financial services onboarding agent with KYC (Know Your Customer) verification using Stripe Identity API for document verification and Lua Data API for application management. What it does:
  • Guide users through onboarding journey
  • Collect personal and financial information
  • Upload and verify identity documents (ID, passport)
  • Answer qualifying questions
  • Perform compliance checks
  • Create verified account
APIs used: Stripe Identity API (document verification) + Lua Data API (application tracking)

Complete Implementation

src/index.ts

This demo uses LuaAgent with webhooks for Stripe Identity events, preprocessors for validation, and postprocessors for compliance disclaimers.

src/tools/FinancialOnboardingTools.ts

Environment Setup

Document Upload Flow

Frontend Integration

Testing Conversation Flow

Select sandbox mode, then test this example conversation:

Key Features

Stripe Identity

Document verification API

Lua Data

Application state management

KYC Compliant

Regulatory compliance built-in

Multi-Step Journey

Guided onboarding flow

Risk Assessment

Suitability scoring

Secure

Encrypted PII storage

Compliance & Security

Regulatory Compliance RequiredThis demo shows technical implementation. For production:
  • βœ… Implement proper encryption for PII (use KMS, not base64)
  • βœ… Follow KYC/AML regulations (Bank Secrecy Act, Patriot Act)
  • βœ… Maintain audit logs of all data access
  • βœ… Use HTTPS only
  • βœ… Implement data retention policies
  • βœ… Follow GDPR/CCPA for data privacy
  • βœ… Store documents in compliant storage (encrypted at rest)
  • βœ… Conduct regular security audits
  • βœ… Implement fraud detection
  • βœ… Follow FinCEN guidelines

Security Best Practices

Alternative Document Verification Services

This demo uses Stripe Identity, but you can swap with:

Document Types Supported

  • Driver’s License (front and back)
  • State ID
  • Passport
  • National ID card
Verification checks:
  • Document authenticity
  • Face match with selfie
  • Data extraction (name, DOB, address)
  • Expiration date validation
  • Utility bill (within 3 months)
  • Bank statement
  • Lease agreement
  • Government correspondence
Verification checks:
  • Address matches ID
  • Document date within acceptable range
  • Name matches applicant
  • Bank statements
  • Tax returns (for high-value accounts)
  • Pay stubs (employment verification)
  • Investment account statements
Used for:
  • Income verification
  • Source of funds
  • Net worth assessment

Onboarding Journey Diagram

Customization

Add Additional Verification

Add Fraud Checks

Key Takeaways

Multi-Step Flow

Guided journey with state management

External + Platform

Stripe Identity + Lua Data

Compliance Ready

KYC/AML patterns shown

Secure by Design

Encryption and security practices

Production Considerations

  • Keep applications for 7 years (regulatory requirement)
  • Implement automated data deletion for rejected applications
  • Archive completed applications to cold storage
  • Regular review of declined applications
  • Monthly compliance reports
  • Suspicious activity reporting (SAR)
  • Customer due diligence (CDD)

Next Demo

HR Assistant

See internal employee management with BambooHR