Webhooks de carpeta
Reciba automáticamente en una carpeta específica los archivos enviados desde sistemas externos. Cada carpeta obtiene una URL de recepción única y los datos enviados a esa URL se guardan en la carpeta.
Antes de comenzar
- Un administrador debe activar
Enable Inbound WebhooksyAllow User API Key Issuanceen Configurar las políticas de webhooks.
Crear un webhook en una carpeta
- Seleccione el icono de configuración (⚙️) junto a la carpeta que recibirá el webhook.

- En la pestaña
Webhook inbound, seleccioneAdd. - Seleccione un método de autenticación y una política de conflictos. Ambas opciones se explican a continuación.

- Seleccione
Createpara generar la URL de recepción única de la carpeta (Endpoint URL). Si seleccionóSecure, también se genera unSignature Secret(secreto de firma). Estos valores solo se muestran una vez. Cópielos ahora en un lugar seguro.
- Configure el sistema externo con la URL de recepción y el ejemplo que aparecen en pantalla. Consulte «Seleccionar un método de autenticación» para ver ejemplos de solicitudes.
- Las carpetas con un webhook muestran el icono .
Seleccionar un método de autenticación
Al crear un webhook, seleccione Simple o Secure.
| Autenticación | Funcionamiento |
|---|---|
Simple | La URL de recepción es la propia credencial. Envíe una solicitud POST a la URL emitida sin una firma adicional para guardar el archivo. |
Secure | Cada solicitud debe incluir una firma HMAC en los encabezados X-Webhook-Timestamp, X-Webhook-Nonce y X-Webhook-Signature. Las solicitudes sin firma se rechazan aunque la URL de recepción haya quedado expuesta. |
Un webhook Simple acepta solicitudes utilizando únicamente su URL.
# Subir un archivo mediante multipart
curl -i -X POST "https://<url-de-recepcion>?filename=photo.jpg" \
-F "file=@./photo.jpg"
Un webhook Secure incluye en la firma un hash SHA-256 de todo el cuerpo de la solicitud multipart, incluidos los límites y los encabezados de las partes.

# Subir un archivo mediante multipart (con firma HMAC)
TS=$(date +%s)
NONCE=$(cat /proc/sys/kernel/random/uuid)
BOUNDARY="------------------------$(cat /proc/sys/kernel/random/uuid)"
TMP=$(mktemp /tmp/multipart.XXXXXX)
# Construir primero el cuerpo multipart sin procesar y calcular después su hash.
printf -- --%s$'\r\n' "$BOUNDARY" > "$TMP"
printf 'Content-Disposition: form-data; name="file"; filename="photo.jpg"' >> "$TMP"
printf $'\r\n' >> "$TMP"
printf 'Content-Type: application/octet-stream' >> "$TMP"
printf $'\r\n\r\n' >> "$TMP"
cat ./photo.jpg >> "$TMP"
printf $'\r\n' >> "$TMP"
printf -- --%s--$'\r\n' "$BOUNDARY" >> "$TMP"
BODY_SHA=$(sha256sum "$TMP" | awk '{print $1}')
SIG=$(printf 'POST\n<ruta-de-recepcion>\n%s\n%s\n%s' "$TS" "$NONCE" "$BODY_SHA" \
| openssl dgst -sha256 -hmac "$SECRET" -binary | xxd -p -c 256)
curl -i -X POST "https://<url-de-recepcion>?filename=photo.jpg" \
-H "Content-Type: multipart/form-data; boundary=$BOUNDARY" \
-H "X-Webhook-Timestamp: $TS" \
-H "X-Webhook-Nonce: $NONCE" \
-H "X-Webhook-Signature: sha256=$SIG" \
--data-binary @"$TMP"
rm -f "$TMP"
Seleccionar una política de conflictos
Elija qué hacer cuando se reciba otro archivo con el mismo nombre. La política se selecciona al crear el webhook y puede cambiarse después en la misma pantalla seleccionando Apply.
| Política | Funcionamiento |
|---|---|
Reject | No guarda el nuevo archivo si ya existe otro con el mismo nombre. |
Overwrite | Sustituye el archivo existente por el nuevo. |
Rename | Conserva el archivo existente y guarda el nuevo con un nombre diferente. |
Especificar un nombre de archivo
Especifique el nombre del archivo que se cargará de una de estas dos formas:
- Parámetro de consulta:
?filename=report.json - Encabezado HTTP:
X-Webhook-Filename: report.json

Guardar en subcarpetas
Los archivos recibidos mediante un webhook se guardan directamente en la carpeta donde se creó. Para guardarlos en sus subcarpetas añadiendo una subruta al nombre del archivo, active Subfolders en el webhook.
- Expanda el webhook que desea configurar en la lista de webhooks.
- Seleccione
AllowedenSubfolders. - Seleccione
Apply.
Especifique en el nombre del archivo una ruta relativa a la carpeta del webhook. Las carpetas que no existan se crearán automáticamente.
- Parámetro de consulta:
?filename=releases/1.0/a.zip - Encabezado HTTP:
X-Webhook-Filename: releases/1.0/a.zip
| Regla | Descripción |
|---|---|
| Profundidad y longitud | Puede utilizar hasta 8 niveles de subcarpetas y cada nombre puede tener hasta 255 bytes. |
| Rutas no permitidas | Se rechazan los nombres que contienen .., las rutas que comienzan o terminan con /, las barras invertidas (\) y los nombres de carpeta que comienzan con .. |
| Dónde especificar la ruta | Especifique la subruta solo en el parámetro de consulta o en el encabezado. No se usan las carpetas escritas en el nombre de una parte de archivo multipart/form-data. |
Revisar los datos recibidos
Los datos enviados desde sistemas externos se acumulan como archivos en la carpeta. Abra la carpeta para revisar los elementos recibidos.
Pausar o eliminar un webhook
- Puede pausar o eliminar un webhook desde la carpeta. Pase el cursor sobre un webhook de la lista para mostrar los botones
PauseyDelete.
- Abra la pestaña
My WebhooksdeAccount settingspara ver todas las carpetas en las que configuró un webhook. También puede pausar o eliminar webhooks desde esta lista.

Casos de uso
- Supervisión de sitios web y pantallas: recopile automáticamente capturas periódicas desde Zapier, n8n, Make o herramientas similares para registrar los cambios.
- Almacenamiento de resultados de automatizaciones: guarde informes, facturas, archivos PDF y otros resultados de herramientas RPA o de automatización sin intervención manual.
- Recopilación de archivos adjuntos de formularios: reúna en una sola carpeta los archivos enviados mediante Google Forms, Typeform y servicios similares.
- Artefactos de compilación y despliegue: reciba los artefactos de compilación y los informes de pruebas generados por una canalización de CI/CD.