Use Cases

Calendly Integration: Terminbuchungen automatisieren mit n8n und Make.com

So integrieren Sie Calendly in Ihre CRM und Automatisierungs-Workflows.

11 min Lesezeit

Calendly ist der Standard für Online-Terminbuchungen. Aber die wahre Power entfaltet sich erst mit Automatisierung: Leads automatisch ins CRM, Zoom-Links generieren, Erinnerungen anpassen, No-Shows nachverfolgen. In diesem Guide zeigen wir, wie Sie Calendly zum Automatisierungs-Hub machen.

Warum Calendly automatisieren?

Typische manuelle Aufgaben:
AufgabeManueller AufwandAutomatisiert
Lead in CRM eintragen5 Min/TerminAutomatisch
Zoom-Link erstellen2 Min/TerminAutomatisch
Vorbereitung-Mail senden5 Min/TerminTemplate
No-Show nachfassen10 Min/FallAutomatisch
Meeting-Notizen anlegen3 Min/TerminAutomatisch
Bei 50 Terminen/Monat: 20+ Stunden Ersparnis

Calendly Webhook einrichten

Schritt 1: Webhook-URL erstellen

In n8n:
  • Neuer Workflow → Webhook Node
  • HTTP Method: POST
  • Path: calendly
  • URL kopieren: https://n8n.ihre-domain.de/webhook/calendly
  • In Make.com:
  • Neues Szenario → Custom Webhook
  • URL kopieren
  • Schritt 2: Bei Calendly registrieren

  • Calendly → Integrations → Webhooks
  • "Add Webhook" klicken
  • URL eintragen
  • Events auswählen:
  • - invitee.created (Termin gebucht)

    - invitee.canceled (Termin storniert)

    - invitee.no_show (No-Show markiert)

    Webhook Payload Beispiel

    {
    

    "event": "invitee.created",

    "payload": {

    "event_type": {

    "name": "30 Minuten Beratungsgespräch",

    "duration": 30

    },

    "event": {

    "uuid": "abc123",

    "start_time": "2024-01-20T10:00:00Z",

    "end_time": "2024-01-20T10:30:00Z",

    "location": {

    "type": "zoom",

    "join_url": "https://zoom.us/j/123456"

    }

    },

    "invitee": {

    "name": "Max Mustermann",

    "email": "max@example.com",

    "questions_and_answers": [

    {

    "question": "Ihr Unternehmen?",

    "answer": "Musterfirma GmbH"

    },

    {

    "question": "Worum geht es?",

    "answer": "Automatisierung unserer Prozesse"

    }

    ]

    }

    }

    }

    Workflow 1: Lead ins CRM (HubSpot)

    Der Workflow

    Calendly (Termin gebucht)
    

    Kontakt in HubSpot suchen

    Existiert? → Update

    Neu? → Anlegen

    Deal erstellen

    Aufgabe anlegen: "Termin vorbereiten"

    n8n Implementation

    Node 1: Webhook empfangen Node 2: HubSpot Kontakt suchen
    // Node: HTTP Request - HubSpot Search
    

    {

    "method": "POST",

    "url": "https://api.hubapi.com/crm/v3/objects/contacts/search",

    "headers": {

    "Authorization": "Bearer {{ $env.HUBSPOT_TOKEN }}"

    },

    "body": {

    "filterGroups": [{

    "filters": [{

    "propertyName": "email",

    "operator": "EQ",

    "value": "{{ $json.payload.invitee.email }}"

    }]

    }]

    }

    }

    Node 3: Kontakt anlegen/aktualisieren
    // Node: IF - Kontakt existiert?
    

    const contacts = $json.results;

    if (contacts.length > 0) {

    // Update existierenden Kontakt

    return { action: 'update', contactId: contacts[0].id };

    } else {

    // Neuen Kontakt anlegen

    return { action: 'create' };

    }

    Node 4: Deal erstellen
    // Node: HubSpot - Create Deal
    

    {

    "properties": {

    "dealname": "Beratung: {{ $('Webhook').item.json.payload.invitee.name }}",

    "pipeline": "default",

    "dealstage": "appointmentscheduled",

    "amount": "0",

    "closedate": "{{ $('Webhook').item.json.payload.event.start_time }}"

    }

    }

    Workflow 2: Personalisierte Vorbereitung

    Der Workflow

    Calendly (Termin gebucht)
    

    Recherche (LinkedIn, Website)

    Meeting-Brief erstellen

    Notion Page anlegen

    Erinnerung 1h vor Termin

    LinkedIn-Recherche

    // Node: HTTP Request - LinkedIn (via Proxycurl)
    

    {

    "method": "GET",

    "url": "https://nubela.co/proxycurl/api/v2/linkedin",

    "qs": {

    "url": "https://linkedin.com/in/{{ $json.linkedinProfile }}"

    },

    "headers": {

    "Authorization": "Bearer {{ $env.PROXYCURL_KEY }}"

    }

    }

    Meeting-Brief in Notion

    // Node: Notion - Create Page
    

    {

    "parent": { "database_id": "{{ $env.NOTION_MEETINGS_DB }}" },

    "properties": {

    "Name": {

    "title": [{ "text": { "content": "Meeting: {{ $json.invitee.name }}" } }]

    },

    "Date": {

    "date": { "start": "{{ $json.event.start_time }}" }

    },

    "Company": {

    "rich_text": [{ "text": { "content": "{{ $json.company }}" } }]

    }

    },

    "children": [

    {

    "object": "block",

    "type": "heading_2",

    "heading_2": {

    "rich_text": [{ "text": { "content": "Vorbereitung" } }]

    }

    },

    {

    "object": "block",

    "type": "bulleted_list_item",

    "bulleted_list_item": {

    "rich_text": [{ "text": { "content": "Thema: {{ $json.topic }}" } }]

    }

    }

    ]

    }

    Workflow 3: No-Show Nachverfolgung

    Der Workflow

    Calendly (No-Show markiert)
    

    Entschuldigungs-E-Mail senden

    Neuen Terminlink anbieten

    CRM: Status aktualisieren

    Nach 3 Tagen: Follow-up

    Implementation

    // Node: Send Email
    

    {

    "to": "{{ $json.payload.invitee.email }}",

    "subject": "Wir haben Sie vermisst - neuer Termin?",

    "body":

    Hallo {{ $json.payload.invitee.name }},

    leider konnten wir uns heute nicht treffen.

    Kein Problem - hier können Sie direkt einen neuen Termin buchen:

    {{ $env.CALENDLY_LINK }}

    Ich freue mich auf unser Gespräch!

    Beste Grüße

    }

    Workflow 4: Zoom-Integration

    Automatisch Zoom-Meeting erstellen

    Calendly (Termin gebucht)
    

    Zoom: Meeting erstellen

    Calendly: Event aktualisieren

    Bestätigungs-Mail mit Link

    Zoom API

    // Node: HTTP Request - Zoom Create Meeting
    

    {

    "method": "POST",

    "url": "https://api.zoom.us/v2/users/me/meetings",

    "headers": {

    "Authorization": "Bearer {{ $json.zoomToken }}"

    },

    "body": {

    "topic": "Beratungsgespräch: {{ $json.invitee.name }}",

    "type": 2,

    "start_time": "{{ $json.event.start_time }}",

    "duration": {{ $json.event_type.duration }},

    "settings": {

    "join_before_host": true,

    "waiting_room": false

    }

    }

    }

    Workflow 5: SMS-Erinnerung

    Der Workflow

    Schedule (stündlich)
    

    Calendly: Termine in nächsten 2h

    Für jeden Termin:

    SMS-Erinnerung senden (Twilio)

    Implementation

    // Node: Twilio - Send SMS
    

    {

    "to": "{{ $json.invitee.phone }}",

    "body": "Erinnerung: Ihr Termin mit {{ $env.COMPANY_NAME }} beginnt in 1 Stunde. Zoom-Link: {{ $json.event.location.join_url }}"

    }

    Make.com: Calendly Module

    Native Module

    ModulFunktion
    Watch EventsTrigger bei neuen Terminen
    List EventsTermine abrufen
    Get EventEinzelnen Termin abrufen
    Cancel EventTermin stornieren

    Beispiel-Szenario

    Calendly (Watch Events)
    

    Router:

    ├─ Event Created → CRM + Notion

    ├─ Event Canceled → CRM Update

    └─ No Show → Follow-up Email

    Erweiterte Integrationen

    Calendly + Stripe (Bezahlte Termine)

    Termin gebucht
    

    Stripe: Payment Link erstellen

    E-Mail: Zahlungsaufforderung

    [Zahlung erfolgreich]

    Zoom-Link freischalten

    Calendly + Outlook / Google Calendar (Sync)

    Calendly Termin
    

    Google Calendar: Event erstellen

    Details hinzufügen:

    - Teilnehmer-Infos

    - Vorbereitungs-Checkliste

    - Zoom-Link

    Calendly + Slack (Team-Info)

    Neuer Termin
    

    Slack #sales:

    "📅 Neuer Termin:

    Max Mustermann - Musterfirma

    20.01. 10:00 Uhr

    Thema: Automatisierung"

    Custom Booking Pages

    Dynamische Event-Typen

    // Event-Typ basierend auf Lead-Score
    

    const leadScore = await getLeadScore(email);

    let eventType;

    if (leadScore > 80) {

    eventType = 'enterprise-demo-60min';

    } else if (leadScore > 50) {

    eventType = 'standard-demo-30min';

    } else {

    eventType = 'discovery-call-15min';

    }

    const bookingUrl = https://calendly.com/ihr-team/${eventType}?email=${email};

    Pre-filled Booking Links

    // Personalisierter Link
    

    const params = new URLSearchParams({

    name: lead.name,

    email: lead.email,

    a1: lead.company, // Antwort auf Frage 1

    a2: lead.topic // Antwort auf Frage 2

    });

    const bookingUrl = https://calendly.com/team/meeting?${params};

    Reporting & Analytics

    Meeting-Statistiken

    // Wöchentlicher Report
    

    const stats = {

    scheduled: await countEvents('created', 'week'),

    completed: await countEvents('completed', 'week'),

    cancelled: await countEvents('canceled', 'week'),

    noShow: await countEvents('no_show', 'week'),

    conversionRate: (completed / scheduled * 100).toFixed(1)

    };

    await sendSlackMessage('#sales',

    📊 Weekly Booking Report:

    • Gebucht: ${stats.scheduled}
    • Durchgeführt: ${stats.completed}
    • Storniert: ${stats.cancelled}
    • No-Shows: ${stats.noShow}
    • Conversion: ${stats.conversionRate}%
    );

    Best Practices

    1. Fragen nutzen

    Fügen Sie Pflichtfragen hinzu:

    • Unternehmen
    • Rolle
    • Thema/Ziel
    • Telefonnummer (für SMS-Reminder)

    2. Routing-Regeln

    // Termin zum richtigen Teammitglied
    

    const topic = $json.questions_and_answers.find(q => q.question.includes('Thema'))?.answer;

    let assignee;

    if (topic.includes('technisch')) {

    assignee = 'tech-sales@firma.de';

    } else if (topic.includes('enterprise')) {

    assignee = 'enterprise@firma.de';

    } else {

    assignee = 'sales@firma.de';

    }

    3. Reminder-Timing

    ZeitpunktKanalInhalt
    24h vorherE-MailAgenda + Vorbereitung
    1h vorherSMSKurz-Reminder + Link
    10 Min vorherE-Mail"Meeting startet gleich"

    Kosten

    KomponenteKosten
    Calendly Pro$12/Monat
    n8n CloudAb $20/Monat
    Make.comAb $9/Monat
    Twilio SMS~$0.05/SMS

    Fazit

    Calendly-Automatisierung macht aus einem Terminbuchungs-Tool einen vollständigen Sales-Workflow:

    • Leads automatisch erfassen
    • Meetings professionell vorbereiten
    • No-Shows nachverfolgen
    • Team informieren

    Nächste Schritte

  • Webhook einrichten bei Calendly
  • CRM-Integration aufbauen
  • Reminder-Flow erstellen
  • No-Show-Flow hinzufügen
  • Weiterführende Artikel


    Wir unterstützen Sie bei der Calendly-Automatisierung – von der Einrichtung bis zum produktiven Einsatz.

    Sie haben Fragen zur Automatisierung?

    Unsere Experten helfen Ihnen, die richtigen Entscheidungen für Ihr Unternehmen zu treffen.