Administrar la libreta de direcciones
Guardar la dirección de una parte y de dónde se obtuvo; el juramento lo sigue haciendo usted en cada envío.
Esta es la receta que el servidor MCP entrega a los asistentes de IA, tal cual. Está en inglés porque los modelos la siguen mejor así; el asistente le responde en su idioma.
Un asistente la lee con docs({uri:"docs://recipes/manage-the-address-book"})
docs://recipes/manage-the-address-book — keep a party's notification address and where it came from
Use when the lawyer gives you a party's email and how it was obtained (a contract clause, the
Cámara de Comercio, the RUT, earlier correspondence) and wants it on file for the next sends.
The address book is NOT a sworn statement and adds no recipient: the lawyer still swears each
address (art. 8 inc. 2 Ley 2213) in the panel on every send.
1. whoami({})
→ orgId
skip if you already hold orgId
2. manage_resource({resource:"cases", action:"getCase", params:{orgId:"<orgId>", caseId:"<case.id>"}})
→ parties[]: party.id, role, name, idNumber
No case.id? docs://recipes/find-a-case-by-radicado. The party is missing? Add it:
manage_resource({resource:"parties", action:"addParty", params:{caseId:"<case.id>", role:"demandado", name:"<name as in the demanda>"}})
→ party.id role is ONE of demandante | demandado | apoderado | otro
3. manage_resource({resource:"parties", action:"partyAddresses", params:{orgId:"<orgId>", caseId:"<case.id>"}})
→ saved addresses: address.id, partyId, email, source, sourceText, evidence or overrideReason
The same address is already saved for that party? Stop: nothing to add.
4. manage_resource({resource:"notifications", action:"checkAddress", params:{orgId:"<orgId>", email:"<email>"}})
→ verdict ok | warn | block, reasons, suggestion
block? It cannot be sent to: tell the lawyer, stop. warn? Show the reasons (a typo suggestion,
a role account like info@) and let the lawyer decide. The check is recorded as diligence.
5. A proof document (the contract page, the Cámara de Comercio record)? Upload it first:
manage_resource({resource:"uploads", action:"requestUpload", params:{kind:"provenance_proof", filename:"<file.pdf>", contentType:"application/pdf", size:<bytes>}})
PUT the bytes to url, then
manage_resource({resource:"uploads", action:"confirmUpload", params:{key:"<key>", kind:"provenance_proof", filename:"<file.pdf>", contentType:"application/pdf"}})
→ document.id
skip if there is no proof document — step 6 then needs overrideReason
6. manage_resource({resource:"parties", action:"savePartyAddress", params:{orgId:"<orgId>", partyId:"<party.id>", email:"<email>", source:"contrato", sourceText:"<where the address came from>", evidenceDocumentIds:["<document.id>"]}})
→ the saved address
source is ONE of comunicaciones_previas | camara_de_comercio | rut | contrato | web_oficial | otro.
No proof document? Send evidenceDocumentIds:[] and overrideReason:"<why there is no proof>" —
exactly one of the two. Add obtainedOn:"<YYYY-MM-DD>" when the lawyer knows the day.
Done when partyAddresses lists the address with its source.
Tips
- Remove a wrong or outdated one (past sends keep their own sworn record):
manage_resource({resource:"parties", action:"removePartyAddress", params:{orgId:"<orgId>", addressId:"<address.id>"}})
- sourceText is the lawyer's own words ("cláusula 12 del contrato de arrendamiento"): quote them,
never write your own.
- The whole book is on https://www.notificado.co/cuenta/libreta.