# Integration overview

Choose how applications, communication channels, providers, and telemetry connect to Salambo.

An integration connects an external system to an agent deployment or to Salambo's operational data.

## Integration types

| Type                  | Use                                                                    |
| --------------------- | ---------------------------------------------------------------------- |
| Runtime API           | Call an agent from an application, script or service                   |
| Communication channel | Connect Slack or Microsoft Teams to an agent                           |
| Provider credential   | Allow the hosted worker or sandbox to call a model or external service |
| Observability export  | Send runtime traces to an OTLP HTTP receiver                           |
| Deployment automation | Deploy agent source from CI                                            |

## Common request flow

```mermaid
flowchart LR
  External["External system"] --> Auth["Authentication"]
  Auth --> Admission["Agent admission"]
  Admission --> Run["Run and turn"]
  Run --> Provider["Provider execution"]
  Run --> Sandbox["Sandbox tools"]
  Run --> Delivery["Result delivery"]
  Run --> Diagnostics["Activity and Diagnostics"]
```

## Integration ownership

Before setup, decide:

* which workspace owns the integration;
* which agent deployment receives work;
* who owns the external application or bot;
* where credentials are stored;
* whether credentials belong in the worker runtime or sandbox;
* which external hosts are required;
* how credentials are rotated and revoked;
* which run evidence proves the integration is healthy.

## Standard verification

Every integration should prove:

1. External authentication succeeds.
2. The intended workspace and agent are resolved.
3. A run and turn are created.
4. Provider or extension execution completes.
5. The turn output returns to the external system.
6. Activity and Diagnostics contain the expected sanitized lifecycle evidence.

For failures, locate the stage first:

```text
external delivery
  -> authentication
  -> admission
  -> provider
  -> sandbox
  -> result delivery
```

Then use the integration guide and [run diagnostics](/docs/operate/diagnostics) for that stage.
