Referencia de módulos · La órbita · correo
Correo de Efeonce, los módulos que todo correo reutiliza
AXIS no canoniza una plantilla de correo: canoniza el pie, los dos CTA y el bloque de marca. Cada correo compone su propio cuerpo encima, y su propósito decide qué lleva el pie. El correo de entrega de Efeonce Insights es la primera aplicación aprobada, no el molde de los demás: llega a clientes y conserva el pie completo por excepción. Los agentes leen lo mismo en /references/email.json.


- Alcance
- Módulos · sin plantilla
- Tarjeta
- 600 px · 390 px a sangre
- Contrato
- efeonce.email-modules 0.2.0
- Propósitos
- 7 · 1 excepción
- Retirado
- «Suscribirme»
- Aprobado
- 2026-09-29
01
Módulos canónicos, cuerpos de cada correo
El operador lo dejó dicho el 2026-09-29: el correo de Insights es una aplicación. Otros correos pueden partir de una base parecida, pero no es la plantilla única. Lo que queda fijo son los módulos, y en el bloque de marca la palabra del eslogan cambia con la línea de servicio.
Canónico
- El pie
footerBanda oscura en orden fijo: agenda, bloque de marca, burbuja URL y redes, filete, bloque legal, filete, preferencias y baja, motivo y ©. El propósito del correo decide si van la agenda, las redes y la baja. - El CTA principal
cta-primaryUna píldora oscura a todo el ancho del cuerpo, con una nota de alcance debajo. El texto es de cada correo. - El CTA de agenda
cta-agendaLa tarjeta navy con «Agendar una reunión». Abre el pie de la suscripción, del marketing y, por excepción, del correo de Insights; lleva a la agenda con UTM, nunca a un correo. - El bloque de marca
brand-blockEl logo de Efeonce y, debajo, «Empower your {palabra}»: la palabra es la de la línea de servicio que firma.
Aplicación · correo de Insights
- La cabecera con el lockup de Insights, la píldora del mes y el titular.
- El saludo, la nota del responsable de cuenta y «Lo esencial del mes» con la órbita que mide.
- La tarjeta «Para decidir en la reunión», el aviso del enlace personal o la grilla de adjuntos.
Otro correo compone su propio cuerpo y reutiliza el pie y los CTA. Puede partir de una base parecida a la de Insights, pero no queda atado a ella.
Antes Suscribirme Agendar una reuniónRetirado de todo correo: donde el propósito admite un CTA comercial, la acción que se propone es revisar los datos juntos, y eso es una reunión.
02
El propósito decide el pie
Desde el contrato 0.2.0, cada intent declara el purpose del correo. Un correo de servicio no lleva promoción: la agenda, las redes y la baja son sólo de la suscripción y del marketing. Las preferencias de correo se permiten en todo propósito. Espeja la política de presentación de correos de Greenhouse, que sigue en estado Proposed.
| Propósito | Agenda | Redes | Baja | Preferencias |
|---|---|---|---|---|
Acceso y seguridadaccess_security | no | no | no | opcional |
Servicio transaccionaltransactional_service | no | no | no | opcional |
Relación transaccionalrelationship_transactional | no | no | no | opcional |
Transaccional reguladoregulated_transactional | no | no | no | opcional |
Operación internainternal_operational | no | no | no | opcional |
Suscripción opcionaloptional_subscription | permitida | opcional | obligatoria | opcional |
Marketing comercialcommercial_marketing | permitida | obligatoria | obligatoria | opcional |
Fuente: greenhouse-eo:docs/architecture/GREENHOUSE_EMAIL_PRESENTATION_POLICY_DECISION_V1.md (§3 Política exhaustiva por tipo · §4 Unsubscribe es excepción explícita · Perfiles base). Si Greenhouse cambia un perfil al aceptarla, cambia aquí el mismo día.
Excepciones aprobadas
- efeonce-insights-delivery
relationship_transactionalpermite agenda, redes, baja · aprobada por el operador el 2026-09-29. El informe de Insights llega a clientes; el operador aprobó el pie completo del canvas v21 (agenda, redes, preferencias y baja) como excepción explícita.
Una excepción permite, no obliga, y sólo aplica si el intent declara su application con el mismo propósito. Otro correo de servicio no la hereda: su pie no lleva la agenda, las redes ni la baja.
03
El pie, en vivo
Pintado aquí con tablas y estilos en línea, como lo haría un correo. El logo, el eslogan, la burbuja y las redes son los PNG @2x de @efeoncepro/axis-brand-assets; el bloque legal, las preferencias y los CTA son texto vivo. Cada valor sale del manifiesto que resuelve el contrato.
Efeonce Group SpA · RUT 77.357.182-1 Dr. Manuel Barros Borgoño 71, of. 1105, Providencia, Chile Preferencias de correoDejar de recibir estos informes Recibes este correo porque tu organización trabaja con Efeonce. |
Efeonce Group SpA · RUT 77.357.182-1 Dr. Manuel Barros Borgoño 71, of. 1105, Providencia, Chile Preferencias de correoDejar de recibir estos informes Recibes este correo porque tu organización trabaja con Efeonce. |
Correo de Insights. Llega a clientes como relationship_transactional y conserva el pie completo aprobado —agenda, redes, preferencias y baja— por la excepción explícita de su aplicación.
transactional_service, sin agenda, redes ni bajaCorreo de servicio. Otro correo de servicio, sin excepción: su pie no lleva la agenda, las redes ni la baja. Conserva el bloque de marca, la burbuja URL, el bloque legal, las preferencias y el motivo.
En orden
cta-agendabrand-blocklinkshairlinelegalhairlinepreferencesreason
El orden no cambia; las regiones que el propósito no admite simplemente no van. El pie de servicio queda en brand-block · links · hairline · legal · hairline · preferences · reason.
Datos institucionales
- Razón social
- Efeonce Group SpA · RUT 77.357.182-1
- Dirección
- Dr. Manuel Barros Borgoño 71, of. 1105, Providencia, Chile
- Teléfonos
- +56 9 3732 3064 (Chile) · +1 (239) 235-2073 (Estados Unidos)
- Redes, en este orden
- LinkedIn · Instagram · YouTube · Threads
Espejan el SSOT de Greenhouse greenhouse-eo:src/config/efeonce-brand.ts. Si cambian allá, cambian aquí el mismo día.
Contraste medido
| Uso | Tinta sobre fondo | Contraste |
|---|---|---|
| Bloque legal y motivo | #9fb3c8 sobre #001a33 | 8,16:1 |
| Razón social, enlaces de preferencias y bajada de la agenda | #cfe4fa sobre #001a33 | 13,49:1 |
| «Empower your» | #e2e2e2 sobre #001a33 | 13,56:1 |
| Bajada de la agenda sobre la tarjeta navy | #cfe4fa sobre #023c70 | 8,57:1 |
| Texto del botón de agenda | #001a33 sobre #ffffff | 17,56:1 |
| Nota bajo el CTA principal | #6d6777 sobre #ffffff | 5,45:1 |
04
El bloque de marca cambia con la línea
«Empower your {palabra}»: la palabra es la de la línea de servicio que firma el correo, nunca la del producto. El logo y el eslogan son dos PNG separados, apilados con su aire; nunca un solo archivo.

- Eslogan
- Empower your Growth
- Ancho
- 140,80 px · el 64 % del logo de 220 px
- Cuerpo y aire
- 12,15 px de cuerpo, 16,41 px bajo el logo (1,35 × el cuerpo)
- Color de la palabra
- Blanco: el acento de la línea recién llegaría con un logo de 435 px.
- Al 64 % del logo. El eslogan mide el 64 % del ancho del logo; su cuerpo es ese ancho dividido por el ancho en em de la frase con la palabra de la línea.
- A 1,35 × su cuerpo. El aire entre el dibujo del logo y la caja del eslogan.
- El acento, sólo desde 24 px. La palabra toma el acento de la línea sólo si el cuerpo llega a 24 px. Con el logo de 220 px el cuerpo ronda los 12 px: la palabra va siempre en blanco.
- Revenue es un solo archivo. HubSpot y Salesforce comparten la palabra y, en blanco, el mismo PNG byte a byte.
| Línea | Eslogan | Cuerpo | Aire | Palabra | Archivo |
|---|---|---|---|---|---|
Growth Strategy & Measurement growth | Empower your Growth | 12,15 px | 16,41 px | Blanco (acento desde 435 px de logo) | email-slogan-growth-negative |
Creative Services brand | Empower your Brand | 12,91 px | 17,43 px | Blanco (acento desde 409 px de logo) | email-slogan-brand-negative |
Digital Services & Engineering engine | Empower your Engine | 12,50 px | 16,88 px | Blanco (acento desde 423 px de logo) | email-slogan-engine-negative |
Media & Distribution voice | Empower your Voice | 13,23 px | 17,86 px | Blanco (acento desde 400 px de logo) | email-slogan-voice-negative |
RevOps & CRM revenue-hubspot | Empower your Revenue | 11,47 px | 15,48 px | Blanco (acento desde 461 px de logo) | email-slogan-revenue-hubspot-negative |
RevOps & CRM revenue-salesforce | Empower your Revenue | 11,47 px | 15,48 px | Blanco (acento desde 461 px de logo) | email-slogan-revenue-salesforce-negative |
05
Los dos CTA
cta-primary es la píldora oscura del cuerpo; su texto y su nota son del correo. cta-agenda abre el pie de la suscripción, del marketing y, por excepción, del correo de Insights: una fila en escritorio y apilada en celular, con el botón a todo el ancho.
cta-primary
3 capítulos · 17 figuras con su tabla · plan de 5 acciones · listo para presentar |
3 capítulos · 17 figuras · plan de 5 acciones |
cta-agenda
|
|
La agenda nunca es un correo
Lleva a /contacto/ con UTM: utm_source es el producto que envía, utm_medium=email, utm_content=pie y utm_campaign si la aplicación la tiene. El resolver no pisa un parámetro que el enlace ya traiga.
- Insights
https://efeoncepro.com/contacto/?utm_source=efeonce-insights&utm_medium=email&utm_campaign=insights-report&utm_content=pie - AEO Assessment · marketing
https://efeoncepro.com/contacto/?utm_source=aeo-assessment&utm_medium=email&utm_campaign=aeo-nurture&utm_content=pie
Lo que el contrato rechaza
- La agenda como correo
agenda-never-email - La suscripción
cta-subscribe-retired - La agenda en un correo de servicio
cta-agenda-not-allowed - Las redes y la baja en un correo de servicio
footer-socials-not-allowedfooter-unsubscribe-not-allowed - La excepción de Insights con otro propósito
application-purpose-mismatchcta-agenda-not-allowedfooter-socials-not-allowedfooter-unsubscribe-not-allowed
Antes Suscribirme Agendar una reunión
06
Seguro para clientes de correo
Gmail y Outlook no pintan SVG en línea ni garantizan fuentes web. Las reglas salen de efeonceEmail.emailSafe; los adapter checks, del contrato: el resolver no ve el HTML, así que cada adapter los corre sobre su correo.
images· PNG @2x- Todo lo que no es texto va horneado a PNG @2x, con ancho y alto explícitos en el <img> y un texto alternativo útil.
inlineSvg· no- Nada de SVG en línea: Gmail y Outlook lo descartan. En el canvas los íconos y la órbita son SVG sólo para diseñar.
webFontsRequired· no- El correo se lee completo sin fuentes web. La pila de respaldo es Arial, Helvetica, sans-serif.
layout· table- Maquetación con tablas role="presentation"; el flex y el grid del canvas son notación de diseño.
inlineStyles· sí- Los estilos van en línea: muchos clientes ignoran la hoja de estilos.
buttons· bulletproof- Botones a prueba de clientes: el enlace dentro de una celda con color de fondo y el texto vivo, nunca una imagen de botón.
liveText· legal · cta-labels · preferences · reason- Lo que se lee o se pulsa es texto vivo: el bloque legal, las etiquetas de los CTA, las preferencias y el motivo.
maxWidthPx· 600 px- La tarjeta mide 600 px en escritorio, dentro de un marco de 680; en celular, 390 a sangre.
darkMode· ground-declared-on-cell- El fondo oscuro se declara en la celda (bgcolor y estilo) para que el modo oscuro de los clientes no lo altere; ningún texto depende de una imagen para leerse.
Adapter checks
images-png-with-dimensionsCada imagen es un PNG @2x con width y height explícitos: Outlook ignora los tamaños de CSS.no-inline-svg-in-emailNingún SVG en línea: los íconos, la órbita y el bloque de marca van horneados.legal-block-live-textEl bloque legal, las etiquetas de los CTA, las preferencias y el motivo son texto vivo, nunca imagen.bulletproof-buttonsBotones con tabla y la etiqueta en texto (con VML para Outlook), nunca la imagen de un botón.footer-contrastLas tintas del pie cumplen su contraste sobre el fondo oscuro.dark-mode-safeEl fondo oscuro va declarado en la celda (bgcolor y estilo) para que el modo oscuro de los clientes lo respete.
Archivos del paquete (12)

email-logo-negative220 × 52 · PNG 440 × 104
email-slogan-growth-negative141 × 14 · PNG 282 × 28
email-slogan-brand-negative142 × 15 · PNG 284 × 30
email-slogan-engine-negative141 × 15 · PNG 282 × 30
email-slogan-voice-negative141 × 15 · PNG 282 × 30
email-slogan-revenue-hubspot-negative141 × 13 · PNG 282 × 26
email-slogan-revenue-salesforce-negative141 × 13 · PNG 282 × 26
email-social-linkedin-white40 × 40 · PNG 80 × 80
email-social-instagram-white40 × 40 · PNG 80 × 80
email-social-youtube-white40 × 40 · PNG 80 × 80
email-social-threads-white40 × 40 · PNG 80 × 80
url-bubble-baked-dark-email163 × 32 · PNG 326 × 64
07
El correo de Insights es una aplicación
Los tres tableros aprobados, a tamaño nativo. Firman la línea Growth y usan los módulos tal cual; su cabecera, su cuerpo y sus cifras (de ejemplo) son de Insights. No es la plantilla de otros correos. La marca de Insights está en la referencia de Efeonce Insights.
08
La órbita que mide dibuja su camino
Toda medida dibuja además el arco de las 12 a la esfera, debajo de la estela y en su color, al 60 % y con 0,75 × el trazo de la estela. Contrato efeonce.graphic-line-orbit 0.5.0; lo pinta measureSvg de @efeoncepro/axis-graphic-line desde la 0.13.0.
El operador vio que, con sólo la estela corta, un dato se lee como menos de lo que vale: el ojo no sabe hacia dónde avanzó la esfera. El camino recorrido lo resuelve sin volver la órbita un medidor que se llena: el dato sigue siendo la posición de la esfera.
0 % Sin camino: la esfera está en la partida.
100 % El camino es el anillo completo, en el color de la medida.
Con gravedad En la portada del AI Visibility Report, el camino toma el color de la gravedad. Ver la referencia.
- Opacidad y trazo. 60 % y 0,75 × el trazo de la estela (
trajectory.measure.travelledPath). - En los extremos. Al 100 % es el anillo completo (
ring-at-100); en 0 % no hay camino (at-zero). - Sigue sin ser un medidor. El dato es la posición de la esfera, a valor × 360° desde las 12; la estela y la esfera dominan.
- En correo, horneada. El SVG no es confiable en los clientes: la órbita va como PNG @2x por edición, con la cifra y su leyenda completas en el texto alternativo.
09
Componer con agentes
El contrato no pinta: valida el intent y resuelve un manifiesto determinista y seguro para correo. Con un solo issue no hay manifiesto. La misma fuente en datos: /references/email.json. Guía: docs/agent-composition/email-modules.md.
- Contrato
efeonce.email-modules- Versión
- 0.2.0 · candidato
- Manifiesto
axis.email-modules-composition.v1- Paquete
@efeoncepro/axis-ui-contracts
Un intent mínimo
{
"contract": "efeonce.email-modules",
"version": "0.2.0",
"purpose": "relationship_transactional",
"application": "efeonce-insights-delivery",
"line": "growth",
"product": "efeonce-insights",
"campaign": "insights-report",
"footer": {
"preferencesUrl": "https://think.efeoncepro.com/insights/preferencias",
"unsubscribeUrl": "https://think.efeoncepro.com/insights/baja",
"reason": "Recibes este correo porque tu organización trabaja con Efeonce.",
"year": 2026,
"socials": true,
"unsubscribeLabel": "Dejar de recibir estos informes"
},
"channel": "desktop",
"modules": [
{
"kind": "cta-primary",
"label": "Ver el informe completo →",
"url": "https://think.efeoncepro.com/insights/r/ejemplo",
"note": "3 capítulos · 17 figuras con su tabla · plan de 5 acciones · listo para presentar"
},
{
"kind": "cta-agenda",
"title": "¿Lo revisamos juntos?",
"body": "Elige un horario y te mostramos qué mover primero, con los datos de este informe.",
"url": "https://efeoncepro.com/contacto/"
}
]
}Cómo se usa
import { resolveEmailModulesIntent } from '@efeoncepro/axis-ui-contracts'
import { findEmailAsset } from '@efeoncepro/axis-brand-assets'
const email = resolveEmailModulesIntent(intent) // falla cerrado: con un issue, no hay correo
if (email.status === 'resolved') {
const { regions, agenda, brandBlock, links, legal, preferences } = email.footer
// regions dice qué pinta el pie según el propósito; agenda es null en un correo de servicio sin excepción
// agenda?.url ya trae el UTM; brandBlock.slogan.assetId es el PNG de la línea
const slogan = findEmailAsset(brandBlock.slogan.assetId) // width, height, stack.gapBelowLogoImagePx
}Otra línea, otro correo: el mismo contrato resuelve la entrega del AI Visibility Report (transactional_service, sin agenda) y el seguimiento comercial del AEO Assessment (commercial_marketing, con agenda, redes y baja), ambos con la línea engine y el eslogan «Empower your Engine».
Issues del contrato (28)
| Código | Qué significa |
|---|---|
intent-required | El intent es obligatorio. |
contract-invalid | El contrato debe ser efeonce.email-modules. |
version-unsupported | Versión del contrato no soportada: los módulos de correo se componen con la 0.2.0. |
purpose-invalid | El propósito es access_security, transactional_service, relationship_transactional, regulated_transactional, internal_operational, optional_subscription o commercial_marketing. |
application-unknown | La aplicación no tiene una excepción aprobada en efeonceEmail.exceptions. |
application-purpose-mismatch | El propósito del correo no es el de la excepción de su aplicación: la excepción no aplica. |
line-invalid | La línea de servicio es growth, brand, engine, voice, revenue-hubspot o revenue-salesforce. |
channel-invalid | El canal es desktop (tarjeta de 600 px) o mobile (390 px). |
product-invalid | El producto es un slug en minúsculas (p. ej. efeonce-insights): es el utm_source de la agenda. |
campaign-invalid | La campaña, si va, es un slug en minúsculas (p. ej. insights-report). |
modules-empty | El intent declara sus módulos como lista: una lista vacía es un correo sólo con pie; omitirla no vale. |
module-kind-invalid | El módulo es cta-primary o cta-agenda. |
cta-subscribe-retired | La suscripción («Suscribirme») está retirada: donde el propósito admite un CTA comercial, va la agenda. |
cta-primary-label-required | El CTA principal lleva su etiqueta en texto vivo. |
cta-primary-url-invalid | El CTA principal lleva a una URL https. |
cta-primary-duplicate | Un correo lleva un solo CTA principal. |
cta-agenda-title-required | La tarjeta de agenda lleva su título. |
cta-agenda-body-required | La tarjeta de agenda lleva su bajada. |
cta-agenda-not-allowed | La agenda es un CTA comercial: sólo la llevan la suscripción opcional, el marketing o una aplicación con excepción aprobada. |
cta-agenda-duplicate | La agenda va una sola vez, arriba del pie. |
agenda-never-email | La agenda lleva a la página de agenda, nunca a un correo. |
agenda-url-invalid | La agenda es una URL https. |
footer-socials-not-allowed | Las redes no van en el pie de este propósito, salvo en una aplicación con excepción aprobada. |
footer-socials-required | El pie de un correo de marketing lleva las redes institucionales. |
footer-unsubscribe-not-allowed | La baja no va en el pie de este propósito, salvo en una aplicación con excepción aprobada. |
footer-unsubscribe-required | El pie de una suscripción o de un correo de marketing lleva el enlace para dejar de recibir estos correos. |
footer-reason-required | El pie dice por qué la persona recibe el correo. |
footer-year-invalid | El año del © es un entero de cuatro cifras. |
Estás componiendo un correo de Efeonce. Lee /references/email.json y la guía docs/agent-composition/email-modules.md. AXIS canoniza MÓDULOS (el pie, cta-primary, cta-agenda y el bloque de marca), no una plantilla: el cuerpo es de tu correo. Arma un intent del contrato efeonce.email-modules 0.2.0 con el propósito del correo, la línea de servicio que firma, el canal y el producto, y resuélvelo con resolveEmailModulesIntent: si hay issues, no hay correo. El propósito decide el pie: la agenda y la baja sólo en suscripción y marketing; las redes, obligatorias en marketing y opcionales en suscripción; un correo de servicio no lleva ninguna de las tres. El correo de Insights (application efeonce-insights-delivery) conserva el pie completo por excepción aprobada. La agenda lleva a /contacto/ con UTM y nunca a un correo; «Suscribirme» está retirado. El logo y el eslogan de la línea son dos PNG de @efeoncepro/axis-brand-assets. Maqueta con tablas y estilos en línea, sin SVG, y corre los adapter checks sobre el HTML renderizado.
10
Nunca
Lo que ningún correo de Efeonce hace, sea cual sea su cuerpo. La firma de correo de las personas es otra pieza, con su propio contrato: está en La órbita.
- Nunca tomar el correo de Insights como la plantilla de todo correo: se canonizan los módulos, no el cuerpo.
- Nunca un correo como acción: la agenda lleva a /contacto/ con UTM (issue agenda-never-email).
- Nunca «Suscribirme»: está retirado; donde el propósito admite un CTA comercial va la agenda (issue cta-subscribe-retired).
- Nunca la agenda, las redes ni la baja en un correo de servicio sin una excepción aprobada: un transaccional no lleva promoción (issues cta-agenda-not-allowed, footer-socials-not-allowed, footer-unsubscribe-not-allowed).
- Nunca inventar una excepción: sólo aplican las de efeonceEmail.exceptions, aprobadas por el operador y con el mismo propósito del correo (issues application-unknown, application-purpose-mismatch).
- Nunca el eslogan fundido con el logo en un solo archivo: son dos PNG apilados con su aire.
- Nunca «Empower your Growth» fijo: la palabra es la de la línea que firma.
- Nunca la palabra en el acento por debajo de 24 px de cuerpo: a 220 px de logo va en blanco.
- Nunca SVG en línea ni fuentes web obligatorias en el correo: PNG @2x y la pila de respaldo.
- Nunca el bloque legal, las preferencias o la etiqueta de un botón como imagen.
- Nunca pisar un UTM que el enlace ya trae: el resolver sólo agrega los que faltan.
- Nunca un HEX ni un dato institucional escrito a mano: salen de efeonceEmail.


