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

# Connecting to Neo Agent

> Configure the connection between your ConnectWise system and Neo Agent using API credentials

Once you've [created your API member](/integrations/psa/connectwise/creating-api-member) with the proper security role and permissions, you can configure the connection to Neo Agent through the integrations dashboard.

<Info>
  You'll need the API credentials and configuration details from your ConnectWise API member to complete this setup.
</Info>

## Required Information

Before starting the connection process, gather the following information from your ConnectWise system:

<ParamField path="API Member Identifier" type="string" required>
  The text-based Member ID you created for the Neo API member (e.g., `neo_agent`). This is found in System → Members → API Members.
</ParamField>

<ParamField path="Public Key" type="string" required>
  The Public Key generated for your Neo API member. This acts as the username for API authentication.
</ParamField>

<ParamField path="Private Key" type="string" required>
  The Private Key generated for your Neo API member. This acts as the password for API authentication.
</ParamField>

<ParamField path="ConnectWise PSA URL" type="string" required>
  Your ConnectWise API base URL (e.g., `https://api-na.myconnectwise.net/`). This is the URL used for API access to your ConnectWise instance.
</ParamField>

<ParamField path="Company Name" type="string" required>
  Your company name exactly as shown on the ConnectWise login screen. This must match precisely for authentication to work.
</ParamField>

<ParamField path="Neo's Regular (non-API) Member ID" type="string">
  *Optional.* The Member ID of the regular (non-API) member you [created for time entries](/integrations/psa/connectwise/creating-api-member). Provide this if you want Neo to log its own time entries — ConnectWise won't let the API-only member create them. Leave blank to skip time-entry logging.
</ParamField>

<Frame>
  <img src="https://mintcdn.com/neoagent/K0PraBkdH10Olmss/images/connectwise/integration-4.png?fit=max&auto=format&n=K0PraBkdH10Olmss&q=85&s=628e36ab50c76b9a2afd409ae18f5542" alt="Find company name on ConnectWise login screen" width="1318" height="1334" data-path="images/connectwise/integration-4.png" />
</Frame>

## Configuring the Integration

<Steps>
  <Step title="Access the Neo Agent Dashboard">
    Navigate to the [Neo Agent Dashboard](https://dashboard.neoagent.io/integrations) and log in with your credentials.
  </Step>

  <Step title="Select ConnectWise Integration">
    From the integrations page, find and select **ConnectWise** from the list of available PSA integrations.
  </Step>

  <Step title="Enter Your Credentials">
    Submit the credentials you gathered from your ConnectWise system:

    * **Username (public key)**: Enter the generated public key
    * **Password (private key)**: Enter the generated private key
    * **PSA URL**: Enter your ConnectWise API base URL
    * **Company Name**: Enter your exact company name from the login screen
    * **Neo's API-only Member ID**: Enter the Member ID of your Neo API member
    * **Neo's Regular (non-API) Member ID** *(optional)*: Enter the regular member's ID if you want Neo to log time entries

    <Frame>
      <img src="https://mintcdn.com/neoagent/Vc5XCdRZE1keMbna/images/connectwise/connection-form.png?fit=max&auto=format&n=Vc5XCdRZE1keMbna&q=85&s=2f35614ef66502a8e847055430680701" alt="ConnectWise connection form in the Neo Agent dashboard" width="1678" height="1714" data-path="images/connectwise/connection-form.png" />
    </Frame>

    <Warning>
      Double-check all credentials for accuracy, especially the company name. Incorrect information will prevent Neo Agent from connecting to your ConnectWise system.
    </Warning>
  </Step>

  <Step title="Test the Connection">
    Once you've entered all credentials, Neo Agent will attempt to establish a connection to your ConnectWise system to verify the configuration.

    <Check>
      A successful connection test confirms that Neo Agent can access your ConnectWise system with the provided credentials and security permissions.
    </Check>
  </Step>

  <Step title="Save Configuration">
    After successful testing, save your integration configuration to enable Neo Agent workflows to interact with your ConnectWise system.
  </Step>
</Steps>

## Troubleshooting Connection Issues

If you encounter issues during the connection process, check the following:

<AccordionGroup>
  <Accordion title="Authentication Errors">
    * Verify that the API Member Identifier is correct and corresponds to an active API member
    * Ensure the Public and Private keys were generated correctly in ConnectWise
    * Check that the company name matches exactly what appears on the ConnectWise login screen
    * Confirm the ConnectWise PSA URL is correct and accessible
  </Accordion>

  <Accordion title="Permission Errors">
    * Review the security role permissions for your Neo API member
    * Ensure all required permissions listed in the [API member creation guide](/integrations/psa/connectwise/creating-api-member) are assigned
    * Verify that both Inquire and Add/Edit levels are set correctly
    * Check that the "Neo" security role is properly assigned to the API member
  </Accordion>

  <Accordion title="Network Connectivity">
    * Confirm your ConnectWise PSA URL is accessible from external networks
    * Check if any firewall rules might be blocking API connections
    * [Whitelist Neo Agent's IP address](/integrations/ip-whitelisting) if your system restricts access by IP
    * Test the URL accessibility from outside your network
  </Accordion>

  <Accordion title="Time entries fail with 'API member does not have access to the Time module'">
    ConnectWise blocks **API-only members** from creating time entries — this is a ConnectWise restriction, not a permissions setting. Granting Time & Expense on the security role is necessary but not sufficient: the time entry must be owned by a *regular* (non-API) member.

    To fix it:

    1. [Create a regular (non-API) member](/integrations/psa/connectwise/creating-api-member) for Neo and assign it the **Neo** security role.
    2. Enter that member's ID in the **Neo's Regular (non-API) Member ID** field and save the integration.

    Until then, Neo's other capabilities keep working and time-entry attempts log an action-required notice in your inbox instead of failing the workflow.
  </Accordion>
</AccordionGroup>

## What's Next?

With your ConnectWise system successfully connected to Neo Agent, you can now:

* **Create Workflows**: Build automated workflows that interact with your ConnectWise tickets and data
* **Set Up Pod Integration**: Consider setting up the [ConnectWise Pod](/integrations/psa/connectwise/pod) for seamless in-PSA access

<Tip>
  Start with simple workflows to test the integration before implementing more complex automation scenarios. This helps identify any configuration issues early in the process.
</Tip>
