AGMA · ClaimStatus and Renewal on WhatsApp · by FCB.ai
Customers, policies, claims, amounts and timings are simulated. Claim status reflects the previous night's DiAM extract. Messages AGMA sends first use WhatsApp templates that Meta approves before go-live.
Mosa reads AGMA's nightly files, runs the WhatsApp conversations, and returns structured outcomes. Nothing in DiAM or Salesforce is changed by Mosa directly.
WhatsApp on their own phone. No app, no password.
AGMA's existing number, kept on the WhatsApp Business App in coexistence.
Messages, approved templates, delivery and read receipts.
HTTPS · signed webhooksVerifies Meta signatures, deduplicates, queues every inbound event.
idempotent · retriesPhone match, second factor (last 4 CIN digits), opt-in register.
no data before 2FAIntent detection, reply buttons, document capture, handover.
LLM + guarded flowsApproved Meta templates per journey, variables filled from the mirror.
Meta-approved onlyMaps DiAM's free-text statuses to a short customer-facing list.
taxonomy agreed at scopingJ-30 renewal cohort, J-23 reminder, status-change triggers, quiet hours.
per-journey rulesControl desk queues: documents to validate, escalations, adviser tasks.
named users · rolesHands the conversation to a named adviser with full context attached.
SLA timersSchema check, row counts, checksum, reject report per file.
fails safe to last good fileRead-only copy of the fields Mosa needs, refreshed nightly.
PostgreSQL · encryptedIntents, documents, consents and outcomes, keyed to AGMA IDs.
CSV · nightlyEvery read, message, consent and handler action, timestamped.
append-onlyClaims system. Exports a nightly status extract.
→ out only · SFTPMaster for policies, renewals and adviser tasks.
→ export · ← return fileThe only data crossing point. Key-based access, IP allow-list.
both directionsAGMA handlers and advisers working in the Mosa console.
HTTPS · named accountsDiAM claims extract and Salesforce renewal cohort written to SFTP.
Schema, counts and checksum checked. Rejects reported to the control desk.
Statuses normalised, new mirror goes live atomically.
Alert if a file is missing. Customers then see the previous date, never a guess.
Inbound questions, renewal campaign, documents, tasks to the desk.
Outcomes written to SFTP for Salesforce import and back-office follow-up.
Draft data contract. Field names are finalised with AGMA's IT team in the scoping workshop.
claims_status_YYYYMMDD.csvDiAM → Mosa · nightly| Field | Type | Use |
|---|---|---|
| claim_id | string | Key, shown to customer |
| policy_id · policyholder_id | string | Links claim to person |
| raw_status · status_date | string · date | Input to normalisation |
| missing_docs | list | Tells customer what to send |
| handler_code · intermediary_code | string | Routing and escalation |
policyholders_YYYYMMDD.csvAGMA → Mosa · nightly| Field | Type | Use |
|---|---|---|
| policyholder_id | string | Key |
| phone_e164 | string | WhatsApp match |
| cin_last4_hash | hash | Second factor, never stored in clear |
| first_name · language | string | Greeting and language |
| whatsapp_consent · exclusion | bool | Who may be contacted |
renewals_J30_YYYYMMDD.csvSalesforce → Mosa · nightly| Field | Type | Use |
|---|---|---|
| policy_id · sf_opportunity_id | string | Keys back to Salesforce |
| expiry_date | date | Cohort and reminders |
| cover_current · premium_current | string · MAD | Like-for-like offer |
| options[cover, premium] | list | Alternatives shown in chat |
| adviser_id | string | Task assignment |
mosa_return_YYYYMMDD.csvMosa → AGMA · nightly| Field | Type | Use |
|---|---|---|
| record_id · journey | string | AGMA key and journey |
| event · intent | enum | renew, change, negotiate, cancel, escalate |
| amount_mad | number | Chosen premium |
| doc_ref · consent_ts | string · timestamp | Documents and consent proof |
| task_id · outcome | string · enum | Adviser follow-up and result |
| Raw DiAM status (examples) | Customer status | Next action owner | |
|---|---|---|---|
ORIGINAL CONSTAT AMIABLE · SINISTRE OUVERT | → | Déclaré | AGMA |
DOSSIER EN CARENCE | → | Documents en attente | Customer |
EXPERTISE EN COURS · MISSION EXPERT | → | Expertise | Expert |
ACCORD REPARATION | → | Réparation autorisée | Garage |
DEMANDE REGLEMENT DIRECTE CLIENT | → | Règlement en cours | AGMA |
REGLEMENT CLIENT DIRECTE KO | → | Règlement bloqué | AGMA, escalated |
DOSSIER CLOS | → | Clôturé | None |
Mosa has no credentials to DiAM or Salesforce. All writes go back as a file AGMA chooses to import.
SFTP with SSH keys and an IP allow-list. Console over HTTPS with named, role-based accounts.
TLS in transit, encryption at rest for the mirror, documents and audit log.
Phone match plus a second factor before any claim or policy detail is shown.
Opt-in and exclusion lists from AGMA, consent timestamps returned nightly.
Append-only log of every read, message and handler action, exportable on request.
A late or invalid file never reaches customers. The last good mirror stays live with its date shown.
Hosting region and retention periods fixed with AGMA for its CNDP declaration.
Example values. Replace them with AGMA's own figures in the meeting and every result recalculates.