Webhooks e integraciones

Conecta CreatorDesk con las herramientas que ya usas.

17 eventos, firmados con HMAC, sin código vía Zapier, Make o n8n — o con tu propio endpoint de webhook. Sincronización de newsletter, copia de seguridad de reservas, notificaciones en Slack y más.

Prueba gratuita

Cómo funciona

Tres pasos desde el evento en CreatorDesk hasta la acción en la herramienta de destino.

1

Crear webhook

En el Dashboard de CreatorDesk, en Integraciones → Webhooks: introduce la URL de destino, selecciona los eventos y confirma el AVV.

2

Configura el receptor

Zapier, Make, n8n o tu propio backend — lo importante es que el endpoint pueda recibir JSON y verificar HMAC.

3

Acción activada

En cuanto ocurre un evento, CreatorDesk envía el payload. Tu herramienta reacciona automáticamente — no tienes que hacer nada más.

Documentación técnica

Todos los eventos, cabeceras, verificación HMAC, comportamiento de reintentos y resolución de problemas — los mismos fragmentos de código que mostramos a nuestros usuarios actuales.

Instrucciones paso a paso

Rutas de configuración concretas para las herramientas más importantes. Haz clic en un servicio para abrir las instrucciones.

Evento recomendado client.created
Plataforma recomendada Zapier (Make.com / n8n de forma análoga)

Paso a paso

  1. 1

    Crear un Webhook en CreatorDesk

    Dashboard → Integraciones → Webhooks → Nuevo Webhook. Selecciona el evento «client.created», deja la URL vacía por ahora, confirma el AVV y guarda.

  2. 2

    Crear un nuevo Zap en Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continue. Zapier mostrará una URL única — cópiala.

  3. 3

    Introducir la URL en el Webhook de CreatorDesk

    Vuelve al Webhook en CreatorDesk, pega la URL de Zapier y guarda.

  4. 4

    Disparar el Webhook de prueba

    Haz clic en «Test-Webhook» en CreatorDesk. En Zapier haz clic en «Test Trigger» — el payload debería llegar.

  5. 5

    Configurar la acción: MailerLite → Create/Update Subscriber

    Conecta la cuenta una vez mediante OAuth y luego mapea los campos (consulta la tabla a continuación).

  6. 6

    Ejecutar Test-Action + Publish

    En el editor de Zapier, «Test Action» — asegúrate de que todo llega correctamente en la herramienta de destino. Luego, «Publish» en la esquina superior derecha.

Field-Mapping

Campo de CreatorDesk Campo de MailerLite
client_email Email (obligatorio)
client_first_name Nombre
client_last_name Campo personalizado: apellido
client_phone Campo personalizado: teléfono
(statisch) Tags: creatordesk

Consejos

  • Zapier acepta sin verificación HMAC — la URL del Catch Hook ya es secreta.
  • ¿Sincronizar varios eventos? Crea un webhook propio y un Zap propio por evento.
  • Funciona de forma análoga con Make.com o n8n — el trigger es en cada caso un «Webhook» / «Generic Webhook», la action es MailerLite.

Variante B — a través de un formulario público

Registro al newsletter directamente desde un formulario público — sin necesidad de crear un contacto en el CRM.

Evento desencadenador form.submitted
Ventaja Campos del formulario directamente como data.*
Campo de CreatorDesk Campo de MailerLite
data.email Email (obligatorio)
data.vorname Nombre
(statisch) Tags: newsletter-signup
Evento recomendado client.created
Plataforma recomendada Zapier (Make.com / n8n de forma análoga)

Paso a paso

  1. 1

    Crear un Webhook en CreatorDesk

    Dashboard → Integraciones → Webhooks → Nuevo Webhook. Selecciona el evento «client.created», deja la URL vacía por ahora, confirma el AVV y guarda.

  2. 2

    Crear un nuevo Zap en Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continue. Zapier mostrará una URL única — cópiala.

  3. 3

    Introducir la URL en el Webhook de CreatorDesk

    Vuelve al Webhook en CreatorDesk, pega la URL de Zapier y guarda.

  4. 4

    Disparar el Webhook de prueba

    Haz clic en «Test-Webhook» en CreatorDesk. En Zapier haz clic en «Test Trigger» — el payload debería llegar.

  5. 5

    Configurar la acción: Mailchimp → Add/Update Member to List

    Conecta la cuenta una vez mediante OAuth y luego mapea los campos (consulta la tabla a continuación).

  6. 6

    Ejecutar Test-Action + Publish

    En el editor de Zapier, «Test Action» — asegúrate de que todo llega correctamente en la herramienta de destino. Luego, «Publish» en la esquina superior derecha.

Field-Mapping

Campo de CreatorDesk Campo de Mailchimp
client_email Email Address (obligatorio)
client_first_name Merge-Field FNAME
client_last_name Merge-Field LNAME
(statisch) Tags: creatordesk

Consejos

  • La acción de Mailchimp requiere el Audience ID — selecciónalo una vez en el editor del Zap.
  • Registros duplicados: Mailchimp deduplica automáticamente por dirección de email.
  • Funciona de forma análoga con Make.com o n8n — el trigger es en cada caso un «Webhook» / «Generic Webhook», la action es Mailchimp.
Evento recomendado booking.confirmed
Plataforma recomendada Zapier (Make.com / n8n de forma análoga)

Paso a paso

  1. 1

    Crear un Webhook en CreatorDesk

    Dashboard → Integraciones → Webhooks → Nuevo Webhook. Selecciona el evento «booking.confirmed», deja la URL vacía por ahora, confirma el AVV y guarda.

  2. 2

    Crear un nuevo Zap en Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continue. Zapier mostrará una URL única — cópiala.

  3. 3

    Introducir la URL en el Webhook de CreatorDesk

    Vuelve al Webhook en CreatorDesk, pega la URL de Zapier y guarda.

  4. 4

    Disparar el Webhook de prueba

    Haz clic en «Test-Webhook» en CreatorDesk. En Zapier haz clic en «Test Trigger» — el payload debería llegar.

  5. 5

    Configurar la acción: Brevo → Add or Update Contact

    Conecta la cuenta una vez mediante OAuth y luego mapea los campos (consulta la tabla a continuación).

  6. 6

    Ejecutar Test-Action + Publish

    En el editor de Zapier, «Test Action» — asegúrate de que todo llega correctamente en la herramienta de destino. Luego, «Publish» en la esquina superior derecha.

Field-Mapping

Campo de CreatorDesk Campo de Brevo
client_email EMAIL (obligatorio)
client_first_name FIRSTNAME
client_last_name LASTNAME
slot_date Atributo personalizado SHOOTING_DATE

Consejos

  • Las listas de Brevo deben crearse previamente en Brevo — el Zap las referencia mediante el ID de lista.
  • Crear el atributo personalizado SHOOTING_DATE en Brevo como campo de fecha, de lo contrario se guardará como texto.
  • Funciona de forma análoga con Make.com o n8n — el trigger es en cada caso un «Webhook» / «Generic Webhook», la action es Brevo.

Variante B — a través de un formulario público

Envíos de formularios como contactos de Brevo con todos los campos del formulario como atributos personalizados.

Evento desencadenador form.submitted
Ventaja Campos del formulario directamente como data.*
Campo de CreatorDesk Campo de Brevo
data.email EMAIL (obligatorio)
data.vorname FIRSTNAME
data.nachname LASTNAME
data.* (alle Felder) Atributo personalizado por pregunta del formulario
Evento recomendado booking.created
Plataforma recomendada Zapier (Make.com / n8n de forma análoga)

Paso a paso

  1. 1

    Crear un Webhook en CreatorDesk

    Dashboard → Integraciones → Webhooks → Nuevo Webhook. Selecciona el evento «booking.created», deja la URL vacía por ahora, confirma el AVV y guarda.

  2. 2

    Crear un nuevo Zap en Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continue. Zapier mostrará una URL única — cópiala.

  3. 3

    Introducir la URL en el Webhook de CreatorDesk

    Vuelve al Webhook en CreatorDesk, pega la URL de Zapier y guarda.

  4. 4

    Disparar el Webhook de prueba

    Haz clic en «Test-Webhook» en CreatorDesk. En Zapier haz clic en «Test Trigger» — el payload debería llegar.

  5. 5

    Configurar la acción: ActiveCampaign → Create/Update Contact + Add Tag

    Conecta la cuenta una vez mediante OAuth y luego mapea los campos (consulta la tabla a continuación).

  6. 6

    Ejecutar Test-Action + Publish

    En el editor de Zapier, «Test Action» — asegúrate de que todo llega correctamente en la herramienta de destino. Luego, «Publish» en la esquina superior derecha.

Field-Mapping

Campo de CreatorDesk Campo de ActiveCampaign
email email (obligatorio)
customer_name firstName + lastName (Split)
phone phone
(statisch) Tag: creatordesk-lead

Consejos

  • Opcional: 2.º paso del Zap «Add Contact to Automation» inicia un funnel de bienvenida.
  • Para un Split limpio: añade un paso Formatter en Zapier entre el Webhook y la acción de ActiveCampaign.
  • Funciona de forma análoga con Make.com o n8n — el trigger es en cada caso un «Webhook» / «Generic Webhook», la action es ActiveCampaign.

Variante B — a través de un formulario público

Formulario público directamente como lead de ActiveCampaign — con los campos del formulario como tags.

Evento desencadenador form.submitted
Ventaja Campos del formulario directamente como data.*
Campo de CreatorDesk Campo de ActiveCampaign
data.email email (obligatorio)
data.interesse Tag por campo de interés
form.title Tag: form-<title>
Evento recomendado invoice.paid
Plataforma recomendada Zapier (Make.com / n8n de forma análoga)

Paso a paso

  1. 1

    Crear un Webhook en CreatorDesk

    Dashboard → Integraciones → Webhooks → Nuevo Webhook. Selecciona el evento «invoice.paid», deja la URL vacía por ahora, confirma el AVV y guarda.

  2. 2

    Crear un nuevo Zap en Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continue. Zapier mostrará una URL única — cópiala.

  3. 3

    Introducir la URL en el Webhook de CreatorDesk

    Vuelve al Webhook en CreatorDesk, pega la URL de Zapier y guarda.

  4. 4

    Disparar el Webhook de prueba

    Haz clic en «Test-Webhook» en CreatorDesk. En Zapier haz clic en «Test Trigger» — el payload debería llegar.

  5. 5

    Configurar la acción: Slack → Send Channel Message

    Conecta la cuenta una vez mediante OAuth y luego mapea los campos (consulta la tabla a continuación).

  6. 6

    Ejecutar Test-Action + Publish

    En el editor de Zapier, «Test Action» — asegúrate de que todo llega correctamente en la herramienta de destino. Luego, «Publish» en la esquina superior derecha.

Field-Mapping

Campo de CreatorDesk Campo de Slack
invoice_number insertar en el texto del mensaje
total Importe en el texto del mensaje
client.name Nombre del cliente en el texto del mensaje

Consejos

  • Plantilla de mensaje: 💰 Factura #{invoice_number} ({total}€) pagada por {client.name}
  • El canal se selecciona al conectar la cuenta de Slack — uno por Zap.
  • Funciona de forma análoga con Make.com o n8n — el trigger es en cada caso un «Webhook» / «Generic Webhook», la action es Slack.

Variante B — a través de un formulario público

Notificación de «nueva entrega de formulario» directamente en el canal — muy popular para la captura de leads.

Evento desencadenador form.submitted
Ventaja Campos del formulario directamente como data.*
Campo de CreatorDesk Campo de Slack
form.title Nombre del formulario en el texto del mensaje
data.email Email del contacto en el texto del mensaje
submission_id ID de referencia

1. Resumen

Por cada evento suscrito, CreatorDesk envía un HTTP POST a la URL de destino configurada. El cuerpo es JSON con una cabecera firmada con HMAC-SHA256. En caso de errores transitorios (5xx, timeout) se reintenta con backoff exponencial hasta cinco veces (1m, 5m, 30m, 2h, 12h).

Actualmente hay 17 tipos de eventos disponibles. Por webhook solo te suscribes a los que necesitas — ninguno es obligatorio.

2. Cabeceras de la solicitud

Cada POST incluye estas cabeceras. Las cabeceras personalizadas de la configuración del webhook se fusionan, pero no pueden sobrescribir las reservadas X-CreatorDesk-*.

Cabecera Ejemplo
Content-Typeapplication/json
X-CreatorDesk-Eventclient.created
X-CreatorDesk-Signaturesha256=a1b2c3...
X-CreatorDesk-Timestamp2026-05-12T09:30:00Z
X-CreatorDesk-Request-ID8d3f2e4a-1c5b-...
User-AgentCreatorDesk-Webhooks/1.0

3. Verificar la firma HMAC

El string firmado es {timestamp}.{raw_body}. Con el secreto del webhook puedes verificar que el mensaje proviene realmente de CreatorDesk. Usa comparaciones en tiempo constante (p. ej. hmac.compare_digest), no ==.

Python (Flask / Django)

import hmac, hashlib

WEBHOOK_SECRET = "dein_secret_aus_creatordesk"

def verify(request):
    timestamp = request.headers["X-CreatorDesk-Timestamp"]
    received = request.headers["X-CreatorDesk-Signature"]  # "sha256=..."
    body = request.get_data()  # raw bytes, NICHT request.json

    message = f"{timestamp}.".encode() + body
    expected = "sha256=" + hmac.new(
        WEBHOOK_SECRET.encode(), message, hashlib.sha256
    ).hexdigest()

    if not hmac.compare_digest(expected, received):
        return "invalid signature", 401

    # Replay-Schutz: Timestamp darf nicht aelter als 5 min sein
    # → return 401 bei zu altem Timestamp

    return "ok", 200

Node.js (Express)

const crypto = require("crypto");
const WEBHOOK_SECRET = process.env.WEBHOOK_SECRET;

// WICHTIG: raw body capturen, nicht JSON-parsen vor verify
app.post("/webhook",
  express.raw({ type: "application/json" }),
  (req, res) => {
    const ts = req.headers["x-creatordesk-timestamp"];
    const received = req.headers["x-creatordesk-signature"];
    const body = req.body;  // Buffer

    const message = Buffer.concat([Buffer.from(ts + "."), body]);
    const expected = "sha256=" + crypto
      .createHmac("sha256", WEBHOOK_SECRET)
      .update(message).digest("hex");

    if (!crypto.timingSafeEqual(
        Buffer.from(expected), Buffer.from(received))) {
      return res.status(401).send("invalid signature");
    }

    const payload = JSON.parse(body.toString());
    // ... verarbeiten
    res.send("ok");
});

PHP

<?php
$secret = getenv("WEBHOOK_SECRET");
$body = file_get_contents("php://input");  // raw bytes
$ts = $_SERVER["HTTP_X_CREATORDESK_TIMESTAMP"];
$received = $_SERVER["HTTP_X_CREATORDESK_SIGNATURE"];

$message = $ts . "." . $body;
$expected = "sha256=" . hash_hmac("sha256", $message, $secret);

if (!hash_equals($expected, $received)) {
    http_response_code(401);
    exit("invalid signature");
}

$payload = json_decode($body, true);
// ... verarbeiten
echo "ok";

4. Payloads de ejemplo

Un ejemplo representativo por categoría de evento. Los campos varían ligeramente según el evento — referencia completa por tipo de evento mediante el mismo payload builder; aquí solo extractos.

client.created — Nuevo contacto en el CRM
{
  "id": 42,
  "uuid": "8d3f2e4a-1c5b-4d6e-9a8b-7c5d4e3f2a1b",
  "email": "[email protected]",
  "name": "Anna Beispiel",
  "first_name": "Anna",
  "last_name": "Beispiel",
  "company": null,
  "phone": "+49 123 456789",
  "tags": ["Hochzeit", "2026"],
  "project_count": 0,
  "source": "instagram",
  "client_number": "K-2026-0042",
  "created_at": "2026-05-12T09:30:00Z"
}
booking.confirmed — Cita confirmada
{
  "id": 17,
  "customer_name": "Anna Beispiel",
  "email": "[email protected]",
  "phone": "+49 123 456789",
  "slot_date": "2026-08-14",
  "slot_time_start": "10:00:00",
  "project_id": 38,
  "quote_id": null,
  "booked_at": "2026-05-12T09:15:00Z",
  "confirmed_at": "2026-05-12T09:30:00Z"
}
invoice.paid — Factura pagada
{
  "id": 89,
  "invoice_number": "R-2026-0089",
  "title": "Hochzeit Anna & Tobias",
  "status": "paid",
  "total": "1450.00",
  "subtotal": "1218.49",
  "issue_date": "2026-05-01",
  "due_date": "2026-05-31",
  "paid_at": "2026-05-12T09:30:00Z",
  "client": {
    "id": 42,
    "email": "[email protected]",
    "name": "Anna Beispiel",
    "first_name": "Anna",
    "last_name": "Beispiel"
  },
  "project_id": 38,
  "quote_id": 23
}
order.paid — Pedido de galería pagado
{
  "id": 156,
  "order_number": "GS-2026-00156",
  "gallery_id": 73,
  "customer_email": "[email protected]",
  "customer_name": "Anna Beispiel",
  "total": "199.00",
  "payment_method": "stripe",
  "status": "paid",
  "items": [
    {"id": 412, "product_type": "digital_image_package",
     "quantity": 1, "unit_price": "199.00"}
  ],
  "paid_at": "2026-05-12T09:30:00Z"
}
gallery.published — Galería publicada
{
  "id": 73,
  "uuid": "f6146aa2-0335-4af2-8c0f-cfcbb0f7d3d0",
  "title": "Hochzeit Anna & Tobias",
  "status": "published",
  "distribution_mode": "shop",
  "project_id": 38,
  "image_count": 342,
  "allow_sale": true,
  "published_at": "2026-05-12T09:30:00Z"
}
Los 17 tipos de eventos — lista completa
client.created Ein Kontakt wurde im CRM angelegt.
client.updated Felder eines Kontakts wurden geaendert.
client.deleted Ein Kontakt wurde geloescht (DSGVO-Loeschungsrecht — Empfaenger sollte lokale Kopie entfernen).
booking.created Ein Kunde hat ueber den Buchungs-Kalender eine Anfrage gestellt (noch nicht bestaetigt).
booking.confirmed Ein Termin wurde bestaetigt (SlotBooking.confirmed_at gesetzt).
project.created Ein neues Projekt wurde im CRM angelegt.
project.status_changed Der Status eines Projekts hat sich veraendert.
quote.created Ein neues Angebot wurde erstellt.
quote.accepted Der Kunde hat ein Angebot akzeptiert.
invoice.issued Eine Rechnung wurde an den Kunden geschickt.
invoice.paid Eine Rechnung wurde als bezahlt markiert.
contract.signed Ein Vertrag wurde vom Kunden unterschrieben.
gallery.published Eine Galerie hat den Status published erhalten.
gallery.delivered Galerie.delivered_at wurde gesetzt — Lieferschein ist raus.
order.paid Ein Endkunde hat eine Galerie-Bestellung bezahlt.
order.shipped Eine Galerie-Bestellung mit Druck-Artikeln wurde versandt.
form.submitted Ein Public-Formular wurde abgeschickt — Payload enthaelt alle Felder.

5. Zapier / Make / n8n — Quickstart

Zapier

  1. Nuevo Zap → Trigger: Webhooks by Zapier
  2. Event: Catch Hook → Continue
  3. Copiar la URL generada
  4. Crear un nuevo webhook en CreatorDesk con esta URL
  5. Enviar evento de prueba desde CreatorDesk, activar el test del Zap
Documentación oficial →

Make (Integromat)

  1. Nuevo Scenario → módulo Webhook
  2. Custom Webhook → Add → Save
  3. Copiar la URL del webhook
  4. Crear un nuevo webhook en CreatorDesk con esta URL
  5. Make espera el primer POST de prueba — enviar Test-Event
Documentación oficial →

n8n

  1. Nuevo Workflow → Webhook-Trigger-Node
  2. Method: POST, Path a tu elección
  3. Copiar la URL de prueba (o la URL de producción tras la activación)
  4. Crear un nuevo webhook en CreatorDesk con esta URL
  5. Activar evento de prueba
Documentación oficial →
Consejo: Zapier/Make/n8n no verifican la firma HMAC automáticamente. Para uso en producción, añade un paso de filtro/función propio que compruebe la firma — de lo contrario, cualquiera con la URL puede enviar eventos falsos.

6. Comportamiento de reintentos

Response Comportamiento
2xxÉxito, failure_count = 0
4xx (außer 408)Error permanente, sin reintento — revisar la configuración del receptor
5xx / 408 / TimeoutExponential Backoff: 1m → 5m → 30m → 2h → 12h (máx. 5 intentos)
5 fallos consecutivosEl webhook se desactiva automáticamente

Timeout HTTP por intento: 10 segundos. Diseña tu endpoint receptor para que devuelva un 2xx en menos de 10 s y procese las tareas pesadas de forma asíncrona (cola, worker en segundo plano).

7. Resolución de problemas

El webhook no llega
  • Comprueba: ¿está activo el webhook? (la vista de detalle muestra el indicador de estado)
  • Comprueba: ¿está suscrito el evento correspondiente?
  • En el registro de entregas: ¿existe alguna entrada para ese evento?
  • Si no: puede que tu código existente no haya ejecutado el guardado que dispara el evento (p. ej., .update() en lugar de .save()).
El estado de entrega muestra «failed»
  • Haz clic en la entrada del Delivery-Log → el fragmento del Response-Body muestra el error
  • 401 del receptor: la verificación HMAC no coincide — secret incorrecto o el body fue parseado en lugar de verificado en raw
  • 404: URL de destino no alcanzable o ruta incorrecta
  • 5xx del receptor: tu endpoint falla — revisa los logs del receptor
  • Reintento manual mediante el botón «Reintentar» en la vista de detalle
El webhook fue desactivado automáticamente

Tras 5 errores consecutivos, el webhook se desactiva automáticamente para evitar reintentos infinitos con receptores defectuosos. Corrige el error y reactívalo mediante «Activar» en la vista de detalle — el failure_count se restablece a 0.

Eventos duplicados

En principio no debería ocurrir — en las transiciones de estado solo disparamos cuando hay un cambio real (antiguo != nuevo). Si ocurre de todos modos: comprueba si varios webhooks envían el mismo evento a la misma URL.

Idempotencia en el lado del receptor: usa la cabecera X-CreatorDesk-Request-ID como clave de deduplicación. Con un reintento manual se genera un NUEVO Request-ID; esto es intencionado — realmente quieres volver a entregar.

8. GDPR

Los webhooks salientes transmiten datos de clientes finales (nombre, correo electrónico, teléfono si procede) a un receptor externo. Como fotógrafo/a, eres responsable de que exista un contrato de encargo de tratamiento (DPA) con el receptor — o de que el receptor sea tu propio sistema.

Al crear un webhook en el CRM, confirmas esto mediante una casilla de verificación. Sin la confirmación del DPA, el webhook no puede activarse.

Minimización de datos: los payloads contienen solo lo imprescindible por evento. Los datos de dirección y números de teléfono no se transmiten deliberadamente salvo que sean parte explícita del evento.

Derecho de eliminación del cliente final: al ejecutar Client.delete, enviamos automáticamente client.deleted con el correo electrónico a todos los webhooks activos — para que el receptor pueda eliminar su copia local.

FAQ

¿Qué pasa si mi endpoint está caído?

CreatorDesk reintenta ante errores temporales (5xx, timeout) con backoff exponencial: 1 minuto → 5 minutos → 30 minutos → 2 horas → 12 horas. Tras 5 intentos fallidos consecutivos, el webhook se desactiva automáticamente para que te des cuenta.

¿Cómo verifico que un webhook realmente viene de CreatorDesk?

Cada request está firmado con HMAC-SHA256. Verificas la firma con tu webhook secret — ofrecemos fragmentos de código para Python, Node.js y PHP más arriba. Zapier/Make no verifican automáticamente; allí añades un paso de filtro.

¿Qué plan necesito?

Los webhooks están incluidos en todos los planes — incluso en el plan gratuito. No se necesitan add-ons adicionales.

¿Puedo también extraer datos de CreatorDesk en lugar de solo recibir push?

Por ahora la integración es solo push (webhooks). Una API REST pull está en desarrollo — si la necesitas concretamente, dínoslo y la priorizamos.

¿Qué 17 eventos están disponibles?
client.created — Ein Kontakt wurde im CRM angelegt.
client.updated — Felder eines Kontakts wurden geaendert.
client.deleted — Ein Kontakt wurde geloescht (DSGVO-Loeschungsrecht — Empfaenger sollte lokale Kopie entfernen).
booking.created — Ein Kunde hat ueber den Buchungs-Kalender eine Anfrage gestellt (noch nicht bestaetigt).
booking.confirmed — Ein Termin wurde bestaetigt (SlotBooking.confirmed_at gesetzt).
project.created — Ein neues Projekt wurde im CRM angelegt.
project.status_changed — Der Status eines Projekts hat sich veraendert.
quote.created — Ein neues Angebot wurde erstellt.
quote.accepted — Der Kunde hat ein Angebot akzeptiert.
invoice.issued — Eine Rechnung wurde an den Kunden geschickt.
invoice.paid — Eine Rechnung wurde als bezahlt markiert.
contract.signed — Ein Vertrag wurde vom Kunden unterschrieben.
gallery.published — Eine Galerie hat den Status published erhalten.
gallery.delivered — Galerie.delivered_at wurde gesetzt — Lieferschein ist raus.
order.paid — Ein Endkunde hat eine Galerie-Bestellung bezahlt.
order.shipped — Eine Galerie-Bestellung mit Druck-Artikeln wurde versandt.
form.submitted — Ein Public-Formular wurde abgeschickt — Payload enthaelt alle Felder.
¿Es compatible con el RGPD?

Como fotógrafo/a, eres responsable de tener un contrato de encargo de tratamiento (DPA) con el destinatario del webhook — o bien el destinatario es tu propio sistema. Al crear un webhook, lo confirmas mediante una casilla de verificación. En caso de eliminación de contactos, enviamos automáticamente un evento client.deleted para que el destinatario pueda eliminar su copia.

Configurado en 5 minutos

Crea el webhook, suscríbete a los eventos, vincula la acción en Zapier/Make/n8n — listo. No necesitas asesoramiento, la documentación es suficiente.