{
  "company": {
    "name": "Mod'Lo Demo Sales",
    "owner": "Sales Team",
    "defaultPipelineId": "pip1",
    "currency": "EUR"
  },
  "users": [
    {
      "id": "u1",
      "name": "Élise Marchand",
      "email": "elise@modlo.fr",
      "role": "admin",
      "color": "#0ea5e9",
      "status": "online",
      "avatar": "EM"
    },
    {
      "id": "u2",
      "name": "Nathan Boucher",
      "email": "nathan@modlo.fr",
      "role": "manager",
      "color": "#f97316",
      "status": "online",
      "avatar": "NB"
    },
    {
      "id": "u3",
      "name": "Camille Leroy",
      "email": "camille@modlo.fr",
      "role": "owner",
      "color": "#ec4899",
      "status": "away",
      "avatar": "CL"
    },
    {
      "id": "u4",
      "name": "Yanis Bertrand",
      "email": "yanis@modlo.fr",
      "role": "owner",
      "color": "#10b981",
      "status": "online",
      "avatar": "YB"
    },
    {
      "id": "u5",
      "name": "Hélène Dubois",
      "email": "helene@modlo.fr",
      "role": "owner",
      "color": "#8b5cf6",
      "status": "offline",
      "avatar": "HD"
    }
  ],
  "teams": [
    {
      "id": "tm1",
      "name": "Équipe Inbound",
      "managerId": "u2",
      "memberIds": [
        "u3",
        "u4"
      ]
    },
    {
      "id": "tm2",
      "name": "Équipe Enterprise",
      "managerId": "u2",
      "memberIds": [
        "u5"
      ]
    }
  ],
  "pipelines": [
    {
      "id": "pip1",
      "name": "Sales Pipeline",
      "stages": [
        {
          "id": "st1",
          "key": "new",
          "label": "Nouveau",
          "color": "#94a3b8",
          "probability": 5
        },
        {
          "id": "st2",
          "key": "qualified",
          "label": "Qualifié",
          "color": "#0ea5e9",
          "probability": 20
        },
        {
          "id": "st3",
          "key": "meeting",
          "label": "RDV planifié",
          "color": "#8b5cf6",
          "probability": 40
        },
        {
          "id": "st4",
          "key": "proposal",
          "label": "Proposition",
          "color": "#f97316",
          "probability": 65
        },
        {
          "id": "st5",
          "key": "negotiation",
          "label": "Négociation",
          "color": "#f43f5e",
          "probability": 80
        },
        {
          "id": "st6",
          "key": "won",
          "label": "Gagné",
          "color": "#10b981",
          "probability": 100
        },
        {
          "id": "st7",
          "key": "lost",
          "label": "Perdu",
          "color": "#57534e",
          "probability": 0
        }
      ]
    }
  ],
  "leads": [
    {
      "id": "l1",
      "name": "Camille Roux",
      "company": "Studio Vermeil",
      "email": "camille@vermeil.fr",
      "phone": "+33 6 12 34 56 78",
      "title": "CEO",
      "size": 12,
      "source": "LinkedIn",
      "tags": [
        "inbound",
        "creative"
      ],
      "createdAt": "2026-04-20",
      "status": "qualified",
      "ownerId": "u3",
      "interactions": [
        {
          "id": "i1",
          "at": "2026-05-10",
          "type": "email_open",
          "text": "Email 'Pricing' ouvert 3 fois",
          "userId": "u3"
        },
        {
          "id": "i2",
          "at": "2026-05-12",
          "type": "reply",
          "text": "On peut planifier une démo la semaine prochaine ?",
          "userId": "u3"
        },
        {
          "id": "i3",
          "at": "2026-05-14",
          "type": "page_view",
          "text": "Visite page pricing pendant 4 min",
          "userId": "u3"
        }
      ]
    },
    {
      "id": "l2",
      "name": "Marc Lefèvre",
      "company": "Cabinet Rambert",
      "email": "m@rambert.fr",
      "phone": "+33 1 44 55 66 77",
      "title": "Associé",
      "size": 8,
      "source": "Referral",
      "tags": [
        "legal"
      ],
      "createdAt": "2026-05-02",
      "status": "new",
      "ownerId": "u4",
      "interactions": [
        {
          "id": "i4",
          "at": "2026-05-09",
          "type": "email_open",
          "text": "Email 'Bienvenue' ouvert 1 fois",
          "userId": "u4"
        }
      ]
    },
    {
      "id": "l3",
      "name": "Anaïs Périer",
      "company": "Boréal Formation",
      "email": "anais@boreal.fr",
      "phone": "+33 6 11 22 33 44",
      "title": "Directrice",
      "size": 25,
      "source": "Webinar",
      "tags": [
        "enterprise"
      ],
      "createdAt": "2026-04-15",
      "status": "qualified",
      "ownerId": "u5",
      "interactions": [
        {
          "id": "i5",
          "at": "2026-05-05",
          "type": "demo",
          "text": "Démo réalisée — feedback positif",
          "userId": "u5",
          "durationMin": 35
        },
        {
          "id": "i6",
          "at": "2026-05-11",
          "type": "reply",
          "text": "Quel est votre processus de contractualisation ?",
          "userId": "u5"
        },
        {
          "id": "i7",
          "at": "2026-05-14",
          "type": "page_view",
          "text": "Visite page CGU + pricing entreprise",
          "userId": "u5"
        }
      ]
    },
    {
      "id": "l4",
      "name": "Thomas Garnier",
      "company": "Pixel Hub",
      "email": "tg@pixel.fr",
      "phone": "+33 6 99 88 77 66",
      "title": "CTO",
      "size": 18,
      "source": "Cold outbound",
      "tags": [
        "tech"
      ],
      "createdAt": "2026-05-05",
      "status": "new",
      "ownerId": "u3",
      "interactions": []
    },
    {
      "id": "l5",
      "name": "Sophie Yann",
      "company": "Atlas Marketing",
      "email": "sophie@atlas.fr",
      "phone": "+33 6 55 44 33 22",
      "title": "Head of Growth",
      "size": 30,
      "source": "Inbound",
      "tags": [
        "marketing"
      ],
      "createdAt": "2026-04-28",
      "status": "engaged",
      "ownerId": "u4",
      "interactions": [
        {
          "id": "i8",
          "at": "2026-05-08",
          "type": "email_open",
          "text": "Email 'Cas d'usage' ouvert 2 fois",
          "userId": "u4"
        },
        {
          "id": "i9",
          "at": "2026-05-13",
          "type": "reply",
          "text": "Pas le bon timing pour nous, désolée",
          "userId": "u4"
        }
      ]
    },
    {
      "id": "l6",
      "name": "Léo Marchetti",
      "company": "Tribu Web",
      "email": "leo@tribu.fr",
      "phone": "+33 6 22 11 00 99",
      "title": "CEO",
      "size": 6,
      "source": "LinkedIn",
      "tags": [
        "smb"
      ],
      "createdAt": "2026-05-08",
      "status": "new",
      "ownerId": "u3",
      "interactions": [
        {
          "id": "i10",
          "at": "2026-05-10",
          "type": "page_view",
          "text": "Visite page tarifs 2 min",
          "userId": "u3"
        }
      ]
    },
    {
      "id": "l7",
      "name": "Mehdi Rahmani",
      "company": "GreenLogix",
      "email": "mr@greenlogix.fr",
      "phone": "+33 1 78 56 34 12",
      "title": "DAF",
      "size": 50,
      "source": "Inbound",
      "tags": [
        "enterprise",
        "finance"
      ],
      "createdAt": "2026-04-10",
      "status": "qualified",
      "ownerId": "u5",
      "interactions": [
        {
          "id": "i11",
          "at": "2026-05-12",
          "type": "reply",
          "text": "Pouvez-vous m'envoyer un contrat type ?",
          "userId": "u5"
        },
        {
          "id": "i12",
          "at": "2026-05-14",
          "type": "demo",
          "text": "Démo équipe finance",
          "userId": "u5",
          "durationMin": 42
        }
      ]
    },
    {
      "id": "l8",
      "name": "Inès Khouri",
      "company": "Solstice Retail",
      "email": "ines@solstice.fr",
      "phone": "+33 6 44 55 66 77",
      "title": "Head of Sales",
      "size": 45,
      "source": "Event",
      "tags": [
        "retail"
      ],
      "createdAt": "2026-05-15",
      "status": "engaged",
      "ownerId": "u4",
      "interactions": [
        {
          "id": "i13",
          "at": "2026-05-18",
          "type": "meeting",
          "text": "Visio découverte 30 min",
          "userId": "u4",
          "durationMin": 30
        },
        {
          "id": "i14",
          "at": "2026-05-20",
          "type": "email_open",
          "text": "Email proposition ouvert 4 fois",
          "userId": "u4"
        }
      ]
    },
    {
      "id": "l9",
      "name": "Romain Vidal",
      "company": "Vidal & Cie",
      "email": "romain@vidal.fr",
      "phone": "+33 6 33 22 11 88",
      "title": "Fondateur",
      "size": 4,
      "source": "Referral",
      "tags": [
        "smb"
      ],
      "createdAt": "2026-05-19",
      "status": "nurturing",
      "ownerId": "u3",
      "interactions": [
        {
          "id": "i15",
          "at": "2026-05-21",
          "type": "email_open",
          "text": "Newsletter ouverte",
          "userId": "u3"
        }
      ]
    }
  ],
  "deals": [
    {
      "id": "d1",
      "leadId": "l1",
      "pipelineId": "pip1",
      "stageId": "st4",
      "name": "Studio Vermeil — Annual",
      "amount": 18000,
      "currency": "EUR",
      "closeDate": "2026-06-15",
      "ownerId": "u3",
      "createdAt": "2026-04-25",
      "updatedAt": "2026-05-14"
    },
    {
      "id": "d2",
      "leadId": "l3",
      "pipelineId": "pip1",
      "stageId": "st5",
      "name": "Boréal Formation — 25 seats",
      "amount": 32000,
      "currency": "EUR",
      "closeDate": "2026-06-10",
      "ownerId": "u5",
      "createdAt": "2026-04-20",
      "updatedAt": "2026-05-14"
    },
    {
      "id": "d3",
      "leadId": "l7",
      "pipelineId": "pip1",
      "stageId": "st5",
      "name": "GreenLogix — Enterprise",
      "amount": 64000,
      "currency": "EUR",
      "closeDate": "2026-06-30",
      "ownerId": "u5",
      "createdAt": "2026-04-15",
      "updatedAt": "2026-05-14"
    },
    {
      "id": "d4",
      "leadId": "l8",
      "pipelineId": "pip1",
      "stageId": "st3",
      "name": "Solstice Retail — Pilot",
      "amount": 9000,
      "currency": "EUR",
      "closeDate": "2026-06-25",
      "ownerId": "u4",
      "createdAt": "2026-05-18",
      "updatedAt": "2026-05-20"
    },
    {
      "id": "d5",
      "leadId": "l2",
      "pipelineId": "pip1",
      "stageId": "st2",
      "name": "Cabinet Rambert — Sales 5",
      "amount": 7500,
      "currency": "EUR",
      "closeDate": "2026-07-05",
      "ownerId": "u4",
      "createdAt": "2026-05-04",
      "updatedAt": "2026-05-10"
    },
    {
      "id": "d6",
      "leadId": "l4",
      "pipelineId": "pip1",
      "stageId": "st1",
      "name": "Pixel Hub — Discovery",
      "amount": 12000,
      "currency": "EUR",
      "closeDate": "2026-07-12",
      "ownerId": "u3",
      "createdAt": "2026-05-06",
      "updatedAt": "2026-05-06"
    },
    {
      "id": "d7",
      "leadId": "l5",
      "pipelineId": "pip1",
      "stageId": "st7",
      "name": "Atlas Marketing — Lost",
      "amount": 24000,
      "currency": "EUR",
      "closeDate": "2026-05-30",
      "ownerId": "u4",
      "createdAt": "2026-04-30",
      "updatedAt": "2026-05-13",
      "lostReason": "Timing — repoussé à Q4"
    },
    {
      "id": "d8",
      "leadId": "l6",
      "pipelineId": "pip1",
      "stageId": "st2",
      "name": "Tribu Web — Starter",
      "amount": 4800,
      "currency": "EUR",
      "closeDate": "2026-06-20",
      "ownerId": "u3",
      "createdAt": "2026-05-09",
      "updatedAt": "2026-05-10"
    },
    {
      "id": "d9",
      "leadId": "l9",
      "pipelineId": "pip1",
      "stageId": "st6",
      "name": "Vidal & Cie — Solo",
      "amount": 1800,
      "currency": "EUR",
      "closeDate": "2026-05-22",
      "ownerId": "u3",
      "createdAt": "2026-05-19",
      "updatedAt": "2026-05-22"
    }
  ],
  "tasks": [
    {
      "id": "tk1",
      "title": "Appeler Camille Roux — pricing",
      "due": "2026-05-25",
      "done": false,
      "ownerId": "u3",
      "leadId": "l1",
      "priority": "high",
      "kind": "call"
    },
    {
      "id": "tk2",
      "title": "Envoyer contrat type à Mehdi Rahmani",
      "due": "2026-05-25",
      "done": false,
      "ownerId": "u5",
      "leadId": "l7",
      "dealId": "d3",
      "priority": "high",
      "kind": "email"
    },
    {
      "id": "tk3",
      "title": "Préparer démo finance — GreenLogix",
      "due": "2026-05-26",
      "done": false,
      "ownerId": "u5",
      "leadId": "l7",
      "dealId": "d3",
      "priority": "med",
      "kind": "meeting"
    },
    {
      "id": "tk4",
      "title": "Relance J+7 — Marc Lefèvre",
      "due": "2026-05-27",
      "done": false,
      "ownerId": "u4",
      "leadId": "l2",
      "priority": "med",
      "kind": "email"
    },
    {
      "id": "tk5",
      "title": "Qualifier Pixel Hub",
      "due": "2026-05-26",
      "done": false,
      "ownerId": "u3",
      "leadId": "l4",
      "priority": "low",
      "kind": "call"
    },
    {
      "id": "tk6",
      "title": "Closing call — Boréal Formation",
      "due": "2026-05-28",
      "done": false,
      "ownerId": "u5",
      "leadId": "l3",
      "dealId": "d2",
      "priority": "high",
      "kind": "call"
    },
    {
      "id": "tk7",
      "title": "Visio découverte — Solstice Retail",
      "due": "2026-05-25",
      "done": true,
      "ownerId": "u4",
      "leadId": "l8",
      "dealId": "d4",
      "priority": "med",
      "kind": "meeting"
    }
  ],
  "conversations": [
    {
      "id": "c1",
      "leadId": "l1",
      "ownerId": "u3",
      "channel": "email",
      "subject": "Démo LeadPulse — Studio Vermeil",
      "updatedAt": "2026-05-14T10:24:00Z",
      "unread": 1,
      "messages": [
        {
          "id": "m1",
          "at": "2026-05-10T09:12:00Z",
          "authorId": "u3",
          "fromName": "Camille Leroy",
          "direction": "out",
          "channel": "email",
          "subject": "Démo LeadPulse — Studio Vermeil",
          "body": "Bonjour Camille, voici un créneau pour une démo de 25 min cette semaine. Disponible mercredi 16h ?",
          "read": true
        },
        {
          "id": "m2",
          "at": "2026-05-12T14:02:00Z",
          "authorId": "u3",
          "fromName": "Camille Roux",
          "direction": "in",
          "channel": "email",
          "body": "Parfait pour mercredi 16h. On peut planifier la démo ? J'aimerais voir la partie pricing.",
          "read": true
        },
        {
          "id": "m3",
          "at": "2026-05-14T10:24:00Z",
          "authorId": "u3",
          "fromName": "Camille Roux",
          "direction": "in",
          "channel": "email",
          "body": "J'ai relu votre page pricing — quelques questions avant la démo. Vos tarifs incluent-ils l'API ?",
          "read": false
        }
      ]
    },
    {
      "id": "c2",
      "leadId": "l7",
      "ownerId": "u5",
      "channel": "chat",
      "subject": "Chat live — GreenLogix",
      "updatedAt": "2026-05-14T16:48:00Z",
      "unread": 2,
      "messages": [
        {
          "id": "m4",
          "at": "2026-05-14T16:45:00Z",
          "authorId": "u5",
          "fromName": "Mehdi Rahmani",
          "direction": "in",
          "channel": "chat",
          "body": "Salut, on peut signer cette semaine si vous m'envoyez un contrat type d'ici demain.",
          "read": false
        },
        {
          "id": "m5",
          "at": "2026-05-14T16:48:00Z",
          "authorId": "u5",
          "fromName": "Mehdi Rahmani",
          "direction": "in",
          "channel": "chat",
          "body": "Notre DG demande aussi un récap des conditions de résiliation.",
          "read": false
        }
      ]
    },
    {
      "id": "c3",
      "leadId": "l8",
      "ownerId": "u4",
      "channel": "email",
      "subject": "Proposition Solstice Retail — Pilote 30 jours",
      "updatedAt": "2026-05-20T11:10:00Z",
      "unread": 0,
      "messages": [
        {
          "id": "m6",
          "at": "2026-05-18T17:00:00Z",
          "authorId": "u4",
          "fromName": "Yanis Bertrand",
          "direction": "out",
          "channel": "email",
          "subject": "Proposition Solstice Retail — Pilote 30 jours",
          "body": "Bonjour Inès, suite à notre visio, voici la proposition de pilote pour 30 jours.",
          "read": true
        },
        {
          "id": "m7",
          "at": "2026-05-20T11:10:00Z",
          "authorId": "u4",
          "fromName": "Inès Khouri",
          "direction": "in",
          "channel": "email",
          "body": "Bien reçu, on revient vers vous d'ici 48h après revue interne.",
          "read": true
        }
      ]
    },
    {
      "id": "c4",
      "leadId": "l3",
      "ownerId": "u5",
      "channel": "email",
      "subject": "Contractualisation — Boréal Formation",
      "updatedAt": "2026-05-11T09:00:00Z",
      "unread": 0,
      "messages": [
        {
          "id": "m8",
          "at": "2026-05-11T09:00:00Z",
          "authorId": "u5",
          "fromName": "Anaïs Périer",
          "direction": "in",
          "channel": "email",
          "body": "Quel est votre processus de contractualisation ?",
          "read": true
        }
      ]
    }
  ],
  "workflows": [
    {
      "id": "w1",
      "name": "Lead chaud → notif owner",
      "description": "Score Buy Signal ≥ 75 ⇒ notification + tâche d'appel",
      "active": true,
      "trigger": {
        "kind": "score_above",
        "value": 75
      },
      "actions": [
        {
          "kind": "notify_owner",
          "message": "🔥 {lead} est chaud — à appeler aujourd'hui"
        },
        {
          "kind": "create_task",
          "title": "Appeler {lead} (signal chaud)",
          "dueInDays": 1,
          "assignTo": "owner"
        }
      ],
      "runsCount": 12,
      "lastRunAt": "2026-05-23T08:14:00Z"
    },
    {
      "id": "w2",
      "name": "Nouveau lead → bienvenue",
      "description": "Tout nouveau lead reçoit l'email de bienvenue + enrôlement séquence",
      "active": true,
      "trigger": {
        "kind": "lead_created"
      },
      "actions": [
        {
          "kind": "send_email",
          "templateId": "tpl1"
        },
        {
          "kind": "enroll_sequence",
          "sequenceId": "seq1"
        }
      ],
      "runsCount": 47,
      "lastRunAt": "2026-05-22T15:00:00Z"
    },
    {
      "id": "w3",
      "name": "Stage = Proposition → relances",
      "description": "Lance la séquence 'Proposition envoyée' (J+2 / J+5 / J+10)",
      "active": true,
      "trigger": {
        "kind": "stage_changed",
        "toStage": "st4"
      },
      "actions": [
        {
          "kind": "enroll_sequence",
          "sequenceId": "seq2"
        },
        {
          "kind": "create_task",
          "title": "Relance J+2 — {lead}",
          "dueInDays": 2,
          "assignTo": "owner"
        }
      ],
      "runsCount": 8,
      "lastRunAt": "2026-05-21T11:24:00Z"
    },
    {
      "id": "w4",
      "name": "Aucune activité 14j → réveil",
      "description": "Si pas d'activité depuis 14j, notif + relance soft",
      "active": false,
      "trigger": {
        "kind": "no_activity_days",
        "days": 14
      },
      "actions": [
        {
          "kind": "notify_owner",
          "message": "Réveiller {lead} (silence 14j)"
        }
      ],
      "runsCount": 0
    }
  ],
  "sequences": [
    {
      "id": "seq1",
      "name": "Onboarding bienvenue",
      "description": "4 emails sur 14 jours pour qualifier un nouveau lead",
      "active": true,
      "steps": [
        {
          "id": "s1",
          "order": 1,
          "kind": "email",
          "delayDays": 0,
          "subject": "Bienvenue chez LeadPulse 👋",
          "body": "Bonjour {firstName}, ravi de vous accueillir. Voici les 3 choses à découvrir cette semaine…"
        },
        {
          "id": "s2",
          "order": 2,
          "kind": "email",
          "delayDays": 3,
          "subject": "Cas client — secteur {sector}",
          "body": "Un retour terrain de {customer}…"
        },
        {
          "id": "s3",
          "order": 3,
          "kind": "call",
          "delayDays": 7,
          "body": "Appel de qualification 15 min"
        },
        {
          "id": "s4",
          "order": 4,
          "kind": "email",
          "delayDays": 14,
          "subject": "On planifie une démo ?",
          "body": "Toujours intéressé(e) ? Voici 3 créneaux."
        }
      ]
    },
    {
      "id": "seq2",
      "name": "Proposition envoyée",
      "description": "Relances post-proposition (J+2, J+5, J+10)",
      "active": true,
      "steps": [
        {
          "id": "s5",
          "order": 1,
          "kind": "email",
          "delayDays": 2,
          "subject": "Retour sur la proposition ?",
          "body": "Bonjour {firstName}, des questions sur la proposition ?"
        },
        {
          "id": "s6",
          "order": 2,
          "kind": "call",
          "delayDays": 5,
          "body": "Appel relance proposition"
        },
        {
          "id": "s7",
          "order": 3,
          "kind": "email",
          "delayDays": 10,
          "subject": "Dernière relance — proposition",
          "body": "Souhaitez-vous qu'on reporte ?"
        }
      ]
    },
    {
      "id": "seq3",
      "name": "Cold outbound LinkedIn",
      "description": "Séquence multi-canal pour leads froids",
      "active": false,
      "steps": [
        {
          "id": "s8",
          "order": 1,
          "kind": "linkedin",
          "delayDays": 0,
          "body": "Invitation LinkedIn personnalisée"
        },
        {
          "id": "s9",
          "order": 2,
          "kind": "email",
          "delayDays": 3,
          "subject": "Suite à mon invitation",
          "body": "…"
        }
      ]
    }
  ],
  "sequenceRuns": [
    {
      "id": "sr1",
      "sequenceId": "seq1",
      "leadId": "l4",
      "startedAt": "2026-05-06T10:00:00Z",
      "currentStep": 2,
      "status": "active",
      "opens": 3,
      "clicks": 1,
      "replies": 0
    },
    {
      "id": "sr2",
      "sequenceId": "seq2",
      "leadId": "l1",
      "startedAt": "2026-05-14T12:00:00Z",
      "currentStep": 1,
      "status": "active",
      "opens": 2,
      "clicks": 0,
      "replies": 1
    },
    {
      "id": "sr3",
      "sequenceId": "seq2",
      "leadId": "l7",
      "startedAt": "2026-05-13T09:00:00Z",
      "currentStep": 2,
      "status": "active",
      "opens": 4,
      "clicks": 2,
      "replies": 1
    },
    {
      "id": "sr4",
      "sequenceId": "seq1",
      "leadId": "l9",
      "startedAt": "2026-05-19T15:00:00Z",
      "currentStep": 1,
      "status": "active",
      "opens": 1,
      "clicks": 0,
      "replies": 0
    }
  ],
  "templates": [
    {
      "id": "tpl1",
      "name": "Bienvenue",
      "subject": "Bienvenue {firstName} 👋",
      "body": "Bonjour {firstName}, content de vous accueillir chez LeadPulse !",
      "variables": [
        "firstName"
      ]
    },
    {
      "id": "tpl2",
      "name": "Démo planifiée",
      "subject": "Confirmation démo — {date}",
      "body": "Bonjour {firstName}, votre démo est confirmée pour le {date}. Lien visio : {meetingUrl}",
      "variables": [
        "firstName",
        "date",
        "meetingUrl"
      ]
    },
    {
      "id": "tpl3",
      "name": "Relance proposition",
      "subject": "Suite à notre proposition ?",
      "body": "Bonjour {firstName}, des questions sur la proposition envoyée ?",
      "variables": [
        "firstName"
      ]
    }
  ],
  "meetings": [
    {
      "id": "mt1",
      "leadId": "l3",
      "createdBy": "u5",
      "createdAt": "2026-05-05T14:00:00Z",
      "roomKey": "leadpulse-boreal-demo-x7a",
      "scheduledFor": "2026-05-05T14:30:00Z",
      "status": "ended"
    },
    {
      "id": "mt2",
      "leadId": "l8",
      "createdBy": "u4",
      "createdAt": "2026-05-18T15:30:00Z",
      "roomKey": "leadpulse-solstice-discovery-q9k",
      "scheduledFor": "2026-05-18T16:00:00Z",
      "status": "ended"
    },
    {
      "id": "mt3",
      "leadId": "l1",
      "createdBy": "u3",
      "createdAt": "2026-05-22T10:00:00Z",
      "roomKey": "leadpulse-vermeil-demo-z3p",
      "scheduledFor": "2026-05-25T16:00:00Z",
      "status": "scheduled"
    }
  ],
  "activities": [
    {
      "id": "a1",
      "at": "2026-05-23T08:14:00Z",
      "userId": "u3",
      "kind": "workflow_fired",
      "refType": "workflow",
      "refId": "w1",
      "payload": {
        "workflow": "Lead chaud → notif owner",
        "lead": "l1"
      }
    },
    {
      "id": "a2",
      "at": "2026-05-22T15:00:00Z",
      "userId": "u3",
      "kind": "lead_created",
      "refType": "lead",
      "refId": "l9",
      "payload": {
        "name": "Romain Vidal"
      }
    },
    {
      "id": "a3",
      "at": "2026-05-22T11:24:00Z",
      "userId": "u5",
      "kind": "deal_won",
      "refType": "deal",
      "refId": "d9",
      "payload": {
        "amount": 1800
      }
    },
    {
      "id": "a4",
      "at": "2026-05-20T11:10:00Z",
      "userId": "u4",
      "kind": "email_sent",
      "refType": "lead",
      "refId": "l8",
      "payload": {
        "subject": "Proposition Solstice Retail"
      }
    },
    {
      "id": "a5",
      "at": "2026-05-18T16:00:00Z",
      "userId": "u4",
      "kind": "meeting_started",
      "refType": "lead",
      "refId": "l8",
      "payload": {
        "duration": 30
      }
    },
    {
      "id": "a6",
      "at": "2026-05-14T12:00:00Z",
      "userId": "u3",
      "kind": "sequence_enrolled",
      "refType": "lead",
      "refId": "l1",
      "payload": {
        "sequence": "Proposition envoyée"
      }
    }
  ],
  "notifications": [
    {
      "id": "n1",
      "userId": "u3",
      "at": "2026-05-23T08:14:00Z",
      "read": false,
      "kind": "workflow",
      "text": "🔥 Camille Roux est chaud — à appeler aujourd'hui",
      "link": "/sandbox/leads/l1"
    },
    {
      "id": "n2",
      "userId": "u5",
      "at": "2026-05-22T11:30:00Z",
      "read": false,
      "kind": "deal_won",
      "text": "💰 Deal Vidal & Cie signé (+1 800 €)",
      "link": "/sandbox/deals"
    },
    {
      "id": "n3",
      "userId": "u4",
      "at": "2026-05-22T09:00:00Z",
      "read": true,
      "kind": "task_due",
      "text": "📞 Appel Marc Lefèvre — relance J+7",
      "link": "/sandbox/tasks"
    }
  ]
}