Convierta el cuerpo del correo electrónico y todos los archivos adjuntos en un único PDF consolidado en Power Automate: un flujo de trabajo de 7 pasos con Outlook y PDF4me.

La parte dolorosa de los flujos de trabajo impulsados por correo electrónico no es el correo electrónico, sino... todo lo que conllevaEl cuerpo contiene el contexto (quién lo envió, por qué, qué hacer), los archivos adjuntos contienen los artefactos (la factura, el formulario, el contrato firmado), y almacenarlos por separado significa que en el futuro necesitarás tres clics para reconstruir el mensaje más adelante. Este tutorial crea el patrón exacto en Power Automate con PDF4me Convertir a PDF, PDF4me Combina varios archivos PDF, Perspectiva, Dropboxy una única aplicación a cada bucle. Siete acciones de flujo. Llega un correo electrónico entrante. Se envía un PDF consolidado, primero el cuerpo y luego los archivos adjuntos, con marca de tiempo y guardados automáticamente en su carpeta de archivo.
Una perspectiva Cuando llega un nuevo correo electrónico (V3) El disparador se activa en el momento en que llega un mensaje a [email protected]. Una variable de matriz llamada correo electrónico Se abre. PDF4me Convertir a PDF primero convierte el cuerpo HTML en un PDF, el cuerpo convertido se agrega al array como página 1. Aplicar a cada uno recorre todos los archivos adjuntos (dos archivos DOCX en esta ejecución: 3 páginas.docx, Docx_2Páginas.docx), convierte cada uno a PDF y lo añade sucesivamente. PDF4me Combinar varios archivos PDF Consume todo el array y emite un PDF consolidado. Dropbox Crear archivo lo escribe de vuelta como fusionar-20260611-103323.pdf, un nombre con marca de tiempo que nunca entra en conflicto. Cuerpo primero, archivos adjuntos en orden, un PDF, una carpeta, listo para auditoría.
Preguntas y respuestas basadas en el porqué
¿Por qué convertir primero el cuerpo del texto a PDF? El cuerpo es el contexto: quién lo envió, por qué, qué hacer. Tu yo del futuro que lea el PDF consolidado querrá que la página 1 establezca el escenario antes de que lleguen los archivos adjuntos. triggerOutputs()?['body/body'] (el cuerpo HTML) en un PDF primero significa que la acción de combinación ve el mensaje en sí como el documento principal, no como un volcado de texto separado.
¿Por qué usar una sola variable de matriz para el cuerpo y los archivos adjuntos? La acción de fusión requiere una única colección ordenada. Inicialícela una vez, agregue el cuerpo en el paso 4, agregue cada archivo adjunto convertido en el paso 5, y la matriz tendrá exactamente el orden de documentos deseado. Dos matrices separadas obligarían a una acción de composición posterior a concatenarlas, lo que implica más trabajo de configuración para obtener el mismo resultado.
Por qué base64aBinario ¿En cada empujón? PDF4me Convertir a PDF devuelve su salida como una cadena base64 envuelta en $contenidoLos archivos adjuntos de Outlook llegan como base64 en bytes de contenidoPDF4me Combina varios archivos PDF necesita búferes binarios. Lo mismo base64ToBinary(...) La llamada conecta ambas fuentes, solo que apunta a nombres de propiedades diferentes. Se omite la conversión y la acción de fusión genera errores con "contenido no válido".
¿Por qué un nombre de salida con marca de tiempo? Dos correos electrónicos del mismo remitente enviados en el plazo de una hora entrarían en conflicto si el nombre del archivo fuera el mismo. concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf') produce nombres como fusionar-20260611-103323.pdf, ordenable lexicográficamente, único con precisión de segundos y legible instantáneamente como una marca de tiempo UTC.
Lo que obtendrás
Aporte: Cualquier correo electrónico entrante a la dirección vigilada (aquí, [email protected]) con uno o más archivos adjuntos. Este tutorial utiliza un cuerpo de mensaje corto ("Hola, espero que estés bien...") y dos archivos adjuntos DOCX (3Page.docx, Docx_2Pages.docx). Producción: Un único PDF consolidado insertado en /blog data/merge blog template/output/, llamado merge-YYYYMMDD-HHmmss.pdfLa página 1 es el cuerpo del texto. De la página 2 en adelante se encuentran los anexos en orden de presentación, generados mediante Aspose Words.
El correo electrónico entrante

El flujo supervisa la bandeja de entrada de Outlook en [email protected]Una vez que Gmail reenvía el mensaje o esta dirección lo recibe directamente, se activa el disparador.
La carpeta Dropbox de salida después de dos ejecuciones

Página 1 del PDF combinado

La página 1 es el cuerpo del correo electrónico convertido. De la página 2 en adelante es el primer archivo adjunto (3 páginas.docx). El segundo anexo (Docx_2Páginas.docx) sigue después de eso. Un PDF, mensaje completo reconstruido.
Lo que necesitas
- Power Automate. Abrir Power Automate. Cualquier plan con conectores premium (PDF4me Connect es premium).
- Clave API de PDF4me. Obtén tu clave APIConéctalo la primera vez que añadas una acción de PDF4me.
- Office 365 Outlook. Para el Cuando llega un nuevo correo electrónico (V3) activar y leer el archivo adjunto
bytes de contenidoFunciona con cualquier bandeja de entrada con la que el conector pueda autenticarse. - Dropbox (o SharePoint, OneDrive, Google Drive). Para el PDF final consolidado.
- Un correo electrónico con archivos adjuntosEl tutorial utiliza dos ejemplos DOCX. 3 páginas.docx y Docx_2Páginas.docx. Envíelas por correo electrónico a la dirección monitoreada para que se refleje cada captura de pantalla.
Primero, obtén las muestras y el resultado esperado. Descarga ambos archivos DOCX, adjúntalos a un correo electrónico rápido a tu dirección monitoreada y luego publica el flujo. Tu primera ejecución debería producir un fusionar-AAAAMMDD-HHmmss.pdf que reproduce exactamente la muestra vinculada (solo difiere la marca de tiempo).
El flujo de un vistazo
- Outlook: Cuando llega un nuevo correo electrónico (V3) (desencadenar).
- Inicializar variable llamado
email(Arreglo). - PDF4me: Convertir a PDF (Cuerpo)Lee el cuerpo HTML y devuelve un PDF.
- Agregar a la variable de matriz con
base64ToBinaryen el cuerpo modificado. - Aplicar a cada uno en
triggerOutputs()?['body/attachments']:- PDF4me: Convertir a PDF el archivo adjunto.
- Agregar a la variable de matriz con
base64ToBinaryen el PDF convertido.
- PDF4me: Combina varios archivos PDF en un único archivo PDF.. Matriz de entrada, un PDF de salida.
- Dropbox: Crear archivoLa expresión del nombre del archivo añade la marca de tiempo UTC.
Descripción general del flujo completo

Siete acciones. La opción "Aplicar a cada tarjeta" muestra "1 de 2" porque el correo electrónico de prueba tenía dos archivos adjuntos. PDF4me interviene en el flujo tres veces: convertir el cuerpo, convertir el archivo adjunto y combinar todo.
Paso 1: Outlook: Cuando llega un nuevo correo electrónico (V3)
Flujo hasta ahora: Solo el disparador.
- En Power Automate clic Crear, elegir Flujo de nube automatizado.
- Nombre el flujo (p. ej.
Email to Consolidated PDF), elegir Office 365 Outlook: Cuando llega un nuevo correo electrónico (V3) como disparador, haga clic Crear. - Conectar Tu buzón de Office 365.
- Expandir Parámetros avanzados y Mostrar todo para mostrar las opciones de filtrado.
- Configurar:
- A:
[email protected](filtrar para que solo el correo dirigido a esta dirección active el flujo) - Incluir archivos adjuntos:
Yes - Solo con archivos adjuntos:
Yes
- A:
Configuración del disparador

Consejo. Solo con archivos adjuntos Sí es lo que evita que el flujo se active con cada notificación interna, invitación de calendario o respuesta. Combinar con un A filtrar en un alias dedicado (por ejemplo, [email protected]) para una dirección de recepción limpia que solo reciba el correo que realmente desea consolidar.
Paso 2: Inicializar la variable de correo electrónico
Flujo hasta ahora: Disparador más variable de inicialización.
Abra una matriz vacía para recopilar el PDF del cuerpo y todos los PDF adjuntos.
- Haga clic + Nuevo paso, elegir Inicializar variable.
- Configurar:
- Nombre:
email - Tipo:
Array - Valor: dejar en blanco
- Nombre:
Inicializar la configuración de variables

Paso 3: PDF4me: Convertir a PDF (Cuerpo)
Flujo hasta ahora: Disparador más inicializar variable más convertir a cuerpo PDF.
El desencadenador de Outlook emite el cuerpo del mensaje como HTML en body/bodyPDF4me Convert to PDF lee HTML directamente, por lo que toda la conversión se realiza en una sola acción.
- Haga clic + Nuevo paso, buscar PDF4me, elegir Convertir a PDF.
- Rebautizar la acción de Convertir a PDF Cuerpo De esta forma, la acción "Convertir a PDF" del paso 5 podrá tener su propio nombre limpio más adelante.
- Conectar PDF4me Conéctate con tu clave API (solo la primera vez).
- Configurar:
- Contenido del archivo (expresión, clic)
fx):triggerOutputs()?['body/body'] - Nombre del archivo:
email-body.html
- Contenido del archivo (expresión, clic)
Convertir a PDF Configuración del cuerpo

El .html La extensión del nombre del archivo le indica a PDF4me qué motor de renderizado usar. Enviar .docx, .xlsx, .png, o .jpg Con la misma facilidad, la misma acción sirve para todos ellos.
Paso 4: Agregar a la variable de matriz (Cuerpo del correo electrónico)
Flujo hasta ahora: Disparador más Inicializar variable más Convertir a cuerpo PDF más Anexar (cuerpo del correo electrónico).
Empuja el PDF del cuerpo convertido hacia el email matriz como página 1.
- Haga clic + Nuevo paso, elegir Agregar a la variable de matriz.
- Rebautizar la acción de Agregar a la variable de matriz (cuerpo del correo electrónico) para mayor claridad.
- Configurar:
- Nombre:
email - Valor (expresión):
base64ToBinary(body('Convert_to_PDF_Body')?['$content'])
- Nombre:
Configuración del cuerpo del correo electrónico

Paso 5: Aplicar a cada archivo adjunto, convertir y agregar.
Flujo hasta ahora: Disparador más Inicializar variable más Convertir a cuerpo PDF más Anexar (cuerpo del correo electrónico) más Aplicar a cada uno.
Recorre cada archivo adjunto, conviértelo a PDF y agrégalo uno por uno para que la fusión final respete el orden de los archivos adjuntos.
Paso 5a: Aplicar a cada uno (seleccione la fuente)
- Haga clic + Nuevo paso, elegir Aplicar a cada uno.
- Configurar:
- Seleccione una salida de los pasos anteriores. (expresión):
triggerOutputs()?['body/attachments']
- Seleccione una salida de los pasos anteriores. (expresión):

Paso 5b: Convertir a PDF (el archivo adjunto)
- Dentro del bucle, haga clic Agregar una acción, elegir PDF4me: Convertir a PDF.
- Configurar:
- Contenido del archivo (expresión):
base64ToBinary(items('Apply_to_each')?['contentBytes']) - Nombre del archivo (contenido dinámico): seleccionar nombre Aplicar a cada elemento actual
- Contenido del archivo (expresión):

El nombre El token de contenido dinámico se resuelve en tiempo de ejecución. items('Apply_to_each')?['name'], por lo que cada archivo adjunto se convierte utilizando su nombre de archivo original (que contiene la extensión de origen e indica a PDF4me qué motor de renderizado utilizar).

Paso 5c: Agregar a la variable de matriz (el archivo adjunto convertido)
- A continuación, convertir a PDF dentro del mismo bucle, Agregar una acción, elegir Agregar a la variable de matriz.
- Configurar:
- Nombre:
email - Valor (expresión):
base64ToBinary(body('Convert_to_PDF')?['$content'])
- Nombre:

Los nombres de las dos propiedades son importantes. Los bytes adjuntos de Outlook siguen activos bytes de contenidoPDF4me Convertir a salida PDF sigue en funcionamiento $contenidoAmbos son en base64. Mantén los nombres correctos al pegar las expresiones y el bucle funcionará sin problemas.
Paso 6: PDF4me: Combinar varios archivos PDF
Flujo hasta ahora: Disparador más Inicializar variable más Convertir a cuerpo PDF más Anexar (cuerpo) más Aplicar a cada uno más Combinar varios PDF.
Todo email La matriz (primero el PDF del cuerpo, luego los PDF adjuntos en el orden en que se adjuntan) se introduce en una única llamada a Merge.
- Debajo de Aplicar a cada bucle, haga clic en + Nuevo paso, buscar PDF4me, elegir Combinar varios archivos PDF en un único archivo PDF..
- Configurar:
- Cuerpo/Contenido del documento: elige el
emailtoken variable - Nombre del archivo de salida:
Email Attachment Merge Output.pdf
- Cuerpo/Contenido del documento: elige el
Configuración de acción de fusión

Paso 7: Dropbox: Crear archivo con un nombre que incluya una marca de tiempo.
Flujo hasta ahora: Disparador más Inicializar variable más Convertir a cuerpo PDF más Anexar más Aplicar a cada uno más Combinar más Crear archivo.
Guarda el PDF consolidado en Dropbox con un nombre de archivo que incluya la fecha y hora UTC, de modo que cada ejecución genere un archivo nuevo y ordenable.
- Haga clic + Nuevo paso, elegir Dropbox: Crear archivo.
- Configurar:
- Ruta de la carpeta:
/blog data/merge blog template/output - Nombre del archivo (expresión, clic)
fx):concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf') - Contenido del archivo: elige el Contenido del archivo token de la acción Combinar varios PDF
- Ruta de la carpeta:
Expresión de nombre de archivo

Acción final con contenido de archivo asignado

Consejo. ¿Desea una carpeta por dominio de remitente? Reemplace la ruta de carpeta estática con concat('/inbox-pdfs/', split(triggerOutputs()?['body/from'], '@')[1], '/')Los archivos PDF se enrutan automáticamente a subcarpetas como /bandeja-de-entrada-pdfs/tuempresa.com/ basado en el dominio del remitente.
Ejecuta el flujo y verifica.
- Ahorrar el flujo en la parte superior derecha.
- Envíe un mensaje por correo electrónico con uno o más archivos adjuntos a la dirección monitoreada (el tutorial utilizado)
[email protected]). - Abierto Historial de ejecuciónEl disparador debería activarse en cuestión de segundos. Observa cómo cada acción se vuelve verde: Convertir a cuerpo PDF tarda unos 10 segundos para un cuerpo HTML corto, Aplicar a cada uno se ejecuta en paralelo de forma predeterminada y finaliza ambos archivos adjuntos en unos 22 segundos, Combinar varios PDF tarda alrededor de 11 segundos.
- Abrir Dropbox en
/blog data/merge blog template/output/. Un archivo llamadomerge-YYYYMMDD-HHmmss.pdfestá ahí. - Abra el PDF. La página 1 contiene el texto principal. A partir de la página 2, se muestran todos los archivos adjuntos, en su totalidad y en el orden en que aparecen.
¿Qué construiste exactamente? Un sistema automatizado para archivar correos electrónicos. Cada mensaje con archivos adjuntos se convierte en un PDF consolidado, con el cuerpo del mensaje primero y luego los archivos adjuntos en orden, con marca de tiempo para evitar conflictos. El archivo se guarda en una carpeta compartida que tu equipo o auditores pueden consultar fácilmente. Esta misma configuración funciona con dos o veinte archivos adjuntos sin ningún problema. También funciona en Make (activador de Outlook, iterador sobre archivos adjuntos y PDF4me Merge) y Zapier (Email by Zapier o activador de Outlook, bucle y PDF4me Merge).
Variaciones comunes que puedes agregar sin reconstruir
terminaCon(toLower(items('Aplicar_a_cada_elemento')?['nombre']), '.pdf') o similar. Omite las firmas y los archivos adjuntos de imágenes en línea sin problemas.cuerpo/cuerpoLa página 1 del PDF consolidado ahora incluye un encabezado que se puede usar para buscar información posteriormente.PDF/A-2b Tras la fusión, el PDF consolidado archivado cumple ahora con la norma ISO 19005, lo que permite su conservación legal o su presentación ante organismos reguladores.Solución de problemas
Una de las opciones para agregar a la matriz Valor expresiones no está envuelto en base64ToBinary(...)Cada envío (cuerpo y adjuntos) necesita la conversión. Vuelva a abrir ambas acciones de Agregar, cambie al editor de expresiones y confirme que las expresiones estén base64ToBinary(body('Convert_to_PDF_Body')?['$content']) y base64ToBinary(body('Convertir_a_PDF')?['$content']) literal.
La acción Convertir a cuerpo PDF no recibió un cuerpo HTML real. Compruebe el activador. Incluir archivos adjuntos se quedó Sí (sin ella el cuerpo a veces llega vacío) y que Contenido del archivo resuelve triggerOutputs()?['body/body'], no cuerpo/vista previa del cuerpo.
El disparador se activó en un correo electrónico sin archivos adjuntos porque Solo con archivos adjuntos está configurado en No. Cámbielo a Sí, o envuelva la acción Aplicar a cada uno en una Condición que se ejecute solo cuando longitud(triggerOutputs()?['body/attachments']) es mayor que cero.
El valor predeterminado Aplicar a cada uno se ejecuta en paralelo, lo que puede alterar el orden de adición. Abra el bucle Ajustes y establecer Control de concurrencia Grado de paralelismo con 1El bucle ahora se ejecuta de forma secuencial y los archivos adjuntos se colocan en la matriz en el orden exacto en que Outlook los devolvió.
Próximos pasos
El mismo patrón de siete pasos (activar, inicializar la matriz, convertir el cuerpo, volver a convertir y añadir, fusionar y guardar con una marca de tiempo) funciona para cualquier automatización de "correo electrónico y archivos adjuntos en un PDF". Envíelo una sola vez y cada mensaje entrante se convertirá automáticamente en una entrada de archivo con capacidad de búsqueda y clasificación.