TopLeft needs access to your ConnectWise Manage application to download tickets, opportunities, members, and other records used to display and filter tickets on the TopLeft Kanban boards. It also updates tickets statuses and opportunity stages when a card is dragged between TopLeft board columns, and registers itself to receive web-based callbacks from ConnectWise when tickets, opportunities, and other records are updated.
All communication between TopLeft and your ConnectWise instance uses the ConnectWise REST API and is encrypted by TLS.
To allow TopLeft access to your ConnectWise database, please follow the instructions below. These steps must be performed by a ConnectWise administrator with permission to manage security roles and members.
Configuring TopLeft Access to ConnectWise Manage
There are four steps to configure your ConnectWise Manage application for TopLeft:
- Add a security role for TopLeft
- Add an API member
- Set up API credentials for the member
- If you use on-premise ConnectWise behind a firewall filtering access by IP or region, add our IP addresses to your whitelist.
- Submit the API credentials and other information in the support portal
Add a Security Role for TopLeft
To limit the information available to TopLeft, we recommend you set up a Security Role dedicated to the TopLeft user. To open the Security Roles administration section, click System → Security Roles.
Click the "+" button in the toolbar.
Enter "TopLeft" as the role name, or follow an existing pattern for role names. Click the save icon .
In the role list, click the new role name to list security modules for the role.
Update the module function security to match these definitions. Modules and functions not mentioned can be left at their default settings.
Module: Companies
To open the Companies security module, click Companies in the list.
The module function administration table is displayed. Change the permissions rows to match the following levels.
Module | Description | Add Level | Edit Level | Delete Level | Inquire Level | Comments |
---|---|---|---|---|---|---|
Companies | Company Maintenance | None | None | None | All | Allows TopLeft to fetch and display client company information |
Companies | Contacts | None | None | None | All | Required to fetch contacts |
Companies | CRM/Sales Activities | None | All | None | All | Required to fetch and update opportunities. |
Companies | Manage Attachments | None | None | None | All | Required to fetch member photos |
Click Companies again to collapse the pane, then click Finance to open the next pane.
Module: Finance
Module | Description | Add Level | Edit Level | Delete Level | Inquire Level | Comments |
---|---|---|---|---|---|---|
Finance | Agreements | None | None | None | All | Inquire allows TopLeft to set agreements when adding time entries. |
Finance | Billing View Time | None | All | None | All | Required to create time entries |
Module: Project
Module | Description | Add Level | Edit Level | Delete Level | Inquire Level | Comments |
---|---|---|---|---|---|---|
Project | Close Project Tickets | None | All | None | All | Required by the Close Ticket feature and to assign tickets to closed statuses. |
Project | Project Headers | None | All | None | All | Edit allows TopLeft to change project statuses when a project card is moved between columns. |
Project | Project Phase | None | None | None | All | Inquire allows TopLeft to sync and display project phases. |
Project | Project Scheduling | All | All | All | All | Inquire allows TopLeft to display resource assignments; Add/Edit/Delete allows TopLeft to modify resource assignments |
Project | Project Teams | None | None | None | All | Inquire allows TopLeft to sync and display project team members. |
Project | Project Ticket Tasks | All | All | All | All | Allow TopLeft to add, edit, and delete project ticket tasks. |
Project | Project Tickets | None | All | None | All | Edit allows TopLeft to change ticket statuses when a ticket is moved between columns. |
Module: Sales
Module | Description | Add Level | Edit Level | Delete Level | Inquire Level | Comments |
---|---|---|---|---|---|---|
Sales | Closed Opportunity | None | All | None | All | |
Sales | Opportunity | None | All | None | All | Edit allows TopLeft to change opportunity stages when an opportunity is moved between columns. |
Module: Service Desk
Module | Description | Add Level | Edit Level | Delete Level | Inquire Level | Comments |
---|---|---|---|---|---|---|
Service Desk | Close Service Tickets | None | All | None | All | Required by the Close Ticket feature and to assign tickets to closed statuses. |
Service Desk | Merge Tickets | All | None | None | All | Allows TopLeft to perform service ticket merges. |
Service Desk | Resource Scheduling | All | All | All | All | Inquire allows TopLeft to display resource assignments; Add/Edit/Delete allows TopLeft to modify resource assignments |
Service Desk | Service Ticket - Dependencies | All | All | All | All | Allows TopLeft to change ticket statuses when the ticket has a predecessor ticket. |
Service Desk | Service Tickets | All | All | All | All | Edit allows TopLeft to change ticket statuses when a ticket is moved between columns. Add and Delete allow TopLeft to add and delete ticket tasks. |
Module: System
Module | Description | Add Level | Edit Level | Delete Level | Inquire Level | Comments |
---|---|---|---|---|---|---|
System | API Reports | None | None | None | All | Allows TopLeft to fetch ConnectWise screens for registering embedded tabs. |
System | Member Maintenance | None | None | None | All | Allows TopLeft to fetch members data. |
System | My Company | None | None | None | All | Allows TopLeft to sync Territories, Structure Levels, etc. |
System | Table Setup | All | None | None | All | Allows TopLeft to sync boards, statuses, locations, teams, etc, and register embedded tabs. |
Module: Time & Expense
Module | Description | Add Level | Edit Level | Delete Level | Inquire Level | Comments |
---|---|---|---|---|---|---|
Time & Expense | Time Entry | All | All | None | All | Allows TopLeft to get, create and edit time entries and highlight stale tickets |
Time & Expense | Time Entry Billable Option | All | None | None | All | Allows TopLeft to create time entries set as billable |
Add an API Member
TopLeft authenticates itself to ConnectWise Manage as an API member. To open the Members section, click System → Members.
Click the API Members tab.
Click the "+" button in the toolbar.
Complete the member form as follows:
- Profile
- Member ID: TopLeft (recommended, or follow an existing pattern for member names). Note that API members can only access ConnectWise via the API, not with the GUI clients.
- Member Name: TopLeft API
- Email: topleft@yourdomain.com
- System
- Role ID: TopLeft (or whatever you named the new security role)
- Level: Corporate (Level 1)
- Name: Corporate
- All other options- set to best reflect that this account has view of your entire organization, not just a single location or business unit.
From this page you can also restrict any service boards you don't want TopLeft to have access to. Please see the documentation to configure that here.
Save the member by clicking the disk icon .
Set Up API Credentials For the Member
After creating the member, you must set up API keys for it. In the member page, click the API Keys tab.
Click the "+" button in the toolbar.
In the description field, enter "TopLeft". Click the disk icon .
ConnectWise displays a public key and private key. Save both in a safe place. ConnectWise will never show the private key again.
Submit the API credentials and other information in the setup portal
Go to https://customers.topleft.team/welcome/ and enter the requested information, including these API credentials.
That's it! We'll let you know when your TopLeft service is available.
Troubleshooting
ConnectWise sometimes doesn't immediately apply security role changes to API requests. If you have trouble setting up permissions, try these steps:
- Double-check the security role permissions against the list above. The permissions required by TopLeft can change as we introduce new features and as ConnectWise updates their schema.
- Change the role ID of the API member to a completely different security role, and save the member. Then swap it back to the TopLeft role and save.
- Delete the TopLeft security role, then create a new one from scratch as per the steps above. Then set the API member's role to the new role.
Further Reference
Refer to ConnectWise documentation: