Skip to content

Brevo Integration – Lead Management & E-Mail Automation #13

@koos

Description

@koos

🎯 Ziel

Alle Kontaktanfragen automatisch in Brevo (ehemals Sendinblue) erfassen. Leads segmentieren und automatisierte Follow-up E-Mails versenden.

📖 User Story

Als Sales-Verantwortlicher möchte ich alle Leads zentral in Brevo sehen und automatisierte Nurturing-E-Mails versenden, damit kein Lead verloren geht.


📋 Scope

1. Kontaktformular → Brevo

Bei jeder Formular-Submission:

  • Lead in Brevo anlegen
  • Attribute mappen
  • Tags zuweisen basierend auf Interesse
  • Double Opt-in E-Mail triggern (DSGVO)

2. Attribut-Mapping

Formular-Feld Brevo Attribut Typ
name FIRSTNAME + LASTNAME Text
email EMAIL Email
company COMPANY Text
interest INTEREST_TYPE Text
message NOTES Text
source_page SOURCE Text
submitted_at CREATED_AT Date
language LANGUAGE Text (de/en)

3. Lead-Segmentierung via Tags

Interesse (Formular) Brevo Tag
Allgemeine Anfrage lead-general
Produkt-Demo lead-demo
Preisanfrage lead-pricing
Technische Fragen lead-technical
Partnerschaft lead-partnership

Zusätzliche Tags:

  • source-website (alle Website-Leads)
  • lang-de oder lang-en

4. Listen-Struktur in Brevo

EBICS Box Leads
├── Neue Anfragen (unbearbeitet)
├── Demo angefragt
├── Preisanfrage
├── In Gespräch
├── Kunde
└── Nicht qualifiziert

🛠️ Technische Implementation

Option A: Brevo API direkt (empfohlen)

const createBrevoContact = async (formData) => {
  const response = await fetch("https://api.brevo.com/v3/contacts", {
    method: "POST",
    headers: {
      "api-key": process.env.BREVO_API_KEY,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      email: formData.email,
      attributes: {
        FIRSTNAME: formData.name.split(" ")[0],
        LASTNAME: formData.name.split(" ").slice(1).join(" "),
        COMPANY: formData.company || "",
        INTEREST_TYPE: formData.interest,
        NOTES: formData.message,
        SOURCE: "website-contact",
        LANGUAGE: formData.language
      },
      listIds: [BREVO_LIST_ID_NEW_LEADS],
      updateEnabled: true
    })
  });
  return response.json();
};

Option B: Zapier/Make Webhook (schneller MVP)

const submitToZapier = async (formData) => {
  await fetch(process.env.ZAPIER_WEBHOOK_URL, {
    method: "POST",
    body: JSON.stringify(formData)
  });
};

🔐 Double Opt-in Flow (DSGVO)

1. User füllt Formular aus
   ↓
2. Lead wird in Brevo angelegt (Status: unconfirmed)
   ↓
3. Brevo sendet Double Opt-in E-Mail
   ↓
4. User klickt Bestätigungslink
   ↓
5. Lead wird bestätigt (Status: confirmed)
   ↓
6. Willkommens-E-Mail wird gesendet
   ↓
7. Jan erhält Benachrichtigung über neuen Lead

📧 E-Mail Templates

1. Double Opt-in E-Mail

Betreff (DE): "Bitte bestätige deine Anfrage – EBICS Box"

Hallo {{FIRSTNAME}},

danke für dein Interesse an EBICS Box!

Bitte bestätige deine Anfrage mit einem Klick auf den Button:

[Anfrage bestätigen]

Falls du diese E-Mail nicht angefordert hast, kannst du sie ignorieren.

Viele Grüße
Jan Kus
EBICS Box / Railslove GmbH

2. Willkommens-E-Mail (nach Bestätigung)

Betreff (DE): "Deine Anfrage ist eingegangen – wir melden uns!"

Hallo {{FIRSTNAME}},

danke für deine Anfrage zu EBICS Box!

Ich melde mich innerhalb von 24 Stunden bei dir.

In der Zwischenzeit:
→ Schau dir unsere Dokumentation an: [Link]
→ Lies mehr über Use Cases: [Link]

Du kannst auch direkt einen Termin buchen:
[Termin mit Jan buchen]

Bis bald!
Jan

3. Interne Benachrichtigung

An: jan@railslove.com
Betreff: "Neue EBICS Box Anfrage: {{COMPANY}} – {{INTEREST_TYPE}}"


⚙️ Environment Variables

BREVO_API_KEY=xkeysib-xxx
BREVO_LIST_ID_NEW_LEADS=123

✅ Akzeptanzkriterien

  • Kontaktformular sendet Daten an Brevo API
  • Lead wird mit korrekten Attributen angelegt
  • Tags werden basierend auf Interesse gesetzt
  • Double Opt-in E-Mail wird versendet
  • Willkommens-E-Mail nach Bestätigung
  • Jan erhält Benachrichtigung bei neuen Leads
  • DE und EN E-Mail-Templates
  • Fehlerbehandlung bei API-Fehlern

📁 Referenz: 12-brevo-integration.md
🏷️ Labels: integration, brevo, lead-management, email
Priority: P0
⏱️ Estimate: 3h

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Must Have für LaunchbrevoBrevo/SendinblueemailE-Mail AutomationintegrationDrittanbieter-Integrationlead-managementLead Management

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions