# Platform architecture

> Where Conclude runs, how data moves between Slack, Microsoft Teams, the Dashboard, email and web forms, what Conclude stores, and how triggers run.

Canonical HTML page: https://conclude.io/doc/platform/architecture/
Last updated: 2026-11-02

---

Conclude is a hosted service between the collaboration tools people use and the systems their work depends on. Slack and Microsoft Teams provide the conversation interfaces. The Conclude Dashboard provides a shared view of activities and the controls for Connect, Apps, Agents, and administration.

## System context

![Slack and Microsoft Teams APIs and the web Dashboard communicate with the Conclude service. The service uses managed data stores and configured external integrations.](https://conclude.io/images/doc/figures/architecture.svg)

*Figure: Logical service boundaries. External systems participate only when the relevant capability and integration are configured. This view does not imply that all data is synchronized to every system.*

Platform configuration and activity records are different from the content held by the connected collaboration platforms. The [security policy](https://conclude.io/security/) describes infrastructure, encryption, and data handling.

## Where Conclude runs

Conclude runs on Google Cloud in Iowa, USA. The application runs as scalable serverless containers.

Relational data is stored in Cloud SQL (PostgreSQL) and cached data in Memorystore. Both have automated backups and point-in-time recovery. Data in transit uses TLS 1.2 or later. Data at rest is encrypted with AES-256.

Conclude is SOC 2 Type II certified, HIPAA compliant and GDPR compliant. Its sub-processors include Google, Slack Technologies and Microsoft.

## What Conclude stores

The security page and FAQ list what Conclude keeps:

- Workspace names, technical identifiers, contact information, channel data, logs of actions taken in Conclude, and usage statistics
- User information: name, avatar and email, where Conclude can reach them
- Team and channel information: names, IDs and member lists
- Message metadata. Conclude maps message IDs so that it can match edits and deletions across platforms

What happens to message content depends on the capability. **Connect** doesn't store message text, images or attachments. It processes them briefly to pass them between Slack and Microsoft Teams. **Apps** store message content, encrypted, so that a ticket can be shown in the Dashboard.

Conclude keeps your data for as long as your agreement lasts. After that, it is deleted on request, or within 30 days of termination, whichever comes first.

## Data and access boundaries

Connect processes messages to deliver them to the linked conversation and retains metadata for reconciliation. Its message handling should not be confused with an app's retained activity record or an agent's knowledge collection. See [message syncing](https://conclude.io/doc/connect/message-syncing/), [file sharing](https://conclude.io/doc/connect/file-sharing/), and [Agents](https://conclude.io/doc/agents/) for the applicable behavior.

Platform authorization and Conclude permissions have different purposes. Slack and Microsoft permissions allow Conclude to operate in the approved environment. Account, connection, and app permissions control what people may configure or do within Conclude. [Administration](https://conclude.io/doc/admin/) explains these scopes.

The available HTTP endpoints support configured form submissions, email webhooks, and activity search. They are documented in the [endpoint reference](https://conclude.io/doc/reference/endpoints/); Conclude does not expose a general-purpose activity CRUD API through those endpoints. An app's lookup integration instead makes an outbound request to a configured information service.

