Qué necesita
- Una cuenta de Make.com con conexiones a Google Sheets y Gmail
- Una hoja de Google con fila de encabezados, por ejemplo: Client, Item, Amount, Due date, Status
- Una columna auxiliar en la hoja, explicada en el paso 1
- La dirección de correo que debe recibir el resumen
Construcción paso a paso
1. Añada una columna auxiliar en la hoja
Comparar fechas dentro de Make es posible pero engorroso, porque las fechas de Sheets pueden llegar como texto en el formato de su región. Es más fácil dejar que decida la hoja. Añada una columna llamada "Due today" con una fórmula como esta:
=IF(AND(D2<=TODAY(), E2<>"Paid"), "yes", "")
Cópiela hacia abajo, o use una fórmula de matriz para que las filas nuevas la reciban automáticamente. Ajuste las letras de columna a su diseño.
2. Cree el escenario y añada Google Sheets – Search Rows
Seleccione la hoja de cálculo y la pestaña, con "Table contains headers" en sí. Añada un filtro, en el propio módulo si está disponible o en el enlace posterior: Due today igual a yes. Ordene por Due date ascendente si el módulo ofrece orden. Revise el campo Limit, porque puede venir con un número bajo por defecto y recortar su resumen sin avisar. Póngalo por encima de las filas que espera.
3. Añada Tools – Text aggregator
El lugar donde se listan los agregadores puede variar entre versiones de la interfaz, así que compruebe la interfaz actual de Make. Indique Search Rows como módulo de origen. En el campo Text, escriba una fila de tabla, mapeando campos de la búsqueda:
<tr><td>{{escapeHTML(2.Client)}}</td><td>{{escapeHTML(2.Item)}}</td><td>{{formatNumber(2.Amount; 2; "."; ",")}}</td><td>{{2.`Due date`}}</td></tr>
Los nombres de campo con espacio van entre acentos graves, como en la última celda. Deje el separador de filas vacío o ponga un salto de línea. La salida del agregador es un único campo de texto con todas las filas unidas. La función escapeHTML evita que caracteres como & o < de sus datos rompan la tabla. Use el formato de números y fechas de su hoja, porque los argumentos de formatNumber dependen de su región.
4. Añada Gmail – Send an email
Ponga su dirección en To. Para el asunto, use algo con fecha, como Daily summary {{formatDate(now; "YYYY-MM-DD")}}. Ponga Body type en Raw HTML y escriba en Body contents la tabla alrededor del texto agregado:
<p>Items due today or overdue:</p>
<table border="1" cellpadding="6" cellspacing="0">
<tr><th>Client</th><th>Item</th><th>Amount</th><th>Due date</th></tr>
{{3.text}}
</table>
El número de 3.text es el número de módulo del agregador en su escenario, así que elíjalo en el panel de mapeo. Los atributos en línea como border y cellpadding se usan a propósito: los clientes de correo ignoran la mayor parte del estilo externo.
5. Decida qué ocurre en los días vacíos
Cuando la búsqueda no encuentra nada, el agregador igualmente produce un bundle, pero el texto está vacío. Tiene dos opciones. Para saltarse los días vacíos, añada un filtro entre el agregador y Gmail: el texto agregado, exists (o does not equal empty, según lo que ofrezca el filtro). Para enviar en cambio un mensaje de "todo en orden", envuelva la tabla en ifempty():
{{ifempty(3.text; "<tr><td colspan=4>Nothing due today.</td></tr>")}}
6. Fije una hora
Haga clic en el icono del reloj del primer módulo. Configure el escenario para ejecutarse cada día a una hora fija, por ejemplo las 07:30, en lugar de a intervalos. La hora sigue el ajuste de zona horaria de su cuenta u organización de Make, así que compruebe la interfaz actual de Make y confirme la zona, sobre todo si su equipo está repartido en varias regiones. Un resumen que llega a las 06:30 en lugar de a las 07:30 suele indicar un desajuste de zona horaria o de horario de verano.
7. Pruebe y active
Pulse Run once, revise el correo en su bandeja de entrada en el escritorio y en el móvil, y compare las filas con la hoja. Después active el escenario. Mire la pestaña History a la mañana siguiente para ver la primera ejecución real.
8. Opcional: añada un total
Ponga una fórmula SUM en una celda de una pestaña "Summary" aparte, filtrada por Due today, y léala con Google Sheets – Get a Cell antes del módulo de Gmail. Es más sencillo que un segundo agregador y el número también queda visible en la hoja.
Errores frecuentes y soluciones
El correo muestra etiquetas HTML sin procesar. Revise el Body type del módulo de Gmail. Esta construcción necesita Raw HTML.
Solo algunas filas aparecen en el correo. El Limit de Search Rows es demasiado bajo, o el filtro es demasiado estricto. Suba el límite y compare el número de bundles en Run once con las filas de la hoja. Una fórmula "Due today" que cubra solo parte de la columna causa el mismo síntoma.
La tabla se rompe, se desplaza o pierde una fila. Un valor contiene un ampersand, un signo menor que o un salto de línea. Envolver los campos de texto en escapeHTML() arregla la mayor parte. Para los saltos de línea dentro de celdas, sustitúyalos por un espacio antes de ponerlos en la tabla.
El correo llega a la hora equivocada. La programación del escenario se ejecuta en la zona horaria de sus ajustes de Make, no necesariamente en la de su ordenador. Revise la zona y vuelva a hacerlo cuando cambien los relojes. Gmail no retrasa los mensajes, así que el sitio donde mirar es la programación.
Los resúmenes muy grandes se cortan. Gmail recorta los mensajes largos, y una tabla con cientos de filas es difícil de usar en un correo de todos modos. Limite el resumen a las filas más urgentes, o envíe un enlace a la hoja y solo las diez primeras filas.
No se envía nada los días sin filas. Así está construido si añadió el filtro del paso 5. Si esperaba un correo de "todo en orden", use en su lugar la opción con ifempty().