# plugin-conversations

`@fayz-ai/plugin-conversations` · preview · Partial capability

Customers reach out everywhere — a WhatsApp here, an Instagram DM there, an email, a text. Replying across five tabs is how businesses drop conversations. plugin-conversations is the GoHighLevel-style unified inbox for the Fayz engine: every channel collapses into one threaded view, so a salon, a restaurant, or an agency answers everyone from a single place.

## Specs

- **Package:** `@fayz-ai/plugin-conversations`
- **Version:** 0.2.4
- **Status:** preview
- **Capability:** Partial capability
- **Product type:** Management (Admin/SaaS)
- **Stable channel:** `^0.2.4`
- **Migrations:** none
- **Factory:** `createConversationsPlugin()`

## Data model

Convention: plg_ + tenant_id + RLS.

- `plg_conversations` — contact_name, contact_handle, channel, last_message_preview, last_message_at, unread_count
- `plg_conversation_messages` — conversation_id, channel, direction, body, author, at

## AI tools

| id | mode | description |
| --- | --- | --- |
| `conversations.list-threads` | read | Lists open conversations across all channels, optionally filtered by channel. |
| `conversations.send-message` | persist | Sends a reply in a conversation thread. |

## Integrations

No hosted connector — external providers come in via the connector spine (`@fayz-ai/core`).

## Integrate

Add the plugin to surfaces.admin.plugins in your app's app.manifest.json and run the doctor to validate:

```json
{ "surfaces": { "admin": { "plugins": [ { "id": "conversations", "enabled": true } ] } } }
```

```bash
npx fayz doctor
```
