EMAIL_CAMPAIGNS_ENABLED, un ledger inmutable de autorización de envío, un
dispatcher de Nylas). La superficie de MCP sólo expone el ciclo de vida de
draft, preview y preflight. No hay ninguna tool de envío o activación en
esta superficie — autorizar y enviar una secuencia es una decisión de una
sola sesión humana tomada en el dashboard (authorizeStep / activate),
nunca alcanzable desde tools/call.
Tools
Lo que sequence_check realmente verifica
sequence_check está construido sobre los datos reales de EmailCampaignsService
— no es una ficción de spec. Bloquea cuando: no hay un mailbox de sender
conectado/listo, no hay recipients, todos los recipients están suprimidos
(unsubscribe global), o no queda ningún mensaje pendiente por enviar. Advierte
sobre: tokens {{personalization}} sin resolver y audiencias parcialmente
suprimidas.
No implementado, y no reclamado. Dos checks que a veces se asumen de un
preflight de secuencias no existen hoy en ninguna parte de
EmailCampaignsService, y sequence_check no reclama correrlos:
- Verificación de SPF/DKIM del dominio.
- Un check de
daily_limitcontra el tamaño de la audiencia (EmailCampaignno tiene ningún campodaily_limit).
ready:true como prueba de que alguno de los dos fue
verificado.
Lo que sequence_create_draft no hace
El contrato realCreateCampaignDto toma contactos explícitos — un nombre,
una company y una dirección de email literal — no una referencia de audiencia
tipo record_ids[]/search_id de CRM. La tool de MCP está conectada a ese
contrato real en lugar de inventar un resolver: hoy no hay ningún camino del
lado del servidor que convierta un id de record de CRM en una dirección sin
exponerla primero al caller (Empresas y personas deliberadamente nunca
devuelve una coordenada a través de MCP — ver MCP: Criterio y
enrichment). Pasa la dirección que ya tienes (por ejemplo,
desde un people_reveal aceptado).
De la misma forma, daily_limit y un default de dedup skip_if_in_sequence
no son campos del schema — EmailCampaignsService siempre crea la misma
plantilla de tres steps (introducción / seguimiento / cierre), editable
después con sequence_update_draft.
Editar un draft que ya tiene una autorización pendiente
sequence_update_draft todavía no puede calcular ni reportar un mismatch de
fingerprint exacto como lo hace internamente el flujo de autorización del
dashboard. Lo que hace hoy: si la secuencia tiene algún send_authorization
sin ejecutar, la respuesta lleva un warning que nombra el conteo, para que
el caller vuelva a correr sequence_check y reautorice en vez de confiar en
una aprobación desactualizada.
Relacionado
- MCP: CRM (Prospectos) — el mismo sustrato de Collections/Records del que suelen venir los contactos de una secuencia.
- MCP y OAuth — setup, autenticación y scopes.
