Gilt für OpenClaw v2026.2 | Dieser Artikel richtet sich an Nutzer, die ihren KI-Assistenten proaktiv statt nur reaktiv arbeiten lassen möchten.
TL;DR: Cron-Zeitplanaufgaben: "cron": [{"id": "daily", "schedule": "0 9 * * *", "message": "..."}]. Webhook-Trigger: POST /webhook/your-path. Gmail Pub/Sub für automatische E-Mail-Verarbeitung. Heartbeat für proaktive Überprüfungen. Konfigurationsbeispiele: Täglicher Morgenbericht 0 8 * * 1-5, CI-Benachrichtigung per Webhook, E-Mail-Filter per Gmail Pub/Sub.
Übersicht Automatisierung
Automatisierungstypen
| Typ | Auslöser | Anwendungsfall |
|---|---|---|
| Cron | Zeitgesteuert | Tägliche Berichte, regelmäßige Überprüfungen |
| Webhook | HTTP-Anfrage | Integration externer Systeme |
| Gmail Pub/Sub | Neue E-Mail | E-Mail-Automatisierung |
| Heartbeat | Periodische Prüfung | Proaktive Erinnerungen, Vorschläge |
Architekturdiagramm
flowchart TB
subgraph Triggers["Trigger-Quellen"]
CRON[Cron Zeitplan]
WH[Webhook HTTP]
GM[Gmail Pub/Sub]
HB[Heartbeat]
end
subgraph Gateway["Gateway"]
SCHED[Scheduler]
ROUTE[Router]
AGENT[Agent]
end
subgraph Actions["Aktionen"]
MSG[Nachricht senden]
EXEC[Aufgabe ausführen]
NOTIF[Benachrichtigung senden]
end
CRON --> SCHED
WH --> ROUTE
GM --> ROUTE
HB --> SCHED
SCHED --> AGENT
ROUTE --> AGENT
AGENT --> MSG
AGENT --> EXEC
AGENT --> NOTIF
Cron-Zeitplanaufgaben
Cron-Ausdruck
┌───────────── Minute (0 - 59)
│ ┌───────────── Stunde (0 - 23)
│ │ ┌───────────── Tag (1 - 31)
│ │ │ ┌───────────── Monat (1 - 12)
│ │ │ │ ┌───────────── Wochentag (0 - 6, 0 = Sonntag)
│ │ │ │ │
* * * * *
Häufig verwendete Ausdrücke
| Ausdruck | Beschreibung |
|---|---|
0 9 * * * |
Täglich um 9:00 |
0 18 * * 1-5 |
Werktags um 18:00 |
*/30 * * * * |
Alle 30 Minuten |
0 0 1 * * |
Am 1. jedes Monats um 0:00 |
0 9,18 * * * |
Täglich um 9:00 und 18:00 |
0 9 * * 1 |
Jeden Montag um 9:00 |
Cron-Aufgaben konfigurieren
{
"cron": [
{
"id": "daily-briefing",
"schedule": "0 9 * * *",
"session": "main",
"message": "Bitte gib mir den heutigen Terminplan und die offenen Aufgaben",
"enabled": true
},
{
"id": "weekly-summary",
"schedule": "0 18 * * 5",
"session": "main",
"message": "Erstelle die Wochenzusammenfassung",
"enabled": true
},
{
"id": "health-check",
"schedule": "*/15 * * * *",
"session": "main",
"message": "Prüfe den Systemstatus und melde Auffälligkeiten",
"enabled": true
}
]
}
Cron-Konfigurationsfelder
| Feld | Typ | Beschreibung |
|---|---|---|
id |
string | Eindeutiger Bezeichner der Aufgabe |
schedule |
string | Cron-Ausdruck |
session |
string | Zielsitzung |
message |
string | Zu sendende Nachricht |
enabled |
boolean | Ob aktiviert |
timezone |
string | Zeitzone (Standard: System-Zeitzone) |
Cron-Aufgaben verwalten
# Alle Aufgaben auflisten
openclaw cron list
# Beispielausgabe:
# ID Schedule Status Last Run
# daily-briefing 0 9 * * * enabled 2026-02-26 09:00
# weekly-summary 0 18 * * 5 enabled 2026-02-23 18:00
# health-check */15 * * * * enabled 2026-02-26 10:30
# Aufgabe manuell auslösen
openclaw cron run daily-briefing
# Aufgabe aktivieren/deaktivieren
openclaw cron enable daily-briefing
openclaw cron disable daily-briefing
# Aufgaben-Log anzeigen
openclaw cron logs daily-briefing
Webhook-Trigger
Webhook konfigurieren
{
"webhooks": [
{
"id": "github-push",
"path": "/webhook/github",
"secret": "your-webhook-secret",
"session": "main",
"handler": "github-push"
},
{
"id": "custom-alert",
"path": "/webhook/alert",
"secret": "your-webhook-secret",
"session": "main",
"message": "Alarm empfangen: {{data.message}}"
}
]
}
Webhook-Endpunkte
POST http://your-gateway:18789/webhook/github-push
POST http://your-gateway:18789/webhook/alert
GitHub Webhook-Beispiel
{
"webhooks": [
{
"id": "github-push",
"path": "/webhook/github",
"secret": "${GITHUB_WEBHOOK_SECRET}",
"session": "work",
"handler": "github-push"
}
]
}
Handler-Skript:
// ~/.openclaw/handlers/github-push.js
module.exports = async (payload, session) => {
if (payload.ref === 'refs/heads/main') {
const commits = payload.commits.map(c => c.message).join('\n- ');
return `Neuer Push erkannt:\n\nBranch: main\nCommits:\n- ${commits}\n\nSoll ich etwas damit machen?`;
}
return null;
};
Benutzerdefinierte Webhook-Verarbeitung
{
"webhooks": [
{
"id": "monitoring-alert",
"path": "/webhook/alert",
"methods": ["POST"],
"session": "main",
"message": "🚨 Alarmbenachrichtigung\n\nStufe: {{data.level}}\nDienst: {{data.service}}\nNachricht: {{data.message}}\nZeitpunkt: {{data.timestamp}}"
}
]
}
Webhook senden:
curl -X POST http://localhost:18789/webhook/alert \
-H "Content-Type: application/json" \
-H "X-Webhook-Secret: your-secret" \
-d '{
"level": "critical",
"service": "api-server",
"message": "CPU-Auslastung über 90%",
"timestamp": "2026-02-26T10:30:00Z"
}'
Webhook-Sicherheit
{
"webhooks": [
{
"id": "secure-webhook",
"path": "/webhook/secure",
"secret": "your-secret-key",
"signatureHeader": "X-Signature",
"signatureAlgorithm": "sha256",
"ipWhitelist": ["192.168.1.0/24"]
}
]
}
Gmail Pub/Sub-Integration
Gmail Pub/Sub konfigurieren
{
"gmail": {
"pubsub": {
"enabled": true,
"projectId": "your-project-id",
"subscription": "gmail-subscription",
"credentials": {
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "...",
"private_key": "...",
"client_email": "..."
},
"filters": [
{
"from": "[email protected]",
"session": "main",
"message": "Wichtige E-Mail empfangen:\nAbsender: {{sender}}\nBetreff: {{subject}}"
}
]
}
}
}
Gmail Pub/Sub einrichten
- Google Cloud-Projekt erstellen
- Gmail API aktivieren
- Pub/Sub-Thema erstellen
- Dienstkonto erstellen
- Gmail Watch konfigurieren
# Gmail Watch konfigurieren
openclaw gmail watch --email [email protected]
Gmail-Filter
| Filterbedingung | Beschreibung |
|---|---|
from |
Absender-E-Mail |
to |
Empfänger-E-Mail |
subject |
Betreff-Stichwörter |
hasAttachment |
Hat Anhang |
label |
Gmail-Label |
{
"filters": [
{
"from": "[email protected]",
"session": "work",
"message": "GitHub-Benachrichtigung erhalten: {{subject}}"
},
{
"from": "[email protected]",
"hasAttachment": true,
"session": "main",
"message": "Stripe-Dokument erhalten, bitte bearbeiten"
}
]
}
Heartbeat – Proaktive Überprüfung
Heartbeat konfigurieren
{
"heartbeat": {
"enabled": true,
"interval": 3600000,
"session": "main",
"message": "Heartbeat: Bitte prüfe, ob es Dinge gibt, die meine Aufmerksamkeit erfordern"
}
}
Heartbeat-Verwendungszwecke
| Verwendung | Beschreibung |
|---|---|
| Proaktive Erinnerungen | Benutzer regelmäßig erinnern |
| Statusprüfung | System- oder Dienststatus prüfen |
| Aufgabenvorschläge | Kontextbasierte Vorschläge |
| Kontextpflege | Sitzung aktiv halten |
Heartbeat-Beispiel
{
"heartbeat": {
"enabled": true,
"interval": 1800000,
"conditions": [
{
"type": "time",
"start": "09:00",
"end": "18:00"
},
{
"type": "active",
"session": "main"
}
],
"message": "Basierend auf der aktuellen Uhrzeit empfehle ich folgende Prüfungen:\n1. Heutige Aufgaben\n2. E-Mail-Erinnerungen\n3. Terminplan"
}
}
Praxisbeispiele für Automatisierung
Beispiel 1: Täglicher Morgenbericht
{
"cron": [
{
"id": "morning-briefing",
"schedule": "0 8 * * 1-5",
"session": "main",
"message": "Guten Morgen! Bitte erstelle meinen täglichen Morgenbericht:\n1. Wettervorhersage\n2. Heutige Termine\n3. Offene Aufgaben\n4. Zusammenfassung wichtiger E-Mails"
}
]
}
Beispiel 2: CI/CD-Benachrichtigung
{
"webhooks": [
{
"id": "ci-failure",
"path": "/webhook/ci",
"session": "dev",
"message": "⚠️ CI fehlgeschlagen\n\nProjekt: {{data.repository}}\nBranch: {{data.branch}}\nCommit: {{data.commit}}\nFehler: {{data.error}}\n\nSoll ich die Analyse übernehmen?"
}
]
}
Beispiel 3: Automatische E-Mail-Verarbeitung
{
"gmail": {
"pubsub": {
"filters": [
{
"from": "[email protected]",
"hasAttachment": true,
"session": "main",
"message": "Rechnungs-E-Mail empfangen, wird verarbeitet...\nBitte Anhang im Finanzordner speichern"
}
]
}
}
}
Beispiel 4: Systemüberwachung
{
"cron": [
{
"id": "system-monitor",
"schedule": "*/5 * * * *",
"session": "main",
"message": "Systemstatus prüfen",
"skills": ["system-monitor"]
}
]
}
Fehlerbehebung
Cron-Aufgabe wird nicht ausgeführt
# Aufgabenstatus prüfen
openclaw cron list
# Logs prüfen
openclaw logs --filter cron
# Manuell auslösen zum Testen
openclaw cron run task-id
Webhook antwortet nicht
# Webhook-Endpunkt prüfen
curl -X POST http://localhost:18789/webhook/test \
-H "Content-Type: application/json" \
-d '{"test": true}'
# Logs anzeigen
openclaw logs --filter webhook
Gmail Pub/Sub funktioniert nicht
# Abo-Status prüfen
openclaw gmail status
# Neu konfigurieren
openclaw gmail setup
# Berechtigungen prüfen
openclaw gmail check-permissions
Zusammenfassung
Automatisierung verwandelt OpenClaw von einem reaktiven in einen proaktiven Assistenten:
- Cron: Zeitgesteuerte Aufgabenausführung
- Webhook: Auslösung durch externe Ereignisse
- Gmail Pub/Sub: E-Mail-Automatisierung
- Heartbeat: Proaktive Erinnerungen und Vorschläge
Änderungsprotokoll:
- 2026-02-26: Erstveröffentlichung
Seriennavigation:
- ← Vorheriger Artikel: Mobilzugang
- → Nächster Artikel: Praxis: Persönlichen Wissensmanagement-Assistenten aufbauen