> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsa.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# Plain Integration for Customer Support Conversation Syncing

> Connect your Plain customer support platform to Corsa for real-time conversation syncing with compliance context.

The Plain integration connects your Plain customer support platform directly to the Corsa platform. All customer support conversations - including threads, messages, and attachments - are automatically synced from Plain into your Corsa dashboard via real-time webhooks.

This ensures your compliance team has complete visibility into customer support interactions alongside compliance data.

## How It Works

1. **Secure Connection** - Securely link one or more Plain workspaces to Corsa. One-time setup per workspace with fully encrypted credential storage.
2. **Automatic Real-Time Syncing** - Corsa receives real-time webhook notifications when conversations are created, messages are sent/received, or thread statuses change.
3. **Keeping Everything Up-to-Date** - Status changes, new messages, and new conversations are all synced in real time across all connected workspaces.

## Multi-Workspace Support

Corsa supports connecting up to **3 Plain workspaces** per platform. This allows you to separate conversations across different teams, products, or regions while keeping everything synced in a single Corsa dashboard.

Each workspace is configured independently with its own:

* Plain API Key and webhook secret
* Customer Card settings
* Thread Field settings

To add another workspace, go to the Plain integration settings and click **Add Workspace**.

## Prerequisites

* A Plain account with permission to generate API credentials and configure webhooks.
* Owner access to the Corsa application.

## Setting Up the Plain Integration

### Step 1: Configure in Corsa

1. Log in to Corsa.
2. Go to **Developers Hub → Integrations**.
3. Click **Configure** on the Plain card.

### Step 2: Workspace Authentication

For each workspace you want to connect, you will need:

* **Workspace Name** - A label to identify this workspace in Corsa (e.g., "Support", "Sales", "EU Team"). If left empty, the name will be automatically fetched from the Plain workspace.
* **Plain API Key** with the required permissions: `attachment:download`, `attachment:read`, `company:read`, `customer:read`, `customerEmail:read`, `email:read`, `label:read`, `machineUser:read`, `thread:read`, `threadActivity:read`, `threadField:read`, `threadFieldSchema:read`, `timeline:read`, `user:read`, `workspace:read`
* **Plain HMAC Secret**

### Step 3: Optional - Customer Card Configuration

Toggle the **Customer Card** option per workspace to display Corsa client details directly in the Plain sidebar. Available fields: Jurisdiction, Account Status, Risk Level, Client Type, Activity Status.

<Note>Additional permissions required for customer cards: `customerCardConfig` (create, delete, edit, read) and `customerCardConfigApiDetails` (edit, read).</Note>

### Step 4: Optional - Thread Fields Configuration

Toggle **Thread Fields** per workspace to auto-populate thread fields with Corsa client data. Available fields: Jurisdiction, Client Type, Country.

<Note>Additional permissions required: `threadFieldSchema` (create, delete, edit, read) and `threadField` (create, delete, update, read).</Note>

### Step 5: Configure Webhooks in Plain

After saving, Corsa generates a unique webhook configuration **for each workspace**. Set up a webhook in each Plain workspace using its corresponding URL and secret.

## Historical Conversation Import

Corsa can import historical conversations from Plain. Client matching uses:

1. **Plain Customer ID (Direct Link):** If already stored on the client record.
2. **Email Lookup (Automatic Matching):** Corsa searches Plain using the client's email address.

Go to **Settings → Integrations → Plain** and click **Trigger Full Sync**.

**What Gets Imported:**

* Up to 10 threads per customer
* Conversations from the last 90 days
* All messages, statuses, and attachments within those threads

## Automatic Client Matching

When a new conversation is received, Corsa links it to the correct client using the Plain Customer ID.

<Note>If an individual client doesn't have a Plain Customer ID but their email matches the customer's email in Plain, the conversation will still sync. Corsa will automatically update the client record with the Plain Customer ID.</Note>

***

Corsa offers native integrations with leading compliance, blockchain analytics, and custody providers. [See all integrations](/integrations) or [schedule a demo](https://calendly.com/michellelatzer/welcome-to-corsa) to see how Corsa fits into your stack.
