# prescriptio_historique

L'historique d'un prospect : tout ce qui s'est passe avec une personne, sur tous les canaux, dans un seul fil (offre payante). LIRE (action "lire", defaut) rend les messages des deux sens, les e-mails envoyes, les rendez-vous, les notes de l'equipe et ce qui attend d'etre envoye, plus un resume : qui a la balle, le prochain rendez-vous, les canaux tenus. ECRIRE : c'est VOUS la passerelle. Prescriptio ne se connecte a aucune messagerie et ne detient aucun jeton : les e-mails recus et les rendez-vous n'existent dans le produit QUE si vous les y deposez. Avec un connecteur Gmail, Outlook ou agenda, lisez le fil du prospect chez la source puis deposez-le avec action "noter_echange" (un appel par message) et "noter_rendez_vous". Fournissez TOUJOURS `reference` (l'identifiant du message ou de l'evenement chez la source) : c'est ce qui rend le depot idempotent, sans quoi rejouer duplique. action "noter" ecrit une note d'equipe, visible sur la fiche. Trouver un prospect_id : prescriptio_linkedin_dm.

État : implémenté ; distribution : historique uniquement ; offre payante : true ; effets : lecture et écriture possibles.

## Entrée MCP

```json
{
  "additionalProperties": false,
  "properties": {
    "action": {
      "description": "lire (defaut) = le fil complet. noter = ecrire une note d'equipe. effacer_note = la retirer. noter_echange = deposer un e-mail ou un message vu dans VOTRE messagerie. noter_rendez_vous = deposer un rendez-vous de VOTRE agenda.",
      "enum": [
        "lire",
        "noter",
        "effacer_note",
        "noter_echange",
        "noter_rendez_vous"
      ],
      "type": "string"
    },
    "canal": {
      "description": "Canal de l'echange depose : email, reseau (messagerie d'un reseau social) ou telephone.",
      "enum": [
        "email",
        "reseau",
        "telephone"
      ],
      "type": "string"
    },
    "date": {
      "description": "Quand l'echange a eu lieu, ou quand le rendez-vous commence. ISO 8601 (2026-09-01T14:30:00Z).",
      "type": "string"
    },
    "fin": {
      "description": "Fin du rendez-vous, ISO 8601. Facultatif.",
      "type": "string"
    },
    "lien": {
      "description": "Lien de visioconference du rendez-vous. Facultatif.",
      "type": "string"
    },
    "note": {
      "description": "Texte de la note (action noter), 4 000 caracteres au plus.",
      "type": "string"
    },
    "note_id": {
      "description": "UUID de la note a effacer (action effacer_note).",
      "type": "string"
    },
    "objet": {
      "description": "Objet de l'e-mail, ou intitule du rendez-vous.",
      "type": "string"
    },
    "prospect_id": {
      "description": "UUID du prospect : son profil partage OU son contact. Les deux sont acceptes (prescriptio_linkedin_dm rend l'un et l'autre).",
      "type": "string"
    },
    "reference": {
      "description": "Identifiant du message ou de l'evenement chez la source (id Gmail, internetMessageId Outlook, id d'evenement de l'agenda). C'est la cle d'idempotence : rejouer un depot avec la meme reference met a jour au lieu de dupliquer. Toujours la fournir quand la source en donne une.",
      "type": "string"
    },
    "sens": {
      "description": "entrant = recu du prospect ; sortant = envoye par vous.",
      "enum": [
        "entrant",
        "sortant"
      ],
      "type": "string"
    },
    "texte": {
      "description": "Corps du message. C'est ce qui manque aux 4 095 e-mails deja en base : eux ne portent que leur objet.",
      "type": "string"
    }
  },
  "required": [
    "prospect_id"
  ],
  "type": "object"
}
```

## Sortie MCP

```json
{
  "properties": {
    "action": {
      "type": "string"
    },
    "download_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "fields": {
      "type": "object"
    },
    "files": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "ok": {
      "type": "boolean"
    },
    "page": {
      "type": [
        "integer",
        "null"
      ]
    },
    "pages_total": {
      "type": [
        "integer",
        "null"
      ]
    },
    "quota": {
      "type": "object"
    },
    "texte": {
      "description": "Contenu textuel (pièce de DCE, PV…).",
      "type": "string"
    }
  },
  "type": "object"
}
```

[Contrats externes et limites](/docs/reference/concepts.md).
