Event-Automatisierung
Lösen Sie Automatisierungen mit eigenen Events aus — für den Trial-Lebenszyklus, die Feature-Adoption und mehr.
Lösen Sie Automatisierungen mit eigenen Events aus — für den Trial-Lebenszyklus, die Feature-Adoption und mehr.
Funktionsweise
Wenn Sie ein Event über die API senden, prüft Owlat, ob eine aktive Automatisierung einen passenden Trigger besitzt. Ist das der Fall, läuft die Automatisierung für diesen Kontakt — sie versendet E-Mails, wartet vor dem nächsten Schritt oder verzweigt anhand einer Bedingung. Die Automatisierungen definieren Sie im Dashboard; Ihr Code löst lediglich die Events aus.
Ihre Events planen
Legen Sie ein einheitliches Namensschema fest, bevor Sie mit dem Senden beginnen. Hier ein Beispiel für den Trial-Lebenszyklus eines SaaS-Produkts:
| Event-Name | Wann auslösen | Vorgeschlagene Eigenschaften |
|---|---|---|
trial_started | Benutzer legt ein Konto an | planName, trialDays |
feature_activated | Benutzer probiert ein zentrales Feature aus | featureName |
trial_expiring | 3 Tage vor Ablauf des Testzeitraums | daysLeft, planName |
trial_expired | Testzeitraum endet | planName |
plan_upgraded | Benutzer wechselt zu einem kostenpflichtigen Plan | planName, mrr |
Verwenden Sie snake_case für Event-Namen. Namen müssen mit einem Buchstaben beginnen und dürfen Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten (maximal 100 Zeichen).
Events senden
Trial gestartet
import { Owlat } from '@owlat/sdk-js'
const owlat = new Owlat('lm_live_...')
await owlat.events.send({
email: 'mira@acme.io',
eventName: 'trial_started',
eventProperties: {
planName: 'Pro',
trialDays: 14,
},
})
curl -X POST https://your-deployment.convex.site/api/v1/events \
-H "Authorization: Bearer lm_live_..." \
-H "Content-Type: application/json" \
-d '{
"email": "mira@acme.io",
"eventName": "trial_started",
"eventProperties": {
"planName": "Pro",
"trialDays": 14
}
}'
Feature aktiviert
await owlat.events.send({
email: 'mira@acme.io',
eventName: 'feature_activated',
eventProperties: {
featureName: 'team_invite',
},
})
Trial läuft ab
await owlat.events.send({
email: 'mira@acme.io',
eventName: 'trial_expiring',
eventProperties: {
daysLeft: 3,
planName: 'Pro',
},
})
Kontakte automatisch anlegen
Wenn Sie Events für Benutzer auslösen, die möglicherweise noch nicht als Kontakt existieren, setzen Sie createContactIfNotExists:
await owlat.events.send({
email: 'new-lead@example.com',
eventName: 'trial_started',
eventProperties: { planName: 'Pro', trialDays: 14 },
createContactIfNotExists: true,
})
Die Antwort gibt an, ob ein Kontakt angelegt wurde:
{
"data": {
"eventId": "evt_m6e...",
"contactId": "j57...",
"eventName": "trial_started",
"triggeredAutomations": 1,
"contactCreated": true
}
}
Die Automatisierung einrichten
Sobald Ihr Code Events sendet, legen Sie die Automatisierung im Owlat-Dashboard an:
- Gehen Sie zu Automatisierungen → Neue Automatisierung
- Setzen Sie den Trigger auf Event empfangen und geben Sie den Event-Namen ein (z. B.
trial_expiring) - Fügen Sie Schritte hinzu — eine E-Mail senden, warten, eine weitere senden usw.
- Veröffentlichen Sie die Automatisierung
Automatisierungen werden ausschließlich über den Namen des Events zugeordnet — der im Trigger gesetzte Event-Name muss exakt dem gesendeten eventName entsprechen. Event-Eigenschaften werden mit dem Event aufgezeichnet, beeinflussen die Zuordnung aber nicht, und sie werden nicht in die von der Automatisierung versendeten E-Mail-Templates eingefügt. Automatisierungs-E-Mails personalisieren ausschließlich über Kontaktfelder — {{firstName}}, {{lastName}} und {{email}}.
Nächste Schritte
- Referenz zur Events-API — vollständige Endpunkt-Dokumentation
- Kontaktsynchronisierung — sicherstellen, dass Kontakte existieren, bevor Events ausgelöst werden
- Leitfaden zu Automatisierungen — mehrstufige Abläufe im Dashboard bauen