emit_event
emit_event ist ein eingebautes Tool, das jedem Selu-Agenten zur Verfügung steht. Damit kann ein Agent einem Nutzer proaktiv eine Benachrichtigung schicken, selbst wenn gerade kein aktives Gespräch läuft. Das ermöglicht Anwendungsfälle wie Erinnerungen, Warnungen, geplante Updates und Hintergrund-Monitoring.
So funktioniert es
Abschnitt betitelt „So funktioniert es“Wenn das LLM emit_event aufruft, macht der Orchestrator Folgendes:
- Er erstellt ein Benachrichtigungs-Payload.
- Er liefert es über alle verbundenen Kanäle des Nutzers aus, also Web-Chat, iMessage und Telegram.
- Er startet optional eine neue Session, falls der Nutzer auf die Benachrichtigung antwortet.
Für den Nutzer erscheint das Ereignis einfach als Nachricht des Agenten. Es ist keine spezielle UI auf dem Kanal nötig.
Tool-Signatur
Abschnitt betitelt „Tool-Signatur“name: emit_eventparameters: - name: title type: string required: true description: Short headline for the notification (max 100 chars). - name: body type: string required: true description: The notification message. Markdown is supported. - name: priority type: string required: false default: normal description: "normal or urgent. Urgent events may trigger push notifications." - name: schedule type: string required: false description: "ISO 8601 datetime for delayed delivery. Omit for immediate."Beispiel in agent.md
Abschnitt betitelt „Beispiel in agent.md“Du kannst dem Agenten im System Prompt erklären, wann er Events auslösen soll:
## RemindersWhen the user asks you to remind them about something:1. Confirm the reminder details.2. Use `emit_event` with a `schedule` parameter set to the requested time.3. Set `title` to a short summary and `body` to the full reminder text.Beispiel für einen Tool-Call
Abschnitt betitelt „Beispiel für einen Tool-Call“Wenn das LLM entscheidet, ein Event auszulösen, sieht der Tool-Call etwa so aus:
{ "tool": "emit_event", "parameters": { "title": "Standup in 10 minutes", "body": "Your daily standup meeting starts at 9:30 AM.", "priority": "normal", "schedule": "2025-07-15T09:20:00Z" }}Der Orchestrator bestätigt das Event und gibt Folgendes zurück:
{ "event_id": "evt_a1b2c3", "status": "scheduled", "deliver_at": "2025-07-15T09:20:00Z"}Event-Abonnements
Abschnitt betitelt „Event-Abonnements“Nutzer können wiederkehrende Events von Agenten abonnieren, die das unterstützen. Ein News-Agent könnte zum Beispiel täglich ein Briefing auslösen. Das Abonnement wird in den Agenten-Einstellungen des Nutzers konfiguriert. Als Entwickler musst du dafür nur emit_event im System Prompt sinnvoll unterstützen.
Die Nutzersicht dazu findest du unter Abonnements und Ereignisse im User Guide.
Grenzen
Abschnitt betitelt „Grenzen“| Grenze | Wert |
|---|---|
| Maximal Events pro Agent und Stunde | 60 |
Maximale body-Länge | 4.000 Zeichen |
| Maximale geplante Verzögerung | 30 Tage |
| Maximal ausstehende Events pro Nutzer | 500 |