Webhook & Integrazioni

Collega CreatorDesk agli strumenti che già usi.

17 eventi, firmati con HMAC, senza codice tramite Zapier, Make o n8n — o con il tuo endpoint webhook. Sincronizzazione newsletter, backup prenotazioni, notifiche Slack e altro ancora.

Test gratuito

Come funziona

Tre passaggi dall'evento in CreatorDesk all'azione nello strumento di destinazione.

1

Crea webhook

Nel Dashboard di CreatorDesk, sotto Integrazioni → Webhook: inserisci l'URL di destinazione, seleziona gli eventi, conferma il DPA.

2

Configura il destinatario

Zapier, Make, n8n o il tuo backend — l'importante è che l'endpoint possa ricevere JSON e verificare HMAC.

3

Azione attivata

Non appena si verifica un evento, CreatorDesk invia il payload. Il tuo strumento reagisce automaticamente — non devi fare nulla.

Documentazione tecnica

Tutti gli eventi, gli header, la verifica HMAC, il comportamento di retry e il troubleshooting — gli stessi snippet che mostriamo ai nostri utenti esistenti.

Guide passo dopo passo

Percorsi di configurazione dettagliati per gli strumenti principali. Clicca su un servizio per aprire la guida.

Evento consigliato client.created
Piattaforma consigliata Zapier (Make.com / n8n analogamente)

Passo dopo passo

  1. 1

    Crea un Webhook in CreatorDesk

    Dashboard → Integrazioni → Webhook → Nuovo Webhook. Seleziona l'evento «client.created», lascia l'URL vuoto per ora, conferma l'AVV e salva.

  2. 2

    Crea un nuovo Zap in Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continua. Zapier mostrerà un URL univoco — copialo.

  3. 3

    Inserisci l'URL nel Webhook di CreatorDesk

    Torna al Webhook in CreatorDesk, incolla l'URL di Zapier e salva.

  4. 4

    Attiva il Webhook di test

    Clicca su «Test Webhook» in CreatorDesk. In Zapier clicca su «Test Trigger» — il payload dovrebbe arrivare.

  5. 5

    Configura l'action: MailerLite → Create/Update Subscriber

    Collega l'account una volta tramite OAuth, poi mappa i campi (vedi tabella sotto).

  6. 6

    Esegui la Test-Action + Pubblica

    Nell'editor di Zapier «Test Action» — assicurati che tutto arrivi correttamente nello strumento di destinazione. Poi in alto a destra «Publish».

Field-Mapping

Campo CreatorDesk Campo MailerLite
client_email Email (obbligatoria)
client_first_name Nome
client_last_name Campo personalizzato: Cognome
client_phone Campo personalizzato: Telefono
(statisch) Tag: creatordesk

Suggerimenti

  • Zapier accetta senza verifica HMAC — l'URL del Catch Hook è già segreta.
  • Vuoi sincronizzare più eventi? Crea un webhook e uno Zap separati per ogni evento.
  • Funziona in modo analogo con Make.com o n8n — il trigger è rispettivamente un «Webhook» / «Generic Webhook», l'action è MailerLite.

Variante B — tramite un modulo pubblico

Iscrizione alla newsletter direttamente da un modulo pubblico — nessuna voce CRM necessaria.

Evento trigger form.submitted
Vantaggio Campi del modulo direttamente come data.*
Campo CreatorDesk Campo MailerLite
data.email Email (obbligatoria)
data.vorname Nome
(statisch) Tag: newsletter-signup
Evento consigliato client.created
Piattaforma consigliata Zapier (Make.com / n8n analogamente)

Passo dopo passo

  1. 1

    Crea un Webhook in CreatorDesk

    Dashboard → Integrazioni → Webhook → Nuovo Webhook. Seleziona l'evento «client.created», lascia l'URL vuoto per ora, conferma l'AVV e salva.

  2. 2

    Crea un nuovo Zap in Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continua. Zapier mostrerà un URL univoco — copialo.

  3. 3

    Inserisci l'URL nel Webhook di CreatorDesk

    Torna al Webhook in CreatorDesk, incolla l'URL di Zapier e salva.

  4. 4

    Attiva il Webhook di test

    Clicca su «Test Webhook» in CreatorDesk. In Zapier clicca su «Test Trigger» — il payload dovrebbe arrivare.

  5. 5

    Configura l'action: Mailchimp → Add/Update Member to List

    Collega l'account una volta tramite OAuth, poi mappa i campi (vedi tabella sotto).

  6. 6

    Esegui la Test-Action + Pubblica

    Nell'editor di Zapier «Test Action» — assicurati che tutto arrivi correttamente nello strumento di destinazione. Poi in alto a destra «Publish».

Field-Mapping

Campo CreatorDesk Campo Mailchimp
client_email Indirizzo email (obbligatorio)
client_first_name Merge-Field FNAME
client_last_name Merge-Field LNAME
(statisch) Tag: creatordesk

Suggerimenti

  • L'azione Mailchimp richiede l'Audience ID — selezionala una volta nell'editor dello Zap.
  • Iscrizioni duplicate: Mailchimp deduplica automaticamente per indirizzo e-mail.
  • Funziona in modo analogo con Make.com o n8n — il trigger è rispettivamente un «Webhook» / «Generic Webhook», l'action è Mailchimp.
Evento consigliato booking.confirmed
Piattaforma consigliata Zapier (Make.com / n8n analogamente)

Passo dopo passo

  1. 1

    Crea un Webhook in CreatorDesk

    Dashboard → Integrazioni → Webhook → Nuovo Webhook. Seleziona l'evento «booking.confirmed», lascia l'URL vuoto per ora, conferma l'AVV e salva.

  2. 2

    Crea un nuovo Zap in Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continua. Zapier mostrerà un URL univoco — copialo.

  3. 3

    Inserisci l'URL nel Webhook di CreatorDesk

    Torna al Webhook in CreatorDesk, incolla l'URL di Zapier e salva.

  4. 4

    Attiva il Webhook di test

    Clicca su «Test Webhook» in CreatorDesk. In Zapier clicca su «Test Trigger» — il payload dovrebbe arrivare.

  5. 5

    Configura l'action: Brevo → Add or Update Contact

    Collega l'account una volta tramite OAuth, poi mappa i campi (vedi tabella sotto).

  6. 6

    Esegui la Test-Action + Pubblica

    Nell'editor di Zapier «Test Action» — assicurati che tutto arrivi correttamente nello strumento di destinazione. Poi in alto a destra «Publish».

Field-Mapping

Campo CreatorDesk Campo Brevo
client_email EMAIL (obbligatoria)
client_first_name FIRSTNAME
client_last_name LASTNAME
slot_date Attributo personalizzato SHOOTING_DATE

Suggerimenti

  • Le liste Brevo devono essere create prima in Brevo — lo Zap fa riferimento tramite ID lista.
  • Crea l'attributo personalizzato SHOOTING_DATE in Brevo come campo data, altrimenti verrà salvato come testo.
  • Funziona in modo analogo con Make.com o n8n — il trigger è rispettivamente un «Webhook» / «Generic Webhook», l'action è Brevo.

Variante B — tramite un modulo pubblico

Invii del modulo come contatti Brevo con tutti i campi del modulo come attributi personalizzati.

Evento trigger form.submitted
Vantaggio Campi del modulo direttamente come data.*
Campo CreatorDesk Campo Brevo
data.email EMAIL (obbligatoria)
data.vorname FIRSTNAME
data.nachname LASTNAME
data.* (alle Felder) Attributo personalizzato per domanda del modulo
Evento consigliato booking.created
Piattaforma consigliata Zapier (Make.com / n8n analogamente)

Passo dopo passo

  1. 1

    Crea un Webhook in CreatorDesk

    Dashboard → Integrazioni → Webhook → Nuovo Webhook. Seleziona l'evento «booking.created», lascia l'URL vuoto per ora, conferma l'AVV e salva.

  2. 2

    Crea un nuovo Zap in Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continua. Zapier mostrerà un URL univoco — copialo.

  3. 3

    Inserisci l'URL nel Webhook di CreatorDesk

    Torna al Webhook in CreatorDesk, incolla l'URL di Zapier e salva.

  4. 4

    Attiva il Webhook di test

    Clicca su «Test Webhook» in CreatorDesk. In Zapier clicca su «Test Trigger» — il payload dovrebbe arrivare.

  5. 5

    Configura l'action: ActiveCampaign → Crea/Aggiorna contatto + Aggiungi tag

    Collega l'account una volta tramite OAuth, poi mappa i campi (vedi tabella sotto).

  6. 6

    Esegui la Test-Action + Pubblica

    Nell'editor di Zapier «Test Action» — assicurati che tutto arrivi correttamente nello strumento di destinazione. Poi in alto a destra «Publish».

Field-Mapping

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

Suggerimenti

  • Opzionale: 2° step Zap «Add Contact to Automation» avvia un funnel di benvenuto.
  • Per uno split pulito: aggiungi uno step Formatter in Zapier tra il Webhook e l'action di ActiveCampaign.
  • Funziona in modo analogo con Make.com o n8n — il trigger è rispettivamente un «Webhook» / «Generic Webhook», l'action è ActiveCampaign.

Variante B — tramite un modulo pubblico

Modulo pubblico direttamente come lead ActiveCampaign — con i campi del modulo come tag.

Evento trigger form.submitted
Vantaggio Campi del modulo direttamente come data.*
Campo CreatorDesk Campo ActiveCampaign
data.email email (obbligatorio)
data.interesse Tag per campo interessi
form.title Tag: form-<title>
Evento consigliato invoice.paid
Piattaforma consigliata Zapier (Make.com / n8n analogamente)

Passo dopo passo

  1. 1

    Crea un Webhook in CreatorDesk

    Dashboard → Integrazioni → Webhook → Nuovo Webhook. Seleziona l'evento «invoice.paid», lascia l'URL vuoto per ora, conferma l'AVV e salva.

  2. 2

    Crea un nuovo Zap in Zapier

    Trigger: «Webhooks by Zapier» → «Catch Hook» → Continua. Zapier mostrerà un URL univoco — copialo.

  3. 3

    Inserisci l'URL nel Webhook di CreatorDesk

    Torna al Webhook in CreatorDesk, incolla l'URL di Zapier e salva.

  4. 4

    Attiva il Webhook di test

    Clicca su «Test Webhook» in CreatorDesk. In Zapier clicca su «Test Trigger» — il payload dovrebbe arrivare.

  5. 5

    Configura l'action: Slack → Invia messaggio nel canale

    Collega l'account una volta tramite OAuth, poi mappa i campi (vedi tabella sotto).

  6. 6

    Esegui la Test-Action + Pubblica

    Nell'editor di Zapier «Test Action» — assicurati che tutto arrivi correttamente nello strumento di destinazione. Poi in alto a destra «Publish».

Field-Mapping

Campo CreatorDesk Campo Slack
invoice_number inserisci nel testo del messaggio
total Importo nel testo del messaggio
client.name Nome cliente nel testo del messaggio

Suggerimenti

  • Template messaggio: 💰 Fattura #{invoice_number} ({total}€) pagata da {client.name}
  • Il canale viene selezionato durante la connessione dell'account Slack — uno per Zap.
  • Funziona in modo analogo con Make.com o n8n — il trigger è rispettivamente un «Webhook» / «Generic Webhook», l'action è Slack.

Variante B — tramite un modulo pubblico

Notifica «Nuovo invio modulo» direttamente nel canale — molto popolare per la lead capture.

Evento trigger form.submitted
Vantaggio Campi del modulo direttamente come data.*
Campo CreatorDesk Campo Slack
form.title Nome del modulo nel testo del messaggio
data.email Email del contatto nel testo del messaggio
submission_id ID di riferimento

1. Panoramica

Per ogni evento sottoscritto, CreatorDesk invia un HTTP POST all'URL di destinazione configurato. Il body è JSON, con header firmato HMAC-SHA256. In caso di errori temporanei (5xx, timeout), viene eseguito un retry con backoff esponenziale fino a cinque volte (1m, 5m, 30m, 2h, 12h).

Attualmente sono disponibili 17 tipi di evento. Per ogni webhook ti abboni solo a quelli di cui hai bisogno — nessuno è obbligatorio.

2. Header della richiesta

Ogni POST arriva con questi header. Gli header personalizzati dalla configurazione del webhook vengono uniti (merged), ma non possono sovrascrivere gli header riservati X-CreatorDesk-*.

Header Esempio
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. Verifica firma HMAC

La stringa firmata è {timestamp}.{raw_body}. Con il secret del webhook puoi verificare che il messaggio provenga davvero da CreatorDesk. Usa confronti a tempo costante (es. hmac.compare_digest), non ==.

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. Payload di esempio

Un esempio rappresentativo per ogni categoria di evento. I campi variano leggermente a seconda dell'evento — riferimento completo per tipo di evento tramite lo stesso payload builder, qui solo estratti.

client.created — Nuovo contatto nel 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 — Appuntamento confermato
{
  "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 — Fattura pagata
{
  "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 — Ordine galleria pagato
{
  "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 — Galleria pubblicata
{
  "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"
}
Tutti i 17 tipi di evento — Elenco completo
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. Nuovo Zap → Trigger: Webhooks by Zapier
  2. Event: Catch Hook → Continue
  3. Copia l'URL generato
  4. Crea un nuovo webhook in CreatorDesk con questo URL
  5. Invia un evento di test da CreatorDesk, avvia il test dello Zap
Documentazione ufficiale →

Make (Integromat)

  1. Nuovo Scenario → Modulo Webhook
  2. Custom Webhook → Add → Save
  3. Copia l'URL del webhook
  4. Crea un nuovo webhook in CreatorDesk con questo URL
  5. Make è in attesa del primo POST di test — invia un evento di test
Documentazione ufficiale →

n8n

  1. Nuovo Workflow → Webhook-Trigger-Node
  2. Method: POST, path a scelta
  3. Copia il Test-URL (o il Production-URL dopo l'attivazione)
  4. Crea un nuovo webhook in CreatorDesk con questo URL
  5. Avvia l'evento di test
Documentazione ufficiale →
Suggerimento: Zapier/Make/n8n non verificano automaticamente la firma HMAC. Per l'uso in produzione, aggiungi un tuo filtro/function-step che verifichi la firma — altrimenti chiunque abbia l'URL può inviare eventi falsificati.

6. Comportamento retry

Response Comportamento
2xxSuccesso, failure_count = 0
4xx (außer 408)Errore permanente, nessun retry — controlla la configurazione del receiver
5xx / 408 / TimeoutExponential Backoff: 1m → 5m → 30m → 2h → 12h (max. 5 tentativi)
5 errori consecutiviIl webhook viene disattivato automaticamente

Timeout HTTP per tentativo: 10 secondi. Progetta il tuo receiver endpoint in modo che risponda con un 2xx entro 10s — e gestisca le elaborazioni pesanti in modo asincrono (queue, background worker).

7. Troubleshooting

Il webhook non arriva
  • Verifica: il webhook è attivo? (la vista di dettaglio mostra il badge di stato)
  • Verifica: l'evento rilevante è sottoscritto?
  • Nel delivery log: esiste un record per quell'evento?
  • Se no: forse il tuo codice esistente non ha eseguito il save che scatena l'evento (es. .update() invece di .save()).
Lo stato di consegna mostra «failed»
  • Clicca sulla voce nel delivery log → l'anteprima del response body mostra l'errore
  • 401 dal receiver: la verifica HMAC non corrisponde — secret errato oppure il body è stato parsato invece di essere verificato come raw
  • 404: URL di destinazione non raggiungibile o path errato
  • 5xx dal receiver: il tuo endpoint va in crash — controlla i log del receiver
  • Re-trigger manuale tramite il pulsante «Riprova» nella vista dettaglio
Il webhook è stato disattivato automaticamente

Dopo 5 errori consecutivi il webhook viene disattivato automaticamente, per evitare retry infiniti su receiver difettosi. Risolvi l'errore, poi riattivalo tramite «Attiva» nella vista dettaglio — il failure_count viene reimpostato a 0.

Eventi duplicati

In teoria non dovrebbe accadere — per le transizioni di stato attiviamo il webhook solo in caso di vera transizione (vecchio != nuovo). Se accade comunque: verifica se più webhook inviano lo stesso evento allo stesso URL.

Idempotenza lato receiver: usa l'header X-CreatorDesk-Request-ID come chiave di deduplicazione. Con un re-trigger manuale viene generato un NUOVO Request-ID; è intenzionale — vuoi davvero consegnare di nuovo.

8. GDPR

I webhook in uscita trasmettono dati dei clienti finali (nome, e-mail, eventualmente telefono) a un destinatario esterno. In quanto fotografo sei responsabile di aver stipulato con il destinatario un contratto di trattamento dei dati (DPA) — oppure che il destinatario sia il tuo stesso sistema.

Quando crei un webhook nel CRM lo confermi tramite una checkbox. Senza la conferma del DPA il webhook non può essere attivato.

Minimizzazione dei dati: i payload contengono solo il minimo necessario per ogni evento. Indirizzi e numeri di telefono non vengono trasmessi se non sono esplicitamente parte dell'evento.

Diritto di cancellazione del cliente finale: quando viene eseguito Client.delete, inviamo automaticamente client.deleted con l'e-mail a tutti i webhook attivi — così il receiver può rimuovere la propria copia locale.

FAQ

Cosa succede se il mio endpoint è temporaneamente offline?

CreatorDesk riprova in caso di errori temporanei (5xx, timeout) con exponential backoff: 1 minuto → 5 minuti → 30 minuti → 2 ore → 12 ore. Dopo 5 tentativi falliti consecutivi, il webhook viene disattivato automaticamente, così te ne accorgi.

Come verifico che un webhook provenga davvero da CreatorDesk?

Ogni request è firmata con HMAC-SHA256. Verifichi la firma con il tuo webhook secret — forniamo snippet di codice per Python, Node.js e PHP più in alto. Zapier/Make non verificano automaticamente; in quel caso aggiungi un filter step.

Di quale piano ho bisogno?

I webhook sono inclusi in tutti i piani — anche nel piano gratuito. Nessun add-on aggiuntivo necessario.

Posso anche ESTRARRE dati da CreatorDesk invece di riceverli solo in push?

Al momento l'integrazione è solo push (webhook). Una pull REST API è in programma — se ne hai concretamente bisogno, faccelo sapere e la daremo priorità.

Quali 17 eventi sono disponibili?
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.
È conforme al GDPR?

In quanto fotografo/a sei responsabile di stipulare un accordo di trattamento dei dati (DPA) con il destinatario del webhook — oppure il destinatario è il tuo sistema. Quando crei un webhook, lo confermi tramite una checkbox. Per le eliminazioni di contatti inviamo automaticamente un evento client.deleted, così il destinatario può rimuovere la propria copia.

Configurato in 5 minuti

Crea un webhook, abbonati agli eventi, collega l'azione in Zapier/Make/n8n — fatto. Non hai bisogno di consulenza, la documentazione è sufficiente.