Contact Centres

Verify banking KYC through AI chat

Workflow purpose

This guide demonstrates how to use Proto's platform to run a know-your-customer (KYC) check entirely through AI chat, combining an ID upload with a verification service call. This is the shared verification building block referenced by "Open bank accounts through AI chat" and similar flows, documented here on its own so it can be reused anywhere a KYC check is needed.

Who can benefit from this guide:

  • Banks and e-wallet providers with a recurring KYC requirement
  • Compliance teams needing a consistent, logged verification step
  • Products that need to re-verify an existing customer periodically
  • Any workflow that currently sends customers to a branch just to show ID

Verify banking KYC

This workflow combines an ID photo with a verification service call to confirm identity before a customer proceeds. See how to verify banking KYC through AI chat.

Just starting with the platform?
For initial setup of your AI agent – including workspace setup, agent training, and channel deployment – please start here. This workflow guide assumes your AI agent is set up and ready for more advanced configurations.

1. Create a trigger

Purpose: Start the flow wherever a KYC check is required before continuing.

  • Navigate to the Actions tab in the AI agent settings.
  • Click “+ Add Trigger” and select the Message Received trigger type, or insert this as a step inside another flow.
  • Name the trigger “KYC verification”.

2. Survey – ID type and number

Purpose: Know what kind of document to expect before it’s uploaded.

  • Add a Survey action titled ID details.
  • Field id_typeQuick replies: National ID, Passport, Driver’s licence.
  • Field id_numberTextWhat’s the number on your ID?

3. Survey – ID photo upload

Purpose: Collect the document itself for extraction and verification.

  • Add a Survey action titled ID photo.
  • Field id_photoAttachment(s)Please upload a clear photo of your ID.Required: On.

4. LLM action – extract ID data

Purpose: Read the ID rather than relying only on what the customer typed.

  • Add an LLM action named ID data extraction. Model: GPT-4o. Input: {id_photo}. Output variable: id_data.
  • Success branch: first action is Set chat variableid_data = _.json_parse(id_data).

5. Send API request – KYC verification

Purpose: Confirm the ID against an authoritative source rather than trusting the upload alone.

  • Add a Send API request action to your KYC verification service with {id_type}, {id_number}, and {id_data}. Map the response to verification_result.

6. Branch on the result

Purpose: Confirm a match automatically, and route anything uncertain to a person.

  • Add a Branch action. Condition: verification_result["match"] == true.
  • If true: Send message“Your identity has been verified.”
  • If false: AI Agent Network handoff to the compliance team’s AI agent, passing {id_type}, {id_number}, and {verification_result}.

7. Test the flow

Purpose: Confirm the verification is reliable before it gates anything downstream.

  • Test with a genuine ID and confirm it verifies successfully.
  • Test with a mismatched ID number and photo, and confirm the flow escalates rather than passing the check.
  • Test with a blurry photo and confirm the extraction step returns null fields rather than a false match.