An API member needs to be created in ConnectWise as part of the setup for using the ConnectWise integrations. The API member is solely used for authenticating API calls, which means they do not occupy a ConnectWise license or have access to the ConnectWise User Interface and its assets. See the PDF attached at the bottom of the post for full details of all writes and data flows that the CEO Juice API user does.
Jump to: Creating API Keys | Adding Keys to CEOJuice Website | API Security Permissions | Service Board Permissions
To create API keys in ConnectWise:
1. Go to System (1) and click on Member (2).
2. Click on the API Members tab (1) and then click on the plus sign (2) to create a new member.
3. Complete the required fields for a new API member and save the member.
Member Name (1) is the name that will show in the audit trail. The Role ID (2) sets the security permissions for the API user. Normally, our user is granted full permissions, but if you want to restrict the permissions granted, see notes here on the minimum permissions required.
The Level (3) should be set to Level 1 to ensure that the API user has access to ALL ConnectWise data. If the Level of the API member is set to either Location (Level 2) or Sales (level 3) we will not be able to view information for all of your companies (agreements, sales orders and service calls).
4. Open the member record again, click on the API keys tab (1), and then click on the plus sign (2) to create new API keys.
5. Enter a description and then click on the Save button.
**It's REALLY important to click SAVE and not SAVE and CLOSE as the only time you will be able to see the private key is BEFORE you close the newly created record.
6. Write down the public and private API keys.
7. In addition to the public and private API keys, we need the URL and Company name for the ConnectWise instance. These can be found on the ConnectWise login page:
Add API Keys to Website
Add API Keys to Website
After the API keys have been created, you'll need to add them to the CEOJuice website.
Once logged into the website, click on Profile (1), Integrations (2), and then click on the ConnectWise button (3). In the pop-up window, enter the private key, public key, Company Name, and ConnectWise URL (4). Click on the Save (5) button when done to save the keys.
You do need to have admin rights to the CEOJuice website to add the keys. You can also email us the API key information, and we will add it to the website for you.
API Permissions
Usually, our API user is granted full security permissions, but if you would like to scale back the permissions granted, these are the minimum requirements:
| Module | Right | Level | Used by | Required When |
| Companies | Company Maintenance | Add, Edit, Delete, Inquire | ID747 (Inquire used by all syncs) | Always |
| Companies | Configurations | Inquire | ID965 | Only if linking ConnectWise configurations to e-automate equipment |
| Companies | Manage Attachments | Inquire | ID964, ID966 | Only if attachments are synced (on by default) |
| Companies | Team Members | Add, Inquire | ID747 | Only if the option to add the sales rep to the company's Team tab is enabled |
| Companies | Company/Contact Group Maintenance | Inquire | ID747 | Always attempted by ID747; needed for ID505 survey opt-outs |
| Companies | Contacts | Inquire | ID747 | Always attempted by ID747; needed for ID505 |
| Finance | Agreements | Edit, Inquire | ID964 | Always (Edit: contract number written back) |
| Finance | Invoicing | Edit, Inquire | ID964, ID965, ID522 | Always (Edit: invoice status and invoice number updates) |
| Finance | Accounting Interface | Add, Inquire | ID964 | Only if ID964 Variable Z (Mark Invoices Paid) = Yes |
| Procurement | Products | Inquire | ID964, ID965, ID522, ID966 | Always |
| Procurement | Product Catalog | Inquire | ID964, ID965, ID522, ID966 | Always |
| Procurement | Purchase Orders | Inquire | ID747 | Always attempted by ID747; needed for purchase order reporting and ID817 |
| Procurement | Purchase Orders | Edit, Inquire | ID817 | Only if using ID817 and it updates purchase order status |
| Project | Project Headers | Inquire | ID747, ID522 | Always |
| Project | Project Phase | Inquire | ID747, ID522 | Always |
| Project | Project Tickets | Inquire | ID522 | Always |
| Sales | Sales Orders | Edit, Inquire | ID966 | Always (Edit: status and e-automate status field) |
| Service Desk | Service Tickets | Add, Inquire | ID912 | Always |
| Service Desk | Service Tickets | Edit, Inquire | ID965 | Only if using the post-sync status update (Variable 6) in completed ticket mode (Variable 4 = No) |
| Service Desk | Close Service Tickets | Edit, Inquire | ID912 | Only if using ID965 in completed ticket mode (Variable 4 = No) with the post-sync status update, and the Variable 6 status is a closed status |
| System | API Reports | Inquire | All | Always |
| System | Table Setup | Inquire | All | Always (also covers ID747's warehouse, warehouse bin and inventory on hand reads) |
| System | Member Maintenance | Inquire | ID747 | Always attempted by ID747; needed for ID505 |
| Time & Expense | Time Entry | Inquire | ID965, ID522 | Always |
Service Board Permissions
Service Board Permissions
For the ID965 service ticket sync, our API user needs to have permissions to each service board in ConnectWise that tickets will be pulled from. This access can be set on the board:
Our API user will need to be listed on the Member Access tab with "Access" in the Board Access column.
Or access can be set via the API member record:
Any boards listed in the Restrict Board Access section are ones that our API user CANNOT access. Be sure that any boards listed here will NOT have tickets that should be synced via ID965.
0 Comments