Automatisierte Email-Kampagne zur Neukunden-Akquise mit manueller Freigabe
Die Akquise Pipeline wandelt fertige Websites in Kunden um. Der 🤖 Akquise Agent kümmert sich um die komplette Vorbereitung: Screenshot erstellen, personalisierte Angebotsseite (webseiten.minicon.eu/?ref={slug}) aktualisieren, CUSTOMER_REF eintragen und deployen. Dann Email-Kampagne: Jede Email wird vor dem Versand von Michael geprüft und freigegeben. Der Support-Bot-Name ({bot_name}) wird pro Kunde individuell aus dem Hub geladen (api.minicon.eu/api/admin/customers/{siteId} → botPersona.name). Email-Layout: Felsenland-Hero + Michael-Signatur + Registerdaten-Footer (einheitlich für ALLE Emails).
Trigger: Build-Ticket mit po-approved + build-ticket
Schedule: 0 6,12,18 * * * (3× täglich)
Agent: 🤖 akquise
Action:
project=DAHN AND labels="build-ticket" AND labels="po-approved"labels="akquise-ticket" AND labels="siteid-{slug}" → SKIPlabels="discovery-done" AND labels="siteid-{slug}" → >1 = SKIP + Duplikat schließenlabels="akquise-vorbereitet" AND labels="siteid-{slug}" → SKIPnode C:\working\atlas\scripts\screenshot.js "https://{slug}.minicon.eu" "C:\working\akquise\screenshots\{slug}.jpg"
[Akquise] {Firmenname}akquise-ticket, siteid-{slug}, akquise-bereitjira-attach.ps1 -TicketKey "DAHN-YY" -FilePath "{slug}.jpg"
akquise-bereit → akquise-vorbereitetCopy-Item → C:\working\website-webseiten\public\previews\{slug}.jpg
website-webseiten/src/app/page.tsx zwei Keys hinzufügen:'{slug}.minicon.eu': dahnCustomer('{slug}', '{Name}', '{Beschreibung}', '{Branche}')'{slug}': dahnCustomer('{slug}', '{Name}', '{Beschreibung}', '{Branche}')
npm run buildnpx wrangler pages deploy out --project-name=website-webseiten --branch=maingit add + commit + pushminicon.eu)Ergebnis: Akquise-Ticket mit Screenshot, Angebotsseite aktualisiert mit personalisiertem Ref-Link (webseiten.minicon.eu/?ref={slug})
Trigger: akquise-vorbereitet + Website existiert (HTTP 200)
Schedule: 0 9,15,21 * * * (3× täglich)
Agent: 🤖 akquise
Action:
project=DAHN AND labels="akquise-ticket" AND labels="akquise-vorbereitet" AND labels NOT IN ("akquise-email-preview-sent","akquise-email-approved","akquise-email-1",...)
curl -sI https://{siteid}.minicon.euGET api.minicon.eu/api/admin/customers/{siteId} → botPersona.name{bot_intro} = "mein Name ist {bot_name} — ich bin Ihr persönlicher Support Agent..."{bot_intro} = "" (Zeile komplett weglassen)
siteid-{slug} Label, Kommentare lesen mit Get-AdfText.{Anrede} = Formelle Anrede oder "Guten Tag"{firmenname} = Aus Jira-Ticket Summary{siteid} = Aus Label siteid-{slug}{preview_url} = https://{siteid}.minicon.eu (die fertige Website){angebots_url} = https://webseiten.minicon.eu/?ref={siteid} (ANGEBOTSSEITE! NIEMALS die Preview-URL!){bot_name} = Support-Bot-Name aus Hub{bot_intro} = Voller Intro-Satz mit Bot-Name (oder leer){features} = Individuell extrahierte Features als HTML-Listere_bxqzKnVZ_...), From: [email protected][email protected]akquise-email-preview-sentErgebnis: Label akquise-email-preview-sent, Michael erhält Vorschau per Email
Max 5 Emails pro Run (Rate Limit)
🤖 Akquise Agent (S6b)Trigger: Michael erhält Email-Vorschau
Action:
{websiteUrl}akquise-email-approved auf dem Jira-Ticketakquise-abgelehnt → Pipeline beendet für dieses TicketErgebnis: S6b erkennt akquise-email-approved → Email 1 wird an Kunden gesendet
Trigger: Label akquise-email-approved (Michael hat freigegeben)
Gleicher Cron wie S6b Vorschau — prüft in Schritt 2 freigegebene Tickets
Template: 📧 email-1-vorstellung.html
Action:
project=DAHN AND labels="akquise-ticket" AND labels="akquise-email-approved" AND labels NOT IN ("akquise-email-1","akquise-kontakt","akquise-aktiv")
[email protected]akquise-email-approved → akquise-email-1akquise-vorbereitet entfernenErgebnis: Label akquise-email-1
Trigger: 3 Tage nach Email 1, keine Antwort
Template: 📧 email-2-followup.html
Action:
akquise_next_followup_at ≤ jetztakquise-email-2 hat → nur wenn noch nicht gesendetakquise-email-2 wenn schon Antwort)email-2-followup.html{vorname}, {nachname}, {firma}{websiteUrl} = Live-URL{angebotLink} = Link zumPdfManagement Angebot{unsubscribeLink} = Opt-Out Link{kundenEmail}[email protected]akquise-email-2 setzenakquise_email_2_sent_at = jetztakquise_email_2_recipient = {kundenEmail}akquise_next_followup_at = jetzt + 5 TageErgebnis: Label akquise-email-2
Trigger: 5 Tage nach Email 2, keine Antwort
Template: 📧 email-3-letzte-chance.html
Action:
akquise_next_followup_at ≤ jetztakquise-email-3 hat → nur wenn noch nicht gesendetemail-3-letzte-chance.html{vorname}, {nachname}, {firma}{websiteUrl} = Live-URL{angebotLink} = Link zumPdfManagement Angebot{unsubscribeLink} = Opt-Out Link{kundenEmail}[email protected]akquise-email-3 setzenakquise_email_3_sent_at = jetztakquise_email_3_recipient = {kundenEmail}akquise_kampagne_ended_at = jetztakquise_kampagne_outcome = keine_antwortErgebnis: Label akquise-email-3
Trigger: Kunde antwortet auf eine der Emails oder klickt auf Angebot
akquise-konvertiert setzenakquise_konvertiert_at = jetztakquise_konvertiert_via = email-Nr (1, 2 oder 3)akquise_kampagne_outcome = konvertiertTrigger: Kunde antwortet mit Abmeldung oder bounce
akquise-opt-out setzenakquise_outcome = opt_outakquise_kampagne_ended_at = jetztAkquise Emails:
📧 email-1-vorstellung.html | 📧 email-2-followup.html | 📧 email-3-letzte-chance.htmlCR Workflow Emails:
📧 CR Workflow Email-Templates im CR Workflow PAPakquise-ticket – Akquise-Ticket
akquise-vorbereitet – Bereit für Email-Kampagne
akquise-email-preview-sent – Vorschau an Michael gesendet
akquise-email-approved – Michael hat freigegeben
akquise-email-1 – Email 1 versendet
akquise-email-2 – Email 2 (Follow-up) versendet
akquise-email-3 – Email 3 (Letzte Chance) versendet
akquise-selbst – Manuell verkauft/erledigt
akquise-konvertiert – Kunde hat gekauft/reagiert
akquise-opt-out – Kunde hat sich abgemeldet
akquise-abgelehnt – Michael hat Email-Kampagne abgelehnt