# AIP Connector Contract

This document summarizes the connector boundary. The normative protocol rules
are in the [AIP 1.0 Specification](AIP-1.0.md); the frozen Rust SDK contract is
defined by RFC 0004 and `aip-connector`; the task-oriented implementation guide
is [Build a Connector](../guides/build-a-connector.md).

A connector translates an external product or runtime into AIP semantics.
Connectors expose manifests, ingest external events, invoke external systems,
emit results, verify source authenticity, deduplicate deliveries, and map errors
to AIP protocol errors.

Implemented connector boundaries:

- Dify apps, workflows, streaming events, and human input requests.
- CrewAI Python sidecar descriptors, run requests, callbacks, and results.
- Chatwoot webhooks, conversations, contacts, messages, outgoing replies, and
  handoff-oriented channel messages.
- Hermes Agent API discovery, models, skills, toolsets, chat/responses,
  structured runs, sessions, streams, cancellation, channel operations, and
  governed operator/delegation behavior.
- Cal.diy scheduling, booking, calendar, conferencing, and signed-webhook
  operations.

Every callable production connector is required to use transport-authenticated
`ActionExecutionContext`, advertise only implemented behavior, return typed
redacted failures, and qualify each advertised lifecycle operation through the
frozen conformance kit and applicable isolated-live provider tests.

Implementation does not imply external qualification. Current connector
evidence and missing live campaigns are recorded in
[Implementation Status](../reference/implementation-status.md).
