Integraciones y automatización de formularios
POM Forms puede enviar archivos a Google Drive, llamar a un webhook y crear contenido de WordPress a partir de un envío. Añade la automatización solo después de que los campos, el consentimiento, las notificaciones y el comportamiento ante errores del formulario funcionen correctamente.
Elige el destino adecuado
| Objetivo | Función |
|---|---|
| Notificar a personas por correo electrónico | Ruta de notificación |
| Conservar las entradas en WordPress | Almacenamiento de envíos |
| Enviar archivos subidos a una carpeta de Drive | Campo Google Drive Upload |
| Enviar datos estructurados del formulario a otro servicio | Webhook |
| Crear una entrada de tipo entrada o tipo de contenido personalizado | Create Post |
Un formulario puede usar más de un destino. Documenta cada copia de los datos enviados en el proceso de privacidad y conservación del sitio.
Traducir un formulario guardado
Con Polylang o POM Translate activos y los idiomas del sitio configurados, un POM Form guardado usa un único ID de formulario, diseño y conjunto de reglas de envío en todos los idiomas. Mantén el mismo [web_form id="123"] en cada versión de idioma de la página. Los formularios no aparecen como un tipo de contenido traducible opcional.
- Guarda el formulario en Forms → All Forms en el idioma de origen del sitio.
- En Polylang, abre Languages → Translations y busca el grupo POM Forms / 123, sustituyendo
123por el ID del formulario. Los mensajes compartidos y el texto de privacidad usan POM Forms / defaults. - En POM Translate, abre Translations → Other translations y busca el nombre registrado
pom/forms/123/. Los valores predeterminados compartidos usanpom/forms/defaults/. Los formularios existentes se detectan automáticamente en lotes en segundo plano después de abrir la administración de WordPress; los formularios recién guardados se registran de inmediato. - Traduce el título del formulario, el texto de los pasos, las etiquetas, los marcadores de posición, la ayuda, las etiquetas de opciones, los bloques HTML, el texto de privacidad, las etiquetas de botones personalizadas y los mensajes de confirmación según sea necesario. Se incluyen los asuntos de las notificaciones, los nombres de remitente y las plantillas de mensajes HTML.
- Conserva las etiquetas y los atributos HTML, la sintaxis de los shortcodes y los marcadores de posición como
{{field:email}},{{meta:form_name}},{min}y{max}. Traduce el texto circundante. Una traducción que altere estos elementos estructurales vuelve al original. - Abre la página en cada idioma. Comprueba la confirmación de campos obligatorios, las opciones condicionales, el texto de privacidad y una confirmación para el cliente usando datos de muestra no sensibles.
El HTML de las notificaciones se traduce antes de sustituir las etiquetas de combinación. Tanto las confirmaciones para el cliente como las notificaciones al administrador usan el idioma de la página que envía de forma predeterminada. Consulta Email notifications para la anulación de idioma para desarrolladores.
Las traducciones de Polylang también se aplican al idioma predeterminado del sitio. Si un mensaje compartido está escrito en inglés pero el idioma predeterminado es español, rellena su columna en español en Languages → Translations → POM Forms / defaults. Mantén los marcadores de posición de validación sin cambios y comprueba el formulario en una página en español. Una traducción vacía sigue usando el texto original.
Los nombres de los campos, los valores de las opciones, los valores de entrada predeterminados, las condiciones, las direcciones de los destinatarios, los adjuntos y los datos enviados permanecen compartidos. Traduce la etiqueta visible de una opción conservando su valor original para el enrutamiento y las integraciones. El texto no traducido usa su texto de origen. Los formularios generados mediante programación siguen controlando su texto a través de su integración generadora.
Subidas a Google Drive
Configura la cuenta de Google y el cliente OAuth en Settings → POM Theme → Integrations → Google Drive y, a continuación, añade un campo Google Drive Upload al formulario.
Usa esto cuando los archivos deban ir directamente a una carpeta de Drive aprobada en lugar de a la Biblioteca de medios de WordPress. Consulta Google Drive uploads for POM Forms para la configuración completa y la lista de comprobación de puesta en producción.
Webhooks
Un webhook envía el envío a una URL controlada por otro servicio o integración.
Configurar un webhook
- Abre el formulario en Forms → All Forms.
- Abre Webhook.
- Habilita la entrega mediante webhook.
- Introduce el endpoint HTTPS proporcionado por el servicio receptor.
- Configura Secret Key cuando el receptor pueda verificar el HMAC de
X-POM-Forms-Signature. - Guarda el formulario.
- Envía una prueba no sensible y comprueba que el receptor devuelve una respuesta
2xxcorrecta.

Usa un endpoint de producción dedicado. No pegues URLs de inspección temporales en un formulario publicado.
Seguridad de los webhooks
- Usa HTTPS.
- Comparte el secreto a través de un canal seguro aprobado.
- Verifica las firmas en el servicio receptor.
- Acepta únicamente los campos que el destino necesita.
- Decide cómo se gestionan los reintentos o las entregas duplicadas.
- No coloques credenciales en un campo visible ni en una URL.
- Trata el mensaje de éxito del formulario y el procesamiento externo correcto como resultados distintos. Un fallo del webhook no sustituye automáticamente la respuesta al visitante.
Crear contenido de WordPress
La pestaña Create Post asigna los valores enviados a una entrada de WordPress o a un tipo de contenido personalizado compatible.
Puedes configurar:
- el tipo de contenido;
- el título, el contenido y el extracto;
- el estado inicial;
- el autor;
- los campos personalizados;
- los términos de taxonomía.
Un flujo de trabajo de revisión seguro
En formularios públicos, crea el contenido como Draft o Pending Review a menos que la publicación automática sea explícitamente necesaria y todos los valores enviados sean de confianza y estén moderados.
- Elige el tipo de contenido.
- Asigna un campo obligatorio o una plantilla de etiquetas de combinación al título.
- Asigna los campos del cuerpo al contenido o al extracto.
- Elige Draft o Pending Review.
- Asigna únicamente los campos personalizados y las taxonomías aprobados.
- Envía pruebas realistas, incluyendo la omisión de valores opcionales.
- Revisa la entrada creada en WordPress.

Cambiar el nombre de un campo de origen puede romper una asignación. Revisa esta pestaña cada vez que cambie el diseño del formulario.
Valores contextuales ocultos
Un campo Hidden puede añadir contexto, como una campaña, una sección de referencia o una categoría predefinida. Los valores ocultos los envía el navegador y no deben tratarse como prueba de identidad, autorización, pago u otro dato sensible para la seguridad.
URLs de acción externas
En Messages/Behavior → Submission Behavior, Form Action URL (GET) y Form Action URL (POST) reenvían los valores validados a un endpoint externo en lugar de ejecutar la cadena de acciones interna de POM. Omiten el almacenamiento, las notificaciones, la pestaña Webhook, las subidas a Google Drive y la creación de entradas.
Usa estos modos solo cuando el destino externo controle todo el flujo de trabajo. Usa la pestaña Webhook cuando POM deba seguir gestionando el almacenamiento y otras acciones.
Diseña para los fallos
Para cada integración externa, decide:
- qué ve el visitante si el destino no está disponible;
- si el envío también se almacena o se envía por correo electrónico;
- quién supervisa el procesamiento fallido;
- si reintentar podría crear duplicados;
- cómo se puede realizar una prueba sin usar datos personales reales.
Configuración en tiempo de ejecución para desarrolladores
Los plugins de confianza pueden ajustar una configuración de formulario normalizada para la solicitud
actual a través de pom_forms_runtime_config. El valor filtrado no se escribe
de nuevo en el formulario, por lo que el constructor de formularios sigue siendo la fuente de la verdad.
Usa pom_forms_before_submission_config cuando la anulación deba aplicarse únicamente a
un envío real del formulario. La acción se ejecuta inmediatamente antes de que POM Forms
resuelva la configuración guardada para su cadena de envío interna.
add_action(
'pom_forms_before_submission_config',
static function (int $form_id): void {
$GLOBALS['my_integration_active_form'] = $form_id;
}
);
add_filter(
'pom_forms_runtime_config',
static function (array $config, int $form_id, bool $resolve_message_defaults): array {
if (
123 !== $form_id
|| ($GLOBALS['my_integration_active_form'] ?? 0) !== $form_id
) {
return $config;
}
$config['store_submissions_override'] = false;
return $config;
},
10,
3
);
Usa este filtro solo para el comportamiento de la solicitud controlado por una integración de servidor de confianza. No lo uses para persistir los cambios del editor. El filtro recibe el ID del formulario y si los valores predeterminados de mensajes se resolvieron para la persona que llama actualmente.
Los plugins que necesiten controles específicos del formulario pueden mostrar sus propios ajustes protegidos
después del constructor mediante pom_forms_builder_after_app. La acción recibe el
ID del formulario y su objeto WP_Post, o cero y null antes del primer guardado del formulario.