# Connectors

> Twenty-four typed connector families with declared operation manifests, callable from a process step, a durable workflow or an AI agent - with encrypted credentials, replay-safe execution and one audit path

Source: https://aipril.dev/docs/platform/integrations/connectors

## What a connector is here

A **connector family** registers typed operations, each with an operation manifest declaring its
inputs, its outputs and its failure modes.

That declaration is what allows the same operation to be:

- a step in a [process](https://aipril.dev/docs/processes.md) or a durable workflow,
- a tool an [AI agent](https://aipril.dev/docs/harness/tools-and-mcp.md) may call, with a declared risk classification,
- and an audited event, without per-connector logging code.

## What ships

Twenty-four families, covering four kinds of target:

| Kind | Families |
|---|---|
| Generic outbound | `http` - any REST API, with the SSRF guard every administrator-supplied URL passes through |
| Communication | `email`, `imap`, `slack`, `telegram`, `delivery`, `audience` |
| Platform internals | `bpm`, `engine`, `adb`, `adbfile`, `workbook`, `ledger`, `ledgerDocument`, `dashboard`, `knowledge`, `scan`, `docs`, `apps`, `reference`, `auth`, `pluginsync` |
| External services | `apollo`, `warehouseStock` |

The middle group is the interesting one: **the platform calls itself through the same mechanism it
calls the outside world.** A workflow that reads a task, posts a ledger entry and updates a
spreadsheet is three connector operations, not three special cases, which is why an agent can be
given any of them without new plumbing.

## Email that comes back

`email.send` records the outbound message id when a reply connector is configured, and an IMAP poller
runs per organisation matching inbound replies against it. A reply to a notification lands as a
comment on the task it came from.

So a participant who lives in email is inside the process. See
[Forms and records](https://aipril.dev/docs/processes/forms.md).

## What a call carries

- **Credentials are stored encrypted** and resolved per organisation, never inlined into a definition.
- **Execution is durable.** A connector step inside a workflow inherits retry and compensation from
  [orchestration](https://aipril.dev/docs/processes/under-the-hood.md) instead of implementing its own.
- **Payloads are encrypted at rest with a retention policy**, so a workflow history does not become an
  indefinite copy of everything that passed through it.
- **Quotas are per organisation.**
- **Every call is recorded** with its operation, its actor and its outcome.

## Where they are called from

| Caller | How |
|---|---|
| A process | A connector step in the model |
| A durable workflow | One of thirteen step kinds, of which `connector` is one |
| An AI agent | Through the native bridge into the tool plane, under the caller's own authority |
| A trigger | Five trigger kinds start work: a status change, a task creation, a schedule, a webhook, a spreadsheet row change |

## Next

[Custom connectors](https://aipril.dev/docs/platform/integrations/custom-connectors.md) - adding your own.
