Skip to main content
Version: always use the latest available version. This first version does not have access to the HIL (Human in the Loop) service.
This agent lets you run a full identity verification inside WhatsApp via WebView, combining photo liveness, document validation, and facial comparison. The experience opens from a unique link in the chat and uses guided capture with immediate feedback.
For liveness and document check, WebView uses guided capture with on-screen feedback; the user stays in the chat.

Prerequisites

✅ Checklist to start without blockers

  • You must have a verified WhatsApp account.
  • You must have the Terms and Conditions PDF (public URL) to configure in the agent. This is mandatory.
  • The user must be able to take photos from the chat (camera permissions enabled on the device).
  • Location permissions are also requested so data can be collected for better audit and traceability of the biometric process.

How does it work?

In under one minute, the user completes these steps:
1

Access via a unique link

The user receives a unique WhatsApp link to start the session. The link contains a non-reusable session id and the associated flow information.
2

Take a photo

The user captures a live photo from the camera, with visual guides for a correct shot.
3

Capture their ID document

Front and back images of the document are requested, with visual assistance to validate validity and authenticity.
4

Automatic facial comparison

The system compares the photo to the face extracted from the document and computes the similarity level. This version does not yet include facematch against government entities.

Connect from Marketplace

1

Open the platform

Go to apps.jelou.ai. On the home screen you will see Brain Studio and Connect. In Brain Studio, select Marketplace.
2

Connect the integration

Search for KYC and click Connect. If your organization is on the Free plan, you will see the CTA to upgrade to Builder (KYC is only available from the Builder plan onward). If you see Connect and click it, the Brain work canvas will open.
3

Initial configuration

  • After dragging the integration to the canvas and clicking, select the native tool you want:
    • Conversational → Validation with video
    • WebView → Validation with photo (WebView)
    • Flows → Validation with photo (Flows)
  • The version is shown by default at the latest available.
4

Configure outputs

This agent has 1 success output and 3 error outputs. Each can route to:
  • Text input with a custom message.
  • Connect, only if you have this module.
5

Run tests

With the configuration you just set, run tests with the Test button.
In this agent the terms and conditions link lives inside WebView in the UI. You must integrate the public link for the applicable terms and conditions.

Configuration

Success

Confirms that biometric verification succeeded.Variable: approvedDescription: Biometrics approvedResponse structure (JSON):
{
  "document_response": {
    "document_check": {
      "result": "",
      "verified_fields": { "...": "Main document data" },
      "secondary_fields": { "...": "Secondary document data" },
      "details": { "...": "Document type details" },
      "status_fields": { "...": "Validation status" },
      "image_quality_details": { "...": "Image quality details" },
      "images_extracted": { "...": "Images extracted from the document" },
      "gov_entity_fields": { "document_number": "ID document number" }
    },
    "document_image_front_url": "Front document image URL",
    "document_image_back_url": "Back document image URL",
    "document_face_image_url": "Face image extracted from document URL"
  },
  "liveness_response": {
    "result": "true",
    "url_selfie_image": "URL of the photo used for liveness"
  },
  "facematch_response": {
    "facematch_result": "approved",
    "facematch_confidence": "Match percentage (0-100)"
  },
  "reporte_de_biometria": {
    "report": "Biometric report URL (web)",
    "report_pdf": "Biometric report URL (PDF)"
  },
  "device_info": {
    "userAgent": "User agent string",
    "browser": "Browser",
    "operatingSystem": "Operating system",
    "platform": "Device platform",
    "language": "Language",
    "timezone": "Timezone",
    "screenResolution": "Screen resolution",
    "colorDepth": "Color depth in bits",
    "timestamp": "Device timestamp",
    "ipAddress": "IP address",
    "location": {
      "latitude": "Latitude (if the user grants permission)",
      "longitude": "Longitude (if the user grants permission)"
    },
    "deviceId": "Unique device id",
    "deviceName": "Device name"
  },
  "gov_entity_data": {
    "...": "Government entity data for the country (varies by country)"
  }
}
Important fields:
  • document_response: ID document information
  • liveness_response: Photo used for liveness
  • facematch_response: Facial comparison result
  • reporte_de_biometria: Report URLs (web and PDF)
  • device_info: Device and location data (audit and traceability)
  • gov_entity_data: Government entity data (if applicable)
JSON response variable definitions:
  • document_response: document_check (result, verified_fields, secondary_fields, details, status_fields, image_quality_details, images_extracted, gov_entity_fields), document_image_front_url, document_image_back_url, document_face_image_url
  • liveness_response: result, url_selfie_image
  • facematch_response: facematch_result (approved/decline), facematch_confidence
  • reporte_de_biometria: report, report_pdf
  • device_info: userAgent, browser, operatingSystem, platform, language, timezone, screenResolution, colorDepth, timestamp, ipAddress, location (latitude, longitude; only if location permission), deviceId, deviceName
  • gov_entity_data: government entity data for the country (fields vary by country)

Errors

The user left the process before completing it.Variable: incompleteDescription: Process abandoned
Biometric verification failed or was rejected.Variable: rejectDescription: Biometrics rejected
Error while running the biometric process.Variable: errorDescription: Process error

Report

By default a report is generated with the following fields:
FieldDescription
Biometric codeUnique process id
Date and timeVerification timestamp
Biometric resultApproved / Not approved
ID numberUser document
ID typeDocument type
First namesUser first names
Last namesUser last names
MobilePhone
PhotoSelfie URL
Liveness resultApproved / Not approved
Front document photoURL
Back document photoURL
Document check resultApproved / Not approved
Face on document photoURL
Facematch resultMatch percentage
Biometric reportReport URL
Failure descriptionError detail
NotesAdditional notes
User agentBrowser user agent string
BrowserBrowser (e.g. Chrome)
Operating SystemDevice OS
PlatformPlatform (e.g. Linux aarch64)
LanguageConfigured language (e.g. es-US)
TimezoneTimezone (e.g. America/Guayaquil)
Screen ResolutionScreen resolution (e.g. 376x835)
Color DepthColor depth in bits
Timestamp (device)Device timestamp
IP AddressIP used for verification
LatitudeLocation latitude
LongitudeLocation longitude
Device IDUnique device id
Device NameDevice name (e.g. Linux - Chrome)
The biometric report can be downloaded as PDF for audit or internal backup.
Location in the report: Latitude and longitude depend on permission granted by the user. If the user denies location access or location is disabled on the device, these fields will not appear in the report.

Customization

In WebView, UI customization lets you change:
  • Background color
  • Text color
  • Button color
  • Stepper color
When you set the stepper color, that same color applies to the widgets. Not customizable:
  • Face capture widgets
  • Document capture widgets
This keeps verification quality consistent.
For full details on UI customization, legal terms, and additional security controls, see WebView customization.

FAQ

Photos of the ID document on both sides: front and back.
WebView opens a dedicated link with guided capture; the report includes device data (browser, OS, resolution, timezone, IP, device ID) and location if the user grants permission. You can adjust colors (background, text, buttons, stepper), UI language, and security options described in the customization guide; capture widgets are not editable. Conversational uses video in chat; Flows uses photo inside WhatsApp Flows with its own gallery rules and native UI.
Yes: background, text, button, and stepper colors; UI language (Spanish/English) and, when enabled, a user-facing language selector. Stepper color also applies to widgets. Face and document capture widgets are not customizable.
1 success output (Biometrics approved) and 3 error outputs (Process abandoned, Biometrics rejected, Process error). Each can route to a custom text message or Connect.