Zum Hauptinhalt springen
connic
Verbindungen

E-Mail

Eingehende E-Mails starten Agenten über IMAP; KI-generierte Antworten werden über SMTP versendet. Das ermöglicht Support-Automatisierung, E-Mail-Verarbeitung und Benachrichtigungen.

Zuletzt aktualisiert
Inbound (IMAP)
Überwache das Postfach auf eingehende E-Mails und starte Agent Runs. Verknüpfte Agenten erhalten geparste Nachrichtenfelder, Metadaten und unterstützte Anhänge.

Einrichtung

  1. IMAP-Zugangsdaten abrufen

    Server, Port, Benutzername und Passwort. Für Gmail: Aktiviere 2FA und erstelle ein App Password.

  2. Verbindung erstellen

    Öffne den Agenten, klicke auf Add inbound connector, dann auf Create New Connector und wähle Email.

  3. Konfigurieren und erstellen

    Wähle den Mode Inbound (IMAP), gib IMAP Server, Port, Username und Password sowie optional einen zu überwachenden Folder ein. Klicke auf Create; connic beginnt anschließend mit der Überwachung des Postfachs.

So funktioniert Inbound

Inbound-E-Mail-Verbindungen verbinden sich über IMAP mit dem Postfach und fragen neue Nachrichten ab. Geht eine E-Mail ein, wird sie geparst und an alle verknüpften Agenten weitergeleitet. Das eignet sich für die Verarbeitung von Supporttickets, E-Mail-basierten Aktions-Workflows und automatischen Antworten.

Konfiguration
  • IMAP Host: Der Mailserver (z. B. imap.gmail.com)
  • IMAP Port: Üblicherweise 993 für SSL, 143 unverschlüsselt
  • Username: Die E-Mail-Adresse
  • Password: Das Passwort oder app-spezifische Passwort
  • Mailbox: Zu überwachender Ordner (Standard: INBOX)

Gmail-Konfiguration

Gmail erfordert statt des regulären Passworts ein App Password:

  1. Aktiviere 2FA (Zwei-Faktor-Authentifizierung) für das Google-Konto

  2. Öffne Security → App passwords

  3. Erstelle ein neues App Password für „Mail“

  4. Verwende dieses 16-stellige Passwort für die Verbindung

E-Mail-Filter

Konfiguriere Filter, um nur bestimmte E-Mails zu verarbeiten:

  • Unread Only: Nur neue oder ungelesene E-Mails verarbeiten
  • Filter by Sender: Nur E-Mails bestimmter Adressen oder Domains verarbeiten
  • Filter by Subject: Nur E-Mails verarbeiten, deren Betreff bestimmten Text enthält
  • Mark as Read: Verarbeitete E-Mails automatisch als gelesen markieren

Agent-Payload

Der Agent erhält geparste E-Mail-Inhalte und Metadaten:

email-payload.json
{
  "from": "John Doe <john@example.com>",
  "from_address": "john@example.com",
  "to": "support@yourcompany.com",
  "subject": "Help with my order #12345",
  "date": "Mon, 30 Dec 2024 10:30:00 -0500",
  "message_id": "<abc123@mail.example.com>",
  "body_text": "Hi, I need help with my recent order...",
  "body_html": "<html><body>Hi, I need help with...</body></html>",
  "attachments": [
    {
      "filename": "receipt.pdf",
      "content_type": "application/pdf",
      "size_bytes": 45678,
      "content": "JVBERi0xLjQKJeLjz9...",
      "encoding": "base64"
    },
    {
      "filename": "notes.txt",
      "content_type": "text/plain",
      "size_bytes": 256,
      "content": "Order notes: Customer requested...",
      "encoding": "text"
    }
  ],
  "_email": {
    "connector_id": "uuid-here",
    "mailbox": "INBOX",
    "uid": "12345",
    "timestamp": "2024-12-30T15:30:05.123Z"
  }
}

Anhänge

Die Verbindung übergibt bis zu 10 unterstützte Anhänge mit Inhalt. Nach dem Dekodieren dürfen einzelne Dateien und alle Anhänge zusammen jeweils höchstens 10 MiB groß sein. Sie filtert irrelevante Dateien wie Tracking-Pixel, Favicons und eingebettete Signaturbilder heraus.

Enthaltene Anhangstypen

  • Bilder: JPEG, PNG, GIF, WebP, BMP, TIFF (für Agenten mit Vision-Unterstützung)
  • Dokumente: PDF, TXT, CSV, Markdown, JSON, XML, HTML
  • Office: Word (.docx), Excel (.xlsx), PowerPoint (.pptx)

Herausgefiltert

  • Tracking-Pixel und 1×1-Abstandsbilder
  • Favicons und kleine Inline-Bilder (<1 KB)
  • Logos und Dekorationen aus E-Mail-Signaturen

Inhaltskodierung

  • Textdateien: Als Klartext enthalten ("encoding": "text")
  • Binärdateien: Base64-kodiert ("encoding": "base64")

Hinweis: Bei E-Mails über 10 MiB ruft die Verbindung Header, Nachrichtentext und ausgewählte Anhänge getrennt und mit begrenzter Größe ab. Sobald ein Anhang ein Dateilimit überschreitet, werden dieser und alle folgenden Anhänge ausgelassen. Nicht unterstützte oder nicht verfügbare Anhänge werden ebenfalls ausgelassen, mit content: null und Angaben unter file_issues. Standardmäßig erhält der Agent Nachrichtentext und Metadaten auch dann, wenn kein Anhang übernommen wird.

Outbound (SMTP)
Verwende diese Verbindung im automatischen, im Agent-Tool- oder im Middleware-Modus.

Einrichtung

  1. SMTP-Zugangsdaten abrufen

    Server, Port, Benutzername und Passwort.

  2. Verbindung erstellen

    Öffne den Agenten, klicke auf Add outbound connector, dann auf Create New Connector und wähle Email.

  3. Konfigurieren und erstellen

    Wähle den Mode Outbound (SMTP), gib die SMTP-Verbindung und From Address ein und lege optional einen Default Recipient fest. Klicke auf Create, um abgeschlossene Agent-Ausgaben per E-Mail zu senden.

So funktioniert Outbound

Automatische Outbound-Verbindungen interpretieren die finale Ausgabe eines abgeschlossenen Runs als E-Mail. Agent-Tool- und Middleware-Outbound-Verbindungen senden nur bei einem Aufruf. In jedem Modus erstellt connic die MIME-Nachricht und verwendet die gespeicherte SMTP-Verbindung, den Absender und die Wiederholungsstrategie.

Agent-Tool- und Middleware-Outbound-Verbindungen

Eine Agent-Tool-Outbound-Verbindung stellt einen bearbeitbaren Tool-Namen bereit, standardmäßig send_to_<connector_name>. Rufe eine Middleware-Outbound-Verbindung über send_connector mit ihrem konfigurierten Namen auf. Beide verwenden das folgende Payload-Schema. body ist erforderlich; alle anderen Felder sind optional.

connector-payload.json
{
  "body": "Your request has been resolved.",
  "to": ["customer@example.com"],
  "subject": "Re: Your Support Request",
  "html_body": "<p>Your request has been resolved.</p>",
  "cc": ["manager@example.com"],
  "bcc": ["archive@example.com"],
  "reply_to": "support@example.com"
}

to, cc und bcc akzeptieren eine Adresse oder ein Array. Der Empfänger stammt zuerst aus to, dann aus dem konfigurierten Standardempfänger der Verbindung und zuletzt aus dem Kontext der passenden eingehenden E-Mail. Gespeicherte Adressen und SMTP-Zugangsdaten werden dem Modell nicht offengelegt.

Automatische Ausgabe
Bestehende automatische Outbound-Verbindungen behalten das bisherige Verhalten bei: Finale JSON-Daten legen die E-Mail-Felder fest, während ein einfacher String als Nachrichtentext verwendet wird und einen Empfänger erfordert, der sich aus der Konfiguration oder der eingehenden E-Mail ermitteln lässt. Verknüpfungen ohne eigene Einstellungen für ausgehende Verbindungen verwenden weiterhin Automatic / All runs.

Strukturiertes JSON

Steuere die Nachricht mit diesen Feldern. Der Empfänger muss aus to, dem Default Recipient der Verbindung oder dem Kontext einer passenden eingehenden E-Mail stammen:

output.json
{
  "to": "customer@example.com",
  "subject": "Re: Your Support Request",
  "body": "Thank you for contacting us. Your issue has been resolved..."
}
  • to: E-Mail-Adresse des Empfängers; verwendet ersatzweise den Default Recipient und anschließend den passenden Inbound-Absender
  • subject: Betreffzeile; Antworten verwenden den Inbound-Betreff mit Re:, andernfalls lautet der Standard Agent Response
  • body: Klartext-Body; message wird ebenfalls akzeptiert

Optionale Felder

Ergänze optionale Felder für mehr Kontrolle:

output.json
{
  "to": "customer@example.com",
  "cc": "manager@yourcompany.com",
  "bcc": "archive@yourcompany.com",
  "subject": "Your Weekly Report",
  "body": "Here is your weekly summary...",
  "html_body": "<html><body><h2>Weekly Report</h2>...</body></html>",
  "reply_to": "noreply@yourcompany.com"
}
  • cc: Empfänger einer Kopie
  • bcc: Empfänger einer Blindkopie
  • html_body: HTML-Version der E-Mail; html wird ebenfalls akzeptiert
  • reply_to: Antwortadresse

Beispiel für eine Agent-Implementierung

Für eine automatische Outbound-Verbindung kann ein Tool das finale E-Mail-JSON erstellen und ein Output Schema es validieren. Agent-Tool-Outbound-Verbindungen verwenden stattdessen das Payload-Schema der Verbindung, sodass die finale Antwort weiterhin als Text für den Nutzer formuliert werden kann.

agents/email-responder.yaml
version: "1.0"

name: email-responder
type: llm
model: connic/gpt-5.6-terra
description: "Send notifications after task completion"
system_prompt: |
  When a task completes, draft a customer email.
  Use email.compose_notification to build the JSON payload.

tools:
  - email.compose_notification
output_schema: email-response.json
tools/email.py
from typing import Dict, Optional

def compose_notification(
    to: str,
    subject: str,
    body: str,
    html_body: Optional[str] = None,
    cc: Optional[str] = None,
    bcc: Optional[str] = None,
    reply_to: Optional[str] = None,
) -> Dict[str, str]:
    """Build the payload expected by the SMTP connector."""
    payload = {"to": to, "subject": subject, "body": body}
    if html_body:
        payload["html_body"] = html_body
    if cc:
        payload["cc"] = cc
    if bcc:
        payload["bcc"] = bcc
    if reply_to:
        payload["reply_to"] = reply_to
    return payload
schemas/email-response.json
{
  "type": "object",
  "required": ["to", "subject", "body"],
  "properties": {
    "to": { "type": "string" },
    "subject": { "type": "string" },
    "body": { "type": "string" },
    "cc": { "type": "string" },
    "bcc": { "type": "string" },
    "html_body": { "type": "string" },
    "reply_to": { "type": "string" }
  }
}
SMTP-Konfiguration
  • SMTP Host: Der Mailserver (z. B. smtp.gmail.com)
  • SMTP Port: Server-Port (Standard: 587)
  • Username: Die E-Mail-Adresse
  • Password: Das Passwort oder app-spezifische Passwort
  • From Address: E-Mail-Adresse des Absenders
  • From Name: Anzeigename des Absenders (optional)
  • Default Recipient: Fallback, wenn die Ausgabe kein to enthält (optional)
  • Use TLS: SMTP STARTTLS aktivieren (Standard: aktiviert)

Sicherheit

  • Optionale STARTTLS-Verschlüsselung
  • Verschlüsselte Speicherung der Zugangsdaten
  • Automatische Wiederholungsversuche bei Zustellfehlern

Beispiel-Workflow

Kombiniere inbound und outbound für die automatisierte E-Mail-Verarbeitung:

  1. Die Inbound-Verbindung empfängt eine Support-E-Mail
  2. Der Agent analysiert die Anfrage und bestimmt die Antwort
  3. Der Agent gibt E-Mail-Felder als JSON oder einen Klartext-Body zurück
  4. Die Outbound-Verbindung sendet die KI-generierte Antwort