Skip to main content
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.

How to connect the integration?

How to connect the Biometrics integration

1

Open the platform

Use the Agent to create a biometrics flow, or select the Identity validation template. To start a flow from scratch, click Brain Studio in the sidebar.
2

Select Biometrics

In the toolbar you will see the Biometrics option. Click Connect.
3

Connect the integration

Once connected, you will see the Biometrics node, where you can configure retries, experience, and additional validations.
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.

Configuration

Success

Confirms that biometric verification succeeded.Variable: approvedDescription: Biometrics approvedResponse structure (JSON):
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.
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.

How to customize the experience?

When you click the Biometrics node on the canvas, a side panel opens with three configuration tabs.
Configure the number of retries allowed per stage of the biometric process.Variable: Maximum liveness attemptsDescription: Defines how many times the user can retry the facial capture before the process fails.Input: 1, 2, or 3
Variable: Maximum document verification attemptsDescription: Defines how many times the user can retry the document capture.Input: 1, 2, or 3
Customize the appearance of the WebView the end user will see. Use the Preview button to view the mockup of each screen before publishing.Variable: ColorsDescription: Use Jelou colors (default) or define custom colors for buttons, steppers, spinners, background, and text.Input: Color code in HEX format (e.g. #1E7A4C)
Variable: Experience languageDescription: Defines the default UI language the user sees when the process starts.Input: Spanish, English, or Portuguese
Variable: Language toggleDescription: A button is enabled in the user interface that lets the user change the language.Input: Enabled / Disabled.
Define the minimum validation levels the user must pass for the process to be considered successful.During the biometric process, clients or users can make certain configurations that affect the performance of the biometric process — that is, the approval and rejection rate.

Document verification

Controls how strict the ID document analysis is. How critical does this validation need to be? Choose from three levels:
Validates the document’s baseline controls:
  • Document type and origin: identifies the document type and the issuing country or entity, setting the context for the rest of the validations.
  • Expiry date: checks that the document is not expired. If the field is unreadable (low resolution, glare), the case may go to manual review instead of a direct rejection.
  • Physical security elements: validates holograms, background patterns, and protected zones — a barrier against high-resolution prints or photocopies.
The document type and origin and expiry date variables cannot be disabled under any selected level.
Includes everything in the Standard level, plus:
  • Overall document result: full forensic analysis — visual coherence, consistency across zones, and tampering or recapture patterns. It can reject the document on its own.
  • Automatic reading zone: reads and validates the document’s MRZ or barcode zone, when the document type has one.
  • Document data consistency: checks the consistency of the data extracted across the document’s different zones.
  • Captured photo quality: assesses sharpness, lighting, and angle of the capture as a context signal, not an authenticity signal.
In populations with a high share of old or worn documents, this level may increase the rate of cases sent to manual review (HIL). Assess the typical document quality of your user base before enabling it.
Lets you freely combine any of the document parameters. This configuration is applied only by a person assigned by the Enterprise client and requires prior coordination with Jelou before it can be enabled.
The document type and origin and expiry date variables cannot be disabled under any selected level.
Steps to disable the Physical security elements parameterThis toggle checks for the presence of holograms, chips, barcodes, etc. If your client asks to lower it, follow these steps:
  1. Request it from Jelou: send the email address of the person who needs the deactivation and ask for the external_client_biometry role to be assigned to your company.
  2. With the role enabled, the client logs into Brain and disables the validation directly.
  3. Disabling it drops the document level to low and triggers the consent modal: the client must type “I know and accept the risks” to confirm. That acceptance is logged for internal audit.

Facial comparison

Variable: Facial comparison (facematch)Description: Defines the minimum similarity percentage accepted between the liveness selfie and the face extracted from the document.Input: Low (65%), Standard (80%), or Strict (90%). The threshold is 100% configurable per company; the default value is 70%.
A higher facematch threshold reduces impersonation risk but may increase false rejection of legitimate users. Adjust it to the risk level your operation can accept.

Government validation

Variable: Enable government validationDescription: This feature has an additional cost. It validates the data extracted via OCR against the corresponding government source. When you enable it, you must select the country where you need the government validation.Input: Enabled / Disabled + country selection

Recapture validation

Variable: Enable recapture validationDescription: For an extra layer of security, you can enable the recapture agent, powered by a large language model (LLM). This agent analyzes the document photo to rule out that it was captured from a screen.Input: Enabled / Disabled
Enabling this feature makes document analysis more rigorous, which can: increase the total time of the biometric process, increase upload time, and lower the approval rate when documents show a lot of glare or flash reflections caused by indoor lighting.

Terms and conditions URL

Variable: Terms and conditions URLDescription: The user must accept the terms on the initial screen before starting the process.Input: Public URL (the link must be publicly accessible)
This configuration is global for your company: any changes will apply to all flows using WebView biometrics.

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.
It’s common for clients in testing to report too many rejections in WebView. In most cases, the cause is a document analysis level that’s too strict for the country. Check the Validations section and adjust the document level based on the recommended configuration by country.
During the document verification stage, the system identifies the document type (country, issue year) and compares it against a template. If the document matches and shows no signs of tampering, it’s approved, extracting the data via OCR — including signature, ghost photo, portrait, chip (if the document has this security element), etc. If the covered element doesn’t hide relevant information, the document can be approved; but if government registry validation is enabled and the data is incorrect, the biometric process will be rejected.