# Connectors Management Guide

This guide covers managing connectors through the QoderWork Connector: Apple connectors (Reminders, Contacts, Notes, Mail, Calendar, Maps), Microsoft 365, and Browser connector.

## Keys

| Key | Actions | Description |
|-----|---------|-------------|
| `qoderwork.settings.connector` | query, open | All connectors overview (builtin + market MCP + custom MCP). Supports keyword param. |
| `qoderwork.settings.connector.builtin.apple` | query, open | Apple connectors list |
| `qoderwork.settings.connector.builtin.apple.{id}` | query, enable, disable | Single Apple connector toggle |
| `qoderwork.settings.connector.builtin.ms365` | query, open, connect, disconnect | Microsoft 365 connector status |
| `qoderwork.settings.connector.builtin.ms365.{subId}` | query, enable, disable | Microsoft 365 sub-connector toggle |
| `qoderwork.settings.connector.builtin.browser` | query, open, enable, disable | Browser connector status and toggle |
| `qoderwork.settings.connector.builtin.computer_use` | query, open, enable, disable, execute | Computer Use connector |

---

## Overview All Connectors

Get a combined status of all connector types.

```
mcp__builtin_qoderwork__query({ key: "qoderwork.settings.connector" })
```

Supports keyword filtering:

```
mcp__builtin_qoderwork__query({ key: "qoderwork.settings.connector", params: { keyword: "apple" } })
```

**Response structure:**

```json
{
  "success": true,
  "data": {
    "items": [
      { "key": "qoderwork.settings.connector.builtin.apple", "name": "apple", "displayName": "Apple", "type": "builtin", "enabled": true },
      { "key": "qoderwork.settings.connector.builtin.ms365", "name": "ms365", "displayName": "Microsoft 365", "type": "builtin", "enabled": true },
      { "key": "qoderwork.settings.connector.builtin.browser", "name": "browser", "displayName": "Browser", "type": "builtin", "enabled": true },
      { "key": "qoderwork.settings.connector.market.notion", "name": "notion", "displayName": "Notion", "type": "market", "enabled": true },
      { "key": "qoderwork.settings.connector.custom.my-server", "name": "my-server", "displayName": "my-server", "type": "custom", "enabled": true }
    ]
  }
}
```

> **Note:** The connector overview aggregates all three types (builtin, market, custom). Each item includes a `key` field for direct navigation and a `type` field to distinguish the source.

---

## Apple Connectors

Apple connectors provide access to native macOS applications. **Only available on macOS.**

### Available Apple Connectors

| Connector ID | Name | Description |
|-------------|------|-------------|
| `apple_reminders` | Reminders | Access Apple Reminders |
| `apple_contacts` | Contacts | Access Apple Contacts |
| `apple_notes` | Notes | Access Apple Notes |
| `apple_mail` | Mail | Access Apple Mail |
| `apple_calendar` | Calendar | Access Apple Calendar |
| `apple_maps` | Maps | Access Apple Maps |

### List Apple Connectors

```
mcp__builtin_qoderwork__query({ key: "qoderwork.settings.connector.builtin.apple" })
```

Returns the macOS check and a list of all Apple connectors with their status.

### Query Single Apple Connector

```
mcp__builtin_qoderwork__query({ key: "qoderwork.settings.connector.builtin.apple.apple_reminders" })
```

Returns detailed status for a specific Apple connector.

### Enable / Disable Apple Connector

```
mcp__builtin_qoderwork__action({
  key: "qoderwork.settings.connector.builtin.apple.apple_reminders",
  action: "enable"
})
```

```
mcp__builtin_qoderwork__action({
  key: "qoderwork.settings.connector.builtin.apple.apple_reminders",
  action: "disable"
})
```

### Workflow: Enable Multiple Apple Connectors

1. **Check** which connectors are available:
   ```
   query({ key: "qoderwork.settings.connector.builtin.apple" })
   ```

2. **Verify** macOS platform (`isMacOS: true`).

3. **Enable** desired connectors one by one:
   ```
   action({ key: "qoderwork.settings.connector.builtin.apple.apple_reminders", action: "enable" })
   action({ key: "qoderwork.settings.connector.builtin.apple.apple_calendar", action: "enable" })
   ```

4. **Verify** status:
   ```
   query({ key: "qoderwork.settings.connector.builtin.apple" })
   ```

> **Note:** Some Apple connectors may require macOS system permissions (e.g., Full Disk Access, Contacts access). If enabling fails, check permissions via `query({ key: "qoderwork.settings.permissions" })`.

---

## Microsoft 365 Connector

The Microsoft 365 connector provides access to Outlook, OneDrive, and other Microsoft services.

### Query Status

```
mcp__builtin_qoderwork__query({ key: "qoderwork.settings.connector.builtin.ms365" })
```

### Open Settings

```
mcp__builtin_qoderwork__action({ key: "qoderwork.settings.connector.builtin.ms365", action: "open" })
```

> **Note:** Microsoft 365 connector configuration (OAuth authentication) must be done through the QoderWork settings UI. The Connector only supports querying status and opening the settings page.

---

## Browser Connector

The browser connector provides web browsing capabilities (navigate, screenshot, click, type).

### Query Status

```
mcp__builtin_qoderwork__query({ key: "qoderwork.settings.connector.builtin.browser" })
```

**Response:**

```json
{
  "success": true,
  "data": {
    "connected": true,
    "status": "connected",
    "tools": ["navigate", "screenshot", "click", "type"]
  }
}
```

### Open Settings

```
mcp__builtin_qoderwork__action({ key: "qoderwork.settings.connector.builtin.browser", action: "open" })
```

> **Note:** Browser connector configuration must be done through the QoderWork settings UI. The Connector only supports querying status and opening the settings page.

---

## Notes

- Apple connectors are **macOS only**. On other platforms, the query returns `isMacOS: false` with an empty connector list.
- Microsoft 365 and Browser connectors are **query + open only** via the Connector API. Full configuration requires the QoderWork settings UI.
- Apple connector IDs use the `apple_` prefix (e.g., `apple_reminders`, not `reminders`).
- If an Apple connector fails to enable, check macOS system permissions first -- many connectors require specific privacy permissions to access native app data.
