Agenten an deine Systeme anbinden.
Ereignisse rein. Ergebnisse raus.
Eine Verbindung startet deinen Agenten, wenn eine E-Mail, ein Webhook oder eine Kafka-Nachricht eingeht oder ein Zeitplan fällig ist. Das Ergebnis schickt sie an deine API, in eine Queue oder nach Slack.
Jedes Ticket startet einen Run. Die Antwort geht zurück ans Helpdesk.
Das Helpdesk schickt jedes neue Ticket an eine Webhook-Verbindung. Sie startet den Agenten support-triage.
Die Anfrage wird geprüft
Bei falschem X-Connic-Secret antwortet connic mit 401, und kein Run startet.
curl -X POST <webhook-url> \ -H "Content-Type: application/json" \ -H "X-Connic-Secret: <your-secret-key>" \ -d '{"id": "T-4821", "priority": "urgent", "subject": "Card charged twice"}'Jeder verknüpfte Agent bekommt einen Run
Im Modus Inbound antwortet connic sofort mit den Run-IDs.
{ "status": "ok", "dispatched_to": 1, "run_ids": ["550e8400-e29b-41d4-a716-446655440000"] }Der Run kennt seine Quelle
In Agent Runs siehst du, welche Verbindung ihn gestartet hat, und kannst ihn mit derselben Eingabe neu starten.
Triggered by Helpdesk ticketsInbound connectorDas Ergebnis geht zurück
Ist der Run fertig, schickt die ausgehende Verbindung das Ergebnis ans Helpdesk, signiert mit X-Connic-Signature.
Automatic outbound connector · All runsX-Connic-Signature
Ergebnisse nach Slack, an deine API oder in eine Queue schicken.
Jede Verknüpfung mit einer ausgehenden Verbindung legt fest, wer sendet. Ziel, Zugangsdaten und Retries bleiben in der Verbindung.
- Automatisch
- Sendet einmal nach jedem fertigen Run oder nur nach Runs bestimmter Eingänge.
- Agent Tool
- Das KI-Modell entscheidet, ob es sie aufruft, und schreibt den Payload.
- Middleware
- Dein before() oder after() ruft send_connector auf, das KI-Modell hat darauf keinen Einfluss.
from typing import Any, Dict
from connic.tools import send_connector
async def after(response: str, context: Dict[str, Any]) -> str:
ticket = context.get("payload", {})
if ticket.get("priority") == "urgent":
await send_connector(
"escalate",
{"text": f"Urgent ticket {ticket.get('id')}: {response}"},
)
return responseVerbindungen stehen im Code und gehen mit jedem Deployment live.
Ein Rollback stellt auch die Verbindungen des älteren Deployments wieder her. Zugangsdaten stehen nicht in den Dateien, sie kommen aus Connections und Variablen.
type: email
mode: inbound
name: Support inbox
connection: support-mailbox
config:
mailbox: INBOX
filter_unread_only: true
agents:
- support-triage
environments:
Staging:
connection: support-mailbox-staging
Production: {}type: webhook
mode: outbound
name: Ticket updates
config:
outbound_url: ${HELPDESK_WEBHOOK_URL}
agents:
- support-triageZugangsdaten an einer Stelle ändern.
Verbindungen wie Kafka, SQS, E-Mail und Slack lesen ihre Zugangsdaten aus einer projektweiten Connection. Eine Änderung gilt ohne Deployment für jede Verbindung, die sie nutzt.