AWS S3
Starte einen Agenten für jede Datei, die in deinem Bucket landet. Er bekommt Key und Event-Details und mit Include Content auch die Datei selbst.
- Publisher
- Von connic
- Modi
- Inbound
- Einrichtung
- Dashboard oder connectors/*.yaml
- Dokumentation
- AWS S3 Docs
Richte deinen Bucket auf eine URL aus
S3 sendet seine Event Notifications über eine SNS-Subscription oder eine EventBridge-Regel direkt an die Verbindung, ohne Funktion dazwischen.
- SNS-Subscription
- Abonniere die URL der Verbindung mit angehängtem ?secret=. connic bestätigt die Subscription, prüft die AWS-Signatur jeder Nachricht und entpackt den Umschlag.
- EventBridge
- Nutze dieselbe URL samt Secret als API Destination einer EventBridge-Regel. EventBridge-Events erreichen den Agenten im selben Payload-Format.
- Ein Secret bei jedem Aufruf
- Sende es als Query-Parameter secret, als X-Connic-Secret Header oder als Bearer Token. Bei falschem Secret antwortet connic mit 401, und kein Run startet.
# 1. Create an SNS topic
aws sns create-topic --name s3-events
# 2. Subscribe the connector URL
aws sns subscribe \
--topic-arn arn:aws:sns:eu-central-1:123456789012:s3-events \
--protocol https \
--notification-endpoint '<connector-url>?secret=<secret-key>'
# 3. Send the bucket's events to the topic
aws s3api put-bucket-notification-configuration \
--bucket example-invoices \
--notification-configuration '{
"TopicConfigurations": [{
"TopicArn": "arn:aws:sns:eu-central-1:123456789012:s3-events",
"Events": ["s3:ObjectCreated:*"]
}]
}'Erhalte das Event oder die Datei gleich mit
Jedes passende Objekt startet einen eigenen Run. Mit Include Content lädt connic die Datei herunter und gibt sie zusammen mit dem Event an das Modell.
- Standardmäßig Metadaten
- Bucket, Key, Größe, ETag, Event-Name und Zeitpunkt, dazu unter _s3 die AWS-Region, Request-ID und Quell-IP.
- Include Content
- Text, JSON und XML kommen als UTF-8-Text an, alles andere base64-codiert, bis zu einer Max File Size zwischen 1 und 10 MiB.
- Dateien über dem Limit
- Der Run startet trotzdem mit den Metadaten, und content.skipped und file_issues nennen den Grund. Aktiviere Files required an der Agent-Verknüpfung, damit solche Runs gar nicht erst starten.
- Nur Lesezugriff
- Downloads brauchen s3:GetObject für den Bucket. Ohne Include Content liest die Verbindung nie daraus.
{
"bucket": "example-invoices",
"key": "incoming/inv-2041.pdf",
"size": 182344,
"etag": "9b2cf535f27731c974343645a3985328",
"event_name": "ObjectCreated:Put",
"event_time": "2026-10-13T09:00:00.000Z",
"_s3": {
"event_source": "aws:s3",
"aws_region": "eu-central-1",
"request_id": "C3D13FE58DE4C810",
"source_ip": "192.0.2.1"
}
}{
"bucket": "example-invoices",
"key": "incoming/inv-2041.pdf",
"size": 182344,
"etag": "9b2cf535f27731c974343645a3985328",
"event_name": "ObjectCreated:Put",
"event_time": "2026-10-13T09:00:00.000Z",
"content": {
"base64": "JVBERi0xLjcKJeLjz9MK...",
"content_type": "application/pdf",
"size_bytes": 182344,
"encoding": "base64"
},
"_s3": { ... }
}Halte den Trigger neben deinen Agenten
Deklariere ihn als YAML-Datei in connectors/. AWS-Schlüssel und Region liegen in einer Connection, die die Datei per Name referenziert. URL und Secret erzeugt connic beim ersten Deployment.
type: s3
name: Invoice uploads
connection: invoices-aws
config:
bucket_name: example-invoices
prefix: incoming/
suffix: .pdf
include_content: true
agents:
- name: invoice-pipeline
files_required: trueLass AWS wiederholen, ohne doppelte Runs
connic verwirft herausgefilterte Events, bevor ein Run startet, und ein erneut zugestelltes Event verwendet den Run, den es schon gestartet hat.
- Event-Typen
- Standard ist Object Created mit Put, Post, Copy und CompleteMultipartUpload. All Events nimmt Löschungen und Wiederherstellungen dazu.
- Prefix und Suffix
- Beschränke Runs auf Keys wie incoming/ und .pdf. Andere Keys werden ohne Run ignoriert.
- Privater Speicher
- Leite Datei-Downloads über eine Bridge, wenn dein Storage-Endpoint in deinem Netzwerk liegt.
Notification kommt an
SNS oder EventBridge senden bis zu 100 Records in einem Body von höchstens 10 MiB.
connic filtert
Records für einen anderen Bucket, einen anderen Event-Typ oder einen Key außerhalb von Prefix und Suffix werden übersprungen.
Runs starten
Jeder verbleibende Record startet einen Run pro verknüpftem Agenten, mit einer Run-ID, die aus dem Event abgeleitet ist.
Fehler lösen eine Wiederholung aus
Kann ein Run nicht starten, antwortet connic mit 503. Die Wiederholung ergibt dieselben Run-IDs, bereits gestartete Runs werden also wiederverwendet.
Wo ein S3-Trigger passt
Wähle ein Szenario und sieh, was im Bucket landet, was der Agent bekommt und wohin das Ergebnis geht.
Gescannte Rechnungen landen in incoming/, und ein ausgehender Webhook schickt die extrahierten Felder an dein ERP.
{
"bucket": "example-invoices",
"key": "incoming/inv-2041.pdf",
"size": 182344,
"etag": "9b2cf535f27731c974343645a3985328",
"event_name": "ObjectCreated:Put",
"event_time": "2026-10-13T09:00:00.000Z",
"content": {
"base64": "JVBERi0xLjcKJeLjz9MK...",
"content_type": "application/pdf",
"size_bytes": 182344,
"encoding": "base64"
},
"_s3": { ... }
}{
"run_id": "550e8400-e29b-41d4-a716-446655440000",
"agent_name": "invoice-pipeline",
"status": "completed",
"output": "Invoice 2041, Example Supplies, 1,240 EUR net, due Nov 12.",
"error": null,
"started_at": "2026-10-13T09:00:00Z",
"ended_at": "2026-10-13T09:00:09Z",
"token_usage": {
"input_tokens": 2140,
"output_tokens": 72,
"thinking_tokens": 0,
"cached_input_tokens": 0,
"total_tokens": 2212
}
}Unterschriebene Verträge landen in contracts/, und der Agent postet Laufzeit, Kündigungsfrist und Verlängerung in Slack.
{
"bucket": "example-contracts",
"key": "contracts/msa-example-gmbh.pdf",
"size": 264511,
"etag": "4c1e8f0b7d2a93e65f10a8c7b3d94e21",
"event_name": "ObjectCreated:Put",
"event_time": "2026-10-13T09:00:00.000Z",
"content": {
"base64": "JVBERi0xLjcKJeLjz9MK...",
"content_type": "application/pdf",
"size_bytes": 264511,
"encoding": "base64"
},
"_s3": { ... }
}{
"text": "Example GmbH MSA: 24 months, 3 months notice, auto-renews.",
"channel_id": "C01234567"
}Partner legen CSV-Exporte in imports/ ab, und der Agent schickt ihnen per E-Mail die Zeilen, die korrigiert werden müssen.
{
"bucket": "example-imports",
"key": "imports/products-2026-10.csv",
"size": 53,
"etag": "e7a2c94b0f1d36852b8e4a7f0c9d1b63",
"event_name": "ObjectCreated:Put",
"event_time": "2026-10-13T09:00:00.000Z",
"content": {
"text": "sku,qty,price\nA-100,4,19.90\nA-101,,24.50\nB-207,2,9.99",
"content_type": "text/csv",
"size_bytes": 53,
"encoding": "utf-8"
},
"_s3": { ... }
}{
"to": "imports@example.com",
"subject": "2 rows to fix in products-2026-10.csv",
"body": "Row 3 has no quantity. Row 4 uses the unknown SKU B-207."
}Neue Fotos landen im Medien-Bucket, und ein ausgehender Webhook schickt Alt-Text und Tags an dein CMS.
{
"bucket": "example-media",
"key": "products/shirt-0412.jpg",
"size": 734002,
"etag": "b05d7e3a91c84f26e0a3d58b7c12f9e4",
"event_name": "ObjectCreated:Put",
"event_time": "2026-10-13T09:00:00.000Z",
"content": {
"base64": "/9j/4AAQSkZJRgABAQAAAQABAAD...",
"content_type": "image/jpeg",
"size_bytes": 734002,
"encoding": "base64"
},
"_s3": { ... }
}{
"run_id": "550e8400-e29b-41d4-a716-446655440000",
"agent_name": "catalog-tagger",
"status": "completed",
"output": "Blue linen shirt on white. Tags: shirt, linen, blue.",
"error": null,
"started_at": "2026-10-13T09:00:00Z",
"ended_at": "2026-10-13T09:00:09Z",
"token_usage": {
"input_tokens": 2140,
"output_tokens": 72,
"thinking_tokens": 0,
"cached_input_tokens": 0,
"total_tokens": 2212
}
}FAQ zu AWS S3
Weitere Verbindungen
Cron-Scheduler
Von connicEin Cron-Ausdruck legt fest, wann ein Agent ausgeführt wird. connic betreibt den Scheduler für tägliche Zusammenfassungen, stündliche Health-Checks und wöchentliche Audits.
InboundE-Mail (SMTP/IMAP)
Von connicEingehende E-Mails lösen Agenten aus, die Antwortentwürfe per SMTP versenden können. Anhänge werden unterstützt.
InboundOutboundMCP Server
Von connicconnic stellt Agenten als MCP-Tools bereit. MCP-Clients listen sie auf, rufen sie auf und bekommen die Antwort des Agenten als Tool-Ergebnis.
InboundSyncPostgreSQL
Von connicMit LISTEN/NOTIFY lösen neue Zeilen einen Agenten aus. Polling oder eine CDC-Pipeline sind nicht erforderlich.
InboundTelegram
Von connicEin Agent kann einen Telegram-Bot betreiben, Nachrichten lesen, im Chat antworten und Benachrichtigungen an Channels senden.
InboundOutboundTelnyx Messaging
Von connicEmpfange und sende SMS/MMS, WhatsApp- und RCS-Nachrichten über dein Telnyx-Konto. Verbinde Agenten mit Kundengesprächen und Benachrichtigungen.
InboundOutbound