Genera invitaciones personalizadas y combínalas en un solo PDF con Power Automate: un flujo de trabajo de Dropbox en 7 pasos.

La parte dolorosa de los envíos masivos no es escribir la carta, sino cosiendo las copias personalizadas de modo que finanzas, recursos humanos u operaciones obtienen un PDF limpio en lugar de cincuenta archivos adjuntos. Este tutorial crea el patrón exacto en Power Automate con PDF4me Generar documentos (múltiples), Combinar varios archivos PDF, Dropboxy un único Apply para cada bucle. Siete acciones de flujo. Una plantilla DOCX. Un array JSON de destinatarios. Por el otro extremo sale un PDF consolidado, una página por destinatario, nombrado y subido automáticamente de vuelta a Dropbox.
Dos pasos de Dropbox enmarcan el flujo. Generar documentos (múltiples) de PDF4me produce un PDF personalizado por destinatario. Un bucle Aplicar a cada uno envuelve cada archivo de transmisión en base64ToBinary(...) y lo agrega a una variable de matriz. La función Combinar varios archivos PDF de PDF4me une la matriz en un PDF consolidado. Dropbox Crear archivo lo escribe de vuelta. El flujo se ejecuta en menos de un minuto en un lote de dos destinatarios y escala linealmente. No hay expresiones personalizadas más allá de la única base64aBinario llamar.
Preguntas y respuestas basadas en el porqué
¿Por qué generar documentos (múltiples) en lugar de (uno solo)? La variante Single toma un registro y emite un PDF. Para producir N PDF, tendrías que llamarla N veces, cada vez agregando un evento de facturación y un viaje de ida y vuelta de la red. (Multiple) toma todo el array JSON en una llamada y devuelve los N PDF juntos en Cuerpo/Salida DocumentosUna llamada, un evento de facturación, lote completo.
¿Por qué una variable de matriz más Aplicar a cada una? Generar documentos (múltiples) emite cada PDF como una cadena base64 en archivo de transmisión. Combinar varios archivos PDF requiere una colección de binarios. El bucle Aplicar a cada uno une los dos: convierte cada cadena base64 a un binario con base64ToBinary(...) y agréguelo a una variable de matriz llamada archivos de fusiónDespués del bucle, el array es la colección que espera la acción de fusión.
¿Por qué usar DOCX como plantilla en lugar de PDF? tokens de fusión DOCX (<<[Nombre]>>, <<[HC_WoM_Fecha]>>) residen en el cuerpo del texto, donde el motor de PDF4me los lee directamente. Las plantillas PDF requieren un esquema de campos de formulario por adelantado, lo cual es excesivo para una carta. Además, Word, Office 365 y Google Docs ya exportan DOCX, por lo que los autores pueden editar la plantilla sin salir de su herramienta de escritura.
¿Por qué combinarlos en un único PDF? La revisión de cumplimiento, las ejecuciones de impresión por lotes, los registros de auditoría de firmas y el archivado posterior prefieren un PDF consolidado en lugar de N archivos adjuntos. Si alguna vez necesita recuperar los archivos individuales, envíe un Dividir PDF por número de páginas = 1 Actúa antes del paso 7 y tendrás ambos mundos sin tener que reconstruir el resto del flujo.
Lo que obtendrás
Aporte: Una plantilla DOCX con <<[merge_token]>> marcadores de posición en /blog data/merge blog template/template.docx, además de una matriz JSON de destinatarios pegada en la acción Generar documentos (múltiples). Producción: Un único PDF llamado Merged_files.pdf subido a /blog data/merge blog template/output, con una página personalizada por destinatario en el mismo orden que el array JSON. La plantilla permanece intacta en su carpeta de origen, por lo que las ejecuciones posteriores son idempotentes.
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.
- DropboxOrigen de la plantilla, destino del PDF combinado. SharePoint, OneDrive y Google Drive funcionan de la misma manera con sus respectivos conectores.
- Una plantilla DOCX con tokens de combinación. Utilice la sintaxis de corchetes angulares dobles (
<<[Nombre del campo]>>). El tutorial utilizaplantilla.docx, puede Descarga la plantilla exacta utilizada en este tutorial. y subirlo a Dropbox para duplicar cada captura de pantalla. - Un array JSON de destinatariosUn objeto por destinatario, con claves que coinciden exactamente con los tokens de la plantilla. Descarga el JSON de ejemplo.
Primero, descarga los archivos de muestra. Gota Plantilla.docx en /datos del blog/combinar plantilla de blog/ En tu Dropbox, guarda el JSON en un bloc de notas. De esta forma, cada valor de la captura de pantalla que aparece a continuación coincidirá con lo que veas en tu propio flujo.
El flujo de un vistazo
- Activar manualmente un flujo (desencadenar).
- Dropbox: Obtener el contenido del archivo usando la ruta. Lecturas
template.docxdesde Dropbox. - PDF4me: Generar documentos (múltiples)Plantilla más matriz JSON de destinatarios de entrada, matriz de PDF personalizados de salida.
- Inicializar variable llamado
mergefiles(Arreglo). - Aplicar a cada uno en
body/outputDocuments, con Agregar a la variable de matriz usandobase64ToBinary(...)adentro. - PDF4me: Combina varios archivos PDF en un único archivo PDF.. Matriz de archivos binarios de entrada, un archivo PDF de salida.
- Dropbox: Crear archivo. Escribe
Merged_files.pdfVolver a Dropbox.
Descripción general del flujo completo

Siete acciones. Cada tarjeta muestra una marca de verificación verde cuando está configurada. PDF4me se ubica en el centro dos veces: una para generar y otra para fusionar.
Paso 0: La plantilla DOCX
Antes de que se ejecute cualquier flujo, la plantilla necesita los tokens de fusión correctos. Cada <<[FieldName]>> El marcador de posición se reemplaza una vez por destinatario. La ortografía y las mayúsculas/minúsculas deben coincidir exactamente con las claves JSON.
Vista previa de la plantilla

El formato DOCX utiliza una sintaxis de corchetes angulares dobles. No hay caracteres especiales, ni XML, solo marcadores de posición literales que el motor de PDF4me lee directamente.
Paso 1: Activar manualmente un flujo
Flujo hasta ahora: Solo el disparador.
- En Power Automate clic Crear, elegir Flujo de nube instantáneo.
- Elegir Activar manualmente un flujo como detonante.
- Dale un nombre al flujo (por ejemplo,
Bulk Invitation Mailout) y haga clic Crear. - Deje en blanco los campos de entrada de los activadores por ahora. Los activadores de producción reales (solicitud HTTP, actualización de lista de SharePoint, programación) se conectarán aquí una vez que el resto del flujo funcione correctamente.
Paso 2: Dropbox: Obtener el contenido del archivo usando la ruta
Flujo hasta ahora: Activador más Obtener contenido del archivo.
Lee la plantilla DOCX en el flujo como bytes sin procesar para que la función Generar documentos pueda consumirla directamente.
- Haga clic + Nuevo paso, buscar Dropbox, elegir Obtener el contenido del archivo usando la ruta.
- Conectar Dropbox, si aún no lo has hecho.
- Configurar:
- Ruta del archivo:
/blog data/merge blog template/template.docx - Inferir tipo de contenido:
Yes
- Ruta del archivo:
- Ahorrar el flujo y ejecutar una prueba rápida. La acción devuelve un
File Contenttoken que contiene el binario de la plantilla.
Obtener la configuración del contenido del archivo

La opción "Inferir tipo de contenido: Sí" es la que hace que las acciones posteriores de PDF4me acepten el archivo como un DOCX real, y no como un flujo genérico.
Paso 3: PDF4me: Generar documentos (múltiples)
Flujo hasta ahora: Activar más Obtener contenido del archivo más Generar documentos (múltiples).
Aquí es donde un archivo DOCX más una matriz JSON se convierten en N archivos PDF personalizados en una sola llamada de acción.
- Haga clic + Nuevo paso, buscar PDF4me, elegir Generar documentos (múltiples).
- Conectar PDF4me Conéctate con tu clave API (solo la primera vez).
- Configurar la mitad superior de la acción:
- Tipo de archivo de plantilla:
Docx - Nombre del archivo de plantilla:
Test.docx(solo etiqueta, no ruta) - Datos del archivo de plantilla: elige el Contenido del archivo ficha del paso 2
- Tipo de datos del documento:
Json
- Tipo de archivo de plantilla:
Paso 3a: Parte superior de la acción

- Pegue el array JSON en Texto de los datos del documento. El tutorial utiliza dos destinatarios (John Doe, X AB). Cada objeto tiene las mismas 19 claves, cada clave coincide con una
<<[Token]>>en la plantilla DOCX.
Paso 3b: La carga útil JSON

[
{
"DebtorNumber": "100001",
"Salutation": "Mr",
"Title": "Dr.",
"FirstName": "John",
"LastName": "Doe",
"CareOfAddress": "c/o Accounting Department",
"Address": "123 Main Street",
"POBox": "PO Box 123",
"PostalCode": "10001",
"City": "New York",
"Country": "United States",
"HC_Name": "ABC Business Association",
"SalutationText": "Dear Dr. Doe",
"HC_Phone": "+1-212-555-0100",
"HC_WoM_RegistrationDeadline": "2026-05-22",
"HC_Street": "500 Park Avenue",
"HC_PostalCodeCity": "10022 New York",
"HC_WoM_Date": "2026-05-29",
"HC_WoM_Time": "10:00"
},
{
"DebtorNumber": "100001",
"Salutation": "Mr",
"Title": "Dr.",
"FirstName": "X",
"LastName": "AB",
"CareOfAddress": "c/o Accounting Department",
"Address": "123 Main Street",
"POBox": "PO Box 123",
"PostalCode": "10001",
"City": "New York",
"Country": "United States",
"HC_Name": "ABC Business Association",
"SalutationText": "Dear Dr. Doe",
"HC_Phone": "+1-212-555-0100",
"HC_WoM_RegistrationDeadline": "2026-05-22",
"HC_Street": "500 Park Avenue",
"HC_PostalCodeCity": "10022 New York",
"HC_WoM_Date": "2026-05-29",
"HC_WoM_Time": "10:00"
}
]
- Configurar la mitad inferior:
- Metadatos de campo: dejar en blanco (opcional, para formato de moneda, fecha o número)
- Tipo de salida:
PDF - Mantener la plantilla PDF editable:
No
Paso 3c: Tipo de salida

- Guardar y probarLa acción regresa
body/outputDocuments, una matriz de objetos, uno por destinatario. Cada objeto lleva unstreamFilePropiedad que contiene el PDF personalizado como una cadena base64.
Consejo. Las claves JSON faltantes se muestran como cadenas vacías en el PDF de salida, no como errores. Esto permite el paso de datos incompletos, pero también significa que los errores tipográficos no se detectan. Compare su lista de tokens con las claves JSON antes de publicarla, ya que ambas distinguen entre mayúsculas y minúsculas.
Paso 4: Inicializar archivos de fusión de variables
Flujo hasta ahora: Disparador más Obtener contenido del archivo más Generar documentos (múltiples) más Inicializar variable.
La acción de fusión requiere una colección de archivos binarios. Crea una matriz vacía para almacenarlos.
- Haga clic + Nuevo paso, elegir Inicializar variable.
- Configurar:
- Nombre:
mergefiles - Tipo:
Array - Valor: dejar en blanco
- Nombre:
Inicializar la configuración de variables

La variable Initialize siempre se aplica antes de la primera función Apply to each que la necesite. Power Automate garantiza esto en tiempo de diseño.
Paso 5: Aplicar a cada variable y agregar a la variable de matriz.
Flujo hasta ahora: Disparador más Obtener contenido del archivo más Generar documentos (múltiples) más Inicializar variable más Aplicar a cada uno.
Recorre los archivos PDF y convierte cada uno en un búfer binario.
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.: elegir
body/outputDocumentsde la acción Generar documentos (múltiples)
- Seleccione una salida de los pasos anteriores.: elegir

Paso 5b: Agregar a la variable de matriz (dentro del bucle)
- Dentro de la opción Aplicar a cada contenedor, haga clic en Agregar una acción, elegir Agregar a la variable de matriz.
- Configurar:
- Nombre:
mergefiles - Valor (expresión, clic)
fx):base64ToBinary(items('Apply_to_each')?['streamFile'])
- Nombre:

Esta es la frase que lo une todo. Generar documentos (múltiple) emite cadenas base64 en archivo de transmisiónLa fusión de varios archivos PDF requiere búferes binarios. base64ToBinary(...) es el puente. Sin él, la acción de fusión da error con "contenido no válido".
Paso 6: PDF4me: Combinar varios archivos PDF en un solo archivo PDF
Flujo hasta ahora: Activador más Obtener contenido del archivo más Generar documentos (múltiples) más Inicializar variable más Aplicar a cada uno más Combinar varios PDF.
Ahora se introduce todo el conjunto de datos y se obtiene un único archivo PDF.
- 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
mergefilestoken variable - Nombre del archivo de salida:
Test.pdf
- Cuerpo/Contenido del documento: elige el
Configuración de acción de fusión

- La acción concatena los PDF en orden de la matriz, que es el orden del JSON. Si el consumidor final espera un orden específico (alfabético, por número de deudor, por región), ordene el JSON antes del paso 3 y el resto del flujo conservará ese orden.
Consejo. ¿Necesitas un nombre de archivo de salida diferente para cada ejecución? Créalo dinámicamente con concat('Invitaciones_', utcNow('aaaa-MM-dd'), '.pdf') en el campo Nombre del archivo de salida. El PDF combinado se guarda con una marca de fecha y las ejecuciones posteriores no se sobrescriben entre sí.
Paso 7: Dropbox: Crear archivo
Flujo hasta ahora: Disparador más Obtener contenido del archivo más Generar documentos (múltiples) más Inicializar variable más Aplicar a cada uno más Combinar varios PDF más Crear archivo.
Guarda el PDF combinado en Dropbox.
- Haga clic + Nuevo paso, elegir Dropbox, Crear archivo.
- Configurar:
- Ruta de la carpeta:
/blog data/merge blog template/output - Nombre del archivo:
Merged_files.pdf - Contenido del archivo: elige el Contenido del archivo token del paso 6 (Combinar varios PDF)
- Ruta de la carpeta:
- Ahorrar el flujo.
Crear configuración de archivo

Ejecuta el flujo y verifica.
- Haga clic Prueba en la parte superior derecha, elige A mano, haga clic Prueba, entonces Flujo de ejecución.
- El panel de ejecución del flujo se ilumina en verde paso a paso. Generar documentos (múltiples) suele tardar un segundo por registro en una plantilla de una sola página. Combinar varios PDF añade uno o dos segundos más para dos destinatarios.
- Abrir Dropbox en
/blog data/merge blog template/output/El archivoMerged_files.pdfestá ahí.
La salida, lado a lado


¿Qué construiste exactamente? Envío masivo automatizado que convierte una carta DOCX y una lista JSON de destinatarios en un único PDF consolidado, listo para imprimir, firmar, archivar o adjuntar. Este mismo método funciona con dos o dos mil destinatarios sin modificar ningún valor. Este método también funciona en Make (Iterator más el módulo PDF4me Merge) y Zapier (Bucle de Zapier más la acción PDF4me Merge).
Variaciones comunes que puedes agregar sin reconstruir
Archivos_fusionados.pdf y el envío va directamente a finanzas, operaciones o imprenta sin pasar por Dropbox.PDF/A-2bLa copia de Dropbox queda entonces lista para su archivo y cumple con la norma ISO 19005.Solución de problemas
El Valor La expresión en Agregar a la matriz no está envuelta en base64ToBinary(...)Sin la conversión, la acción de fusión recibe cadenas base64 en lugar de búferes binarios. Vuelva a abrir Agregar a la matriz, cambie al editor de expresiones y pegue. base64ToBinary(items('Apply_to_each')?['streamFile']) literal.
Una clave JSON no coincide con un token de plantilla. La función Generar documentos (múltiples) sustituye las claves faltantes por cadenas vacías, lo cual es tolerante, pero permite que los errores tipográficos no se detecten. Compare su lista de tokens DOCX con las claves JSON; ambas distinguen entre mayúsculas y minúsculas.
El bucle Apply to each está iterando la fuente incorrecta. Abra el bucle, confirme Seleccione una salida de los pasos anteriores. puntos en Cuerpo/Salida Documentos (la matriz), no en una sola propiedad de un registro.
El orden de las páginas coincide con el orden JSON. Ordene la matriz JSON antes de generar documentos (múltiples) usando un Seleccionar o Componer acción para que los destinatarios lleguen en el orden que usted necesita.
Próximos pasos
El mismo patrón de siete pasos (activar, obtener la plantilla, generar el lote, iterar sobre la matriz, combinar y guardar) funciona para cualquier envío masivo personalizado en Power Automate. Envía uno y los siguientes prácticamente no te costarán nada.