Zapier adieu: E-Mails automatisch auslesen mit Google Apps Script und Sheets
Wie moderne E-Commerce-Marken und Dienstleister manuelle Buchungs- und Bestelleingänge ohne teure Abo-Gebühren automatisieren.
Ob Sie ein lokales Umzugsunternehmen leiten, bei dem tägliche Buchungsanfragen landen, einen Onlineshop betreiben oder eine B2B-Agentur für Lead-Generierung führen: Ihr Posteingang ist vermutlich voll mit transaktionalen E-Mails. Mitarbeiter Woche für Woche damit zu beschäftigen, Namen, Telefonnummern und Bestelldaten manuell in Tabellen abzutippen, ist ein teurer und fehleranfälliger Prozess.
Viele Unternehmen greifen in dieser Situation zu externen Automatisierungsplattformen wie Zapier oder Make. Doch diese Tools gehen bei steigendem Auftragsvolumen schnell ins Geld. Wenn Sie Google Workspace oder ein einfaches Gmail-Konto nutzen, steht Ihnen jedoch eine völlig kostenlose, integrierte Alternative zur Verfügung: Google Apps Script.
Die Kostenfalle vermeiden: Google Apps Script vs. Zapier
Warum es sich für wachsende Unternehmen lohnt, auf eine maßgeschneiderte In-House-Automatisierung zu setzen, zeigt der direkte Vergleich:
| Kriterium | Zapier (Professional Tarif) | Google Apps Script Lösung |
|---|---|---|
| Monatliche Kosten | ca. 45 € bis 280+ € / Monat | 0,00 € (100% Kostenlos) |
| Task-Limit (Ausführungen) | Je nach Tarif strikt gedeckelt | Sehr hohe Limits (Bis zu 20.000 E-Mails/Tag) |
| Datenschutz & DSGVO | Verarbeitung auf Drittanbieter-Servern | Daten verbleiben sicher in Ihrem Google-Ökosystem |
| Flexibilität | Abhängig von vorgefertigten Modulen | Frei programmierbares JavaScript (RegEx / String-Methoden) |
Die Funktionsweise des Auto-Parsers
Die gesamte Automatisierung läuft über eine schlanke JavaScript-Umgebung, die direkt an Ihre Google-Tabelle gekoppelt ist. Der Ablauf folgt einer stabilen, logischen Schleife:
- Filtern: Das Skript scannt Ihr Postfach nach ungelesenen E-Mails mit einem exakten Betreff oder Label (z. B.
"Neue Buchungsanfrage"). - Extrahieren (Parsing): Mithilfe von regulären Ausdrücken (RegEx) filtert das Skript die gewünschten Werte (Name, Telefonnummer, Datum, Leistung) aus dem E-Mail-Text heraus.
- Speichern & Archivieren: Die Daten werden als neue Zeile in Ihre Google-Tabelle eingetragen. Anschließend wird die E-Mail als "gelesen" markiert, damit sie beim nächsten Durchlauf übersprungen wird.
Schritt-für-Schritt Anleitung: Der Code
Um das System aufzusetzen, erstellen Sie eine neue Google-Tabelle, benennen das erste Tabellenblatt in Buchungen um und öffnen über das Menü Erweiterungen > Apps Script den Editor. Ersetzen Sie den Standardcode mit folgendem Skript:
function parseIncomingEmails() {
// 1. Verbindung zur Google-Tabelle herstellen
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Buchungen");
// 2. Suchkriterien definieren: Ungelesene E-Mails mit bestimmtem Betreff
var searchQuery = "subject:\"Neue Buchungsanfrage\" is:unread";
var threads = GmailApp.search(searchQuery);
if (threads.length === 0) {
Logger.log("Keine neuen ungelesenen Buchungs-E-Mails gefunden.");
return;
}
// 3. Schleife durch alle gefundenen E-Mail-Verläufe
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var message = messages[j];
// Sicherheitsabfrage: Nur ungelesene Nachrichten verarbeiten
if (message.isUnread()) {
var body = message.getPlainBody();
var dateReceived = message.getDate();
// 4. Daten mittels Regulärer Ausdrücke (RegEx) auslesen
var nameMatch = body.match(/Name:\s*(.*)/);
var phoneMatch = body.match(/Telefon:\s*(.*)/);
var dateMatch = body.match(/Datum:\s*(.*)/);
var clientName = nameMatch ? nameMatch[1].trim() : "N/V";
var clientPhone = phoneMatch ? phoneMatch[1].trim() : "N/V";
var bookingDate = dateMatch ? dateMatch[1].trim() : "N/V";
// 5. Daten an die Google-Tabelle anhängen
sheet.appendRow([dateReceived, clientName, clientPhone, bookingDate]);
// 6. E-Mail als gelesen markieren, um Dopplungen zu verhindern
message.markRead();
}
}
}
}
Vollautomatischer Betrieb via Zeitgesteuertem Trigger
Sie müssen den Code nicht jedes Mal manuell ausführen. Über die Google-Infrastruktur lässt sich ein kostenloser Cronjob (Trigger) einrichten, der das Skript im Hintergrund ausführt:
- Klicken Sie im Apps Script Editor links auf das Wecker-Symbol (Trigger).
- Wählen Sie unten rechts + Trigger hinzufügen.
- Wählen Sie bei "Auszuführende Funktion auswählen" die Funktion
parseIncomingEmails. - Stellen Sie die Eventquelle auf Zeitgesteuert.
- Wählen Sie den Typ (z. B. Minutentimer) und das Intervall (z. B. Alle 5 Minuten oder Alle 10 Minuten).
- Klicken Sie auf Speichern und autorisieren Sie den Zugriff auf Ihr Gmail-Konto.
Ab jetzt arbeitet Ihr digitaler Assistent rund um die Uhr. Jede neue Anfrage wird innerhalb weniger Minuten fehlerfrei in Ihre Tabelle eingetragen.
Wann stößt Apps Script an seine Grenzen?
Für einfache bis mittelschwere Text-Extraktionen aus standardisierten E-Mails ist Google Apps Script die perfekte und wirtschaftlichste Lösung. Wenn Ihre Prozesse jedoch komplexer werden – weil Sie unstrukturierte Freitexte analysieren, KI-gestützte Datenvalidierungen benötigen oder große Datenpipelines in Echtzeit betreiben müssen –, lohnt sich der Wechsel auf eine performante Backend-Architektur mit Python (z. B. FastAPI, Django, Celery).