> ## 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.

# Creating an API User

> Set up a dedicated user class and system integrator account with proper permissions for Neo Agent

To enable Neo Agent to interact with your ConnectWise Automate system, you need to create a dedicated user class with appropriate permissions and then create a system integrator account using that class.

<Info>
  This process involves creating a custom user class called "Neo Automation", configuring detailed permissions, and setting up system integrator credentials.
</Info>

## Creating the User Class and API User

<Steps>
  <Step title="Create a new user class">
    Log in to ConnectWise Automate Control Center using your administrator credentials and create a new user class:

    1. Navigate to **Users and Contacts → User Class Manager** in the **System** menu
    2. Click **+** at the bottom left corner of the **User Class Manager** window
    3. Enter `Neo Automation` as the name for the new user class
    4. Click **OK** to create the class

    <Tip>
      Using a descriptive class name like "Neo Automation" makes it easy to identify and manage permissions specifically for the Neo Agent integration.
    </Tip>
  </Step>

  <Step title="Configure Core permissions">
    Select the new user class and configure the following permissions on the **Core** tab:

    ### Agent and Alert Permissions

    | Entry           | Permission |
    | --------------- | ---------- |
    | Agent Templates | Read       |
    | Alerts          | Update     |

    ### Client and Contact Permissions

    | Entry                         | Permission           |
    | ----------------------------- | -------------------- |
    | Clients                       | Read, Update, Delete |
    | Clients → Show/Hide Passwords | Access               |
    | Clients → Show All            | Access               |
    | Contacts                      | Read, Update, Delete |

    ### Computer Permissions

    | Entry                      | Permission |
    | -------------------------- | ---------- |
    | Computers → Force Update   | Access     |
    | Computers → Retired Assets | Delete     |
    | Computers → Show All       | Access     |

    ### Group and Location Permissions

    | Entry                      | Permission             |
    | -------------------------- | ---------------------- |
    | Groups                     | Create, Update, Delete |
    | Groups → Scheduled Scripts | Update                 |
    | Locations → Show All       | Access                 |

    ### Script and Patch Permissions

    | Entry                      | Permission           |
    | -------------------------- | -------------------- |
    | Patch Manager              | Read, Update         |
    | Scripts                    | Read, Update, Delete |
    | Scripts → Schedule Scripts | Update               |
    | Searches → Send Commands   | Access               |

    ### Ticket Permissions

    | Entry                     | Permission                   |
    | ------------------------- | ---------------------------- |
    | Tickets                   | Create, Read, Update, Delete |
    | Tickets → Ticket Requests | Access                       |

    <Warning>
      Ensure all permissions are properly assigned. Missing permissions can cause Neo Agent workflows to fail when trying to execute scripts or access device information.
    </Warning>
  </Step>

  <Step title="Configure Plugin permissions (if applicable)">
    If your ConnectWise Automate instance uses plugins, configure permissions for specific plugins on the **Plugin** tab as needed for your workflows.

    <Info>
      The specific plugin permissions required depend on which plugins you have installed and want Neo to interact with.
    </Info>
  </Step>

  <Step title="Configure client level permissions">
    Ensure the user class has access to clients with the following permissions:

    | Entry        | Permission         |
    | ------------ | ------------------ |
    | Locations    | Read, Edit, Delete |
    | Projects     | Read               |
    | Product Keys | Read               |
    | Documents    | Read               |
    | Passwords    | Read               |

    <Note>
      If customers are not showing up when refreshing options, this is typically a permission issue. Validate that the user class has proper access to customers.
    </Note>
  </Step>

  <Step title="Configure default computer permissions">
    Enable the following default computer permissions for the user class:

    | Entry              | Permission |
    | ------------------ | ---------- |
    | Command Prompt     | Access     |
    | Software and Tools | Install    |
    | History            | Access     |
    | Commands           | View, Send |
    | Scripts            | Schedule   |
    | Information        | Edit       |
    | Alerts             | Clear      |
    | Scheduled Scripts  | Delete     |
  </Step>

  <Step title="Save the user class">
    Click **Save** to apply all permission changes to the user class.
  </Step>

  <Step title="Create the system integrator account">
    Create a new user that will be used for API access:

    1. Click **Settings** in the bottom left corner
    2. Navigate to **User Management**
    3. Click **Add** in the top left
    4. Configure the user with the following settings:
       * **First Name**: Neo
       * **Last Name**: Agent
       * **Email**: Your preferred email for notifications
       * **User Name**: Choose a descriptive username (e.g., `neo_agent`)
       * **Password**: Create a strong password

    <Warning>
      Store the username and password securely. You'll need these credentials to configure the integration in Neo Agent.
    </Warning>
  </Step>

  <Step title="Assign the user class">
    Associate the new user with the Neo Automation user class:

    1. Click the **User Classes** tab
    2. Click **Edit User Classes**
    3. Select the **Neo Automation** user class you created earlier
  </Step>

  <Step title="Enable integrator access">
    Enable API access for the user:

    1. Check the **Integrator** box at the bottom of the user configuration
    2. Click **Save** to apply the changes

    <Check>
      The Integrator checkbox is essential for API access. Without it, the user cannot authenticate via the API.
    </Check>
  </Step>
</Steps>

## What's Next?

Once you've successfully created the API user with proper permissions, you're ready to [connect it to Neo Agent](/integrations/rmm/connectwise-automate/connecting-to-neo) using the credentials from your new system integrator account.

<Check>
  Before proceeding, ensure you have:

  * The username you created for the integrator account
  * The password for the integrator account
  * Your ConnectWise Automate hostname/URL
</Check>
