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

# Configure ConnectWise Manage Integration

> Connect your ConnectWise Manage instance to MSPortal.ai using the step-by-step setup wizard

This guide walks you through connecting your ConnectWise Manage instance to MSPortal.ai using our streamlined setup wizard.

## Prerequisites

Before you begin, ensure you have:

* Admin access to both ConnectWise Manage and MSPortal.ai
* Your ConnectWise company ID (visible on the ConnectWise login screen)
* Access to create API members and security roles in ConnectWise

## Part 1: Configure ConnectWise Manage

Before connecting to MSPortal.ai, you need to create an API member and security role in ConnectWise.

### Create Security Role

<Steps>
  <Step title="Access System Settings">
    Login to ConnectWise Manage and navigate to **System > Security Roles**.
  </Step>

  <Step title="Create Security Role">
    Create a security role named "MSPortal" with the following permissions. These permissions enable MSPortal to sync companies, contacts, tickets, opportunities, agreements, and related data.

    For **every category** listed below, set **Add Level**, **Edit Level**, and **Inquire Level** to **All**. Leave **Delete Level** as **None**.

    | Category       | Add | Edit | Delete | Inquire |
    | -------------- | --- | ---- | ------ | ------- |
    | Companies      | All | All  | None   | All     |
    | Finance        | All | All  | None   | All     |
    | Marketing      | All | All  | None   | All     |
    | Procurement    | All | All  | None   | All     |
    | Project        | All | All  | None   | All     |
    | Sales          | All | All  | None   | All     |
    | Service Desk   | All | All  | None   | All     |
    | System         | All | All  | None   | All     |
    | Time & Expense | All | All  | None   | All     |

    <Tip>
      The easiest way to configure this is to expand each category and set all sub-permissions to **All** for Add, Edit, and Inquire. You can leave Delete as **None** for all categories.
    </Tip>

    Click **Save and Close** to finalize the security role settings.
  </Step>
</Steps>

### Create API Member

<Steps>
  <Step title="Navigate to API Members">
    1. Go to **System > Members**
    2. Click the **API Members** tab
    3. Click **+** to create a new API member
  </Step>

  <Step title="Configure API Member">
    1. Name it "MSPortal"
    2. Select the **MSPortal** security role you created
    3. Enter your **Business Unit** and **Location**
    4. Click **Save**
  </Step>

  <Step title="Generate API Keys">
    1. With the API member open, click the **API Keys** tab
    2. Click **+** to add a new key
    3. Name it "MSPortal" and click **Save**
    4. **Important:** Copy the **Public Key** and **Private Key** immediately

    <Warning>
      The API keys cannot be retrieved again after closing this dialog. Make sure to save them securely before proceeding.
    </Warning>
  </Step>
</Steps>

***

## Part 2: MSPortal Setup Wizard

MSPortal.ai provides a guided setup wizard that walks you through connecting and configuring your ConnectWise Manage integration in 4 easy steps.

### Starting the Wizard

<Steps>
  <Step title="Navigate to Integrations">
    In MSPortal.ai, go to **Settings** > **Integrations**.
  </Step>

  <Step title="Start Setup">
    Find the **ConnectWise Manage** integration card and click **Configure** to launch the setup wizard.
  </Step>
</Steps>

***

### Step 1: Connect

Enter your ConnectWise API credentials to establish the connection.

<Steps>
  <Step title="Enter API Credentials">
    Fill in the following fields:

    | Field           | Description                                     | Example                                          |
    | --------------- | ----------------------------------------------- | ------------------------------------------------ |
    | **API URL**     | Your ConnectWise API URL                        | `na.myconnectwise.net` or `eu.myconnectwise.net` |
    | **Company ID**  | Your company identifier (shown on login screen) | `YourCompanyID`                                  |
    | **Public Key**  | API public key from API member                  | `abc123...`                                      |
    | **Private Key** | API private key from API member                 | `xyz789...`                                      |

    <Note>
      **API URL Examples:**

      * Cloud-hosted: `na.myconnectwise.net`, `aus.myconnectwise.net`, `eu.myconnectwise.net`
      * On-premise: `cw.yourcompany.com` (without https\://)
    </Note>
  </Step>

  <Step title="Test Connection">
    Click **Test Connection** to verify your credentials. You'll see a green "Connected" status when successful.

    If the connection fails:

    * Verify your API URL is correct (no https\:// prefix)
    * Check that your Company ID matches exactly
    * Confirm the API keys are copied correctly
    * Ensure the API member has the correct security role assigned
  </Step>

  <Step title="Proceed">
    Once connected, click **Next** to continue to sync configuration.
  </Step>
</Steps>

***

### Step 2: Sync

Configure what data to sync from ConnectWise and set up company filters.

<Steps>
  <Step title="Configure Data Sync Options">
    Enable or disable the following sync options:

    | Option                      | Description                           |
    | --------------------------- | ------------------------------------- |
    | **Sync Users**              | Sync member data from ConnectWise     |
    | **Sync Companies**          | Sync company data from ConnectWise    |
    | **Enable Ticket Sync**      | Sync service tickets from ConnectWise |
    | **Enable Opportunity Sync** | Sync opportunities from ConnectWise   |
  </Step>

  <Step title="Configure Contact Auto-Import">
    If you want contacts to be automatically imported when companies are added:

    1. Enable **Auto-Import** to automatically create user accounts for active contacts
    2. Select a **Default Role for Imported Contacts** (e.g., Viewer)

    <Tip>
      We recommend choosing a role with minimal permissions if you plan to import all contacts.
    </Tip>
  </Step>

  <Step title="Configure Company Filters">
    ConnectWise has additional filtering options for company sync:

    | Setting                       | Description                                   |
    | ----------------------------- | --------------------------------------------- |
    | **Skip Inactive Companies**   | Only sync active companies (recommended)      |
    | **Exclude Company Types**     | Select company types to exclude from sync     |
    | **Exclude Company Statuses**  | Select company statuses to exclude from sync  |
    | **Exclude Opportunity Types** | Select opportunity types to exclude from sync |
    | **Exclude Project Types**     | Select project types to exclude from sync     |
  </Step>

  <Step title="Configure Ticket Sync Scope">
    Define which tickets to sync:

    | Setting              | Description                                              |
    | -------------------- | -------------------------------------------------------- |
    | **Boards to Sync**   | Select which ConnectWise service boards' tickets to sync |
    | **Exclude Statuses** | Select ticket statuses to exclude from sync              |

    <Info>
      When you proceed to the next step, data sync will begin in the background. This may take a few minutes depending on the amount of data in your ConnectWise instance.

      Syncs are automatically deduplicated - if you navigate back and forth between steps, the same sync will not run multiple times within a 2-minute window.
    </Info>
  </Step>

  <Step title="Proceed">
    Click **Next** to continue to ticket and opportunity configuration.
  </Step>
</Steps>

***

### Step 3: Configure

Set up ticket status mapping and opportunity defaults.

#### Ticket Settings

<Steps>
  <Step title="Configure Status Settings">
    | Setting                   | Description                                      |
    | ------------------------- | ------------------------------------------------ |
    | **Closed Statuses**       | Select statuses that indicate a ticket is closed |
    | **Client Comment Status** | Status to set when a client comments on a ticket |
  </Step>

  <Step title="Configure Resolution Status Stepper">
    The Resolution Status Stepper provides a visual indicator of ticket progress. Map your ConnectWise statuses to each stage:

    | Stage        | Description                                             |
    | ------------ | ------------------------------------------------------- |
    | **New**      | Tickets that are newly created or not yet triaged       |
    | **Triaged**  | Tickets that have been reviewed and categorized         |
    | **Working**  | Tickets actively being worked on                        |
    | **Waiting**  | Tickets waiting for customer response or external input |
    | **Resolved** | Tickets that have been completed                        |

    <Tip>
      You can map multiple ConnectWise statuses to each stage. The stepper will show the appropriate stage based on the ticket's current status.
    </Tip>
  </Step>

  <Step title="Sync Actions">
    Use these buttons to manage ticket sync:

    | Action             | Description                                                                                   |
    | ------------------ | --------------------------------------------------------------------------------------------- |
    | **Quick Sync**     | Trigger an immediate sync of ticket data                                                      |
    | **Clear & Resync** | Delete all synced tickets and perform a fresh sync (useful after major configuration changes) |
  </Step>
</Steps>

#### Opportunity Settings

<Steps>
  <Step title="Configure Opportunity Defaults">
    Set default values for opportunities created from MSPortal:

    | Setting                 | Description                                                         |
    | ----------------------- | ------------------------------------------------------------------- |
    | **Default Stage**       | The starting stage for new opportunities                            |
    | **Default Status**      | The default status for new opportunities                            |
    | **Default Type**        | The default opportunity type                                        |
    | **Default Probability** | Starting win probability for new opportunities                      |
    | **Fallback Sales Rep**  | Sales rep assigned when the user doesn't have a ConnectWise account |

    <Note>
      Opportunity sync can be enabled or disabled in the Sync step. These settings only apply when opportunity sync is enabled.
    </Note>
  </Step>

  <Step title="Proceed">
    Click **Next** to continue to the import step.
  </Step>
</Steps>

***

### Step 4: Import (Optional)

Import users and companies from ConnectWise. This step is optional - you can skip it and import later from the respective settings pages.

<Tabs>
  <Tab title="Import Users">
    Import members (your MSP staff) from ConnectWise to create user accounts.

    1. Enable **Import Users Now**
    2. Select users from the list to create accounts for
    3. Choose a default role for imported users

    <Note>
      Client contacts are not imported here. They can be managed via Company settings after companies are imported.
    </Note>
  </Tab>

  <Tab title="Import Companies">
    Import companies from ConnectWise to sync their data.

    1. Enable **Import Companies Now**
    2. Select companies to import or link to existing MSPortal companies

    <Tip>
      Companies will sync automatically based on your sync settings and filters. Use this option if you want to import specific companies immediately.
    </Tip>
  </Tab>
</Tabs>

***

### Complete Setup

Click **Complete Setup** to finish the wizard. Your ConnectWise Manage integration is now configured!

<Note>
  You can return to the setup wizard at any time by clicking **Configure** on the ConnectWise Manage integration card. The wizard will resume with your current settings.
</Note>

***

## Managing Your Integration

After setup, you can manage your integration from **Settings** > **Integrations**:

* **Configure**: Re-open the setup wizard to modify settings
* **Resync**: Trigger a manual sync of data
* **Sync PSA Data**: Refresh configuration data (boards, statuses, types) from ConnectWise
* **Import Configurations**: Import device configurations from ConnectWise. The configurations import page lets you map ConnectWise configuration types to MSPortal device types, enable auto-sync, and ignore categories you don't need. See [Import Devices](/user-guides/integrations/import-devices) for the full guide.

***

## Next Steps

After connecting, you can explore related guides:

* [Re-sync PSA Settings](./connectwise-resync-psa-settings) - Refresh configuration data from ConnectWise
* [Clear and Resync Tickets](./clear-and-resync-integrations) - Perform a full ticket resync if needed
* [Integrations FAQ](./faq) - Common questions about integrations

***

## Troubleshooting

| Issue                        | Solution                                                                      |
| ---------------------------- | ----------------------------------------------------------------------------- |
| Connection test fails        | Verify API URL format (no https\://), Company ID, and API keys are correct    |
| Missing companies after sync | Check if company types or statuses are excluded in sync settings              |
| Permission errors            | Verify the API member has the MSPortal security role assigned                 |
| Sync not starting            | Ensure the integration shows "Connected" status before syncing                |
| Tickets from wrong boards    | Verify the correct boards are selected in Ticket Sync Scope                   |
| Contacts not importing       | Verify Auto-Import is enabled and a default role is selected in the Sync step |
