ConnectWise
Overview
The ConnectWise integration enables seamless automation between Bumblebee and ConnectWise Manage (formerly ConnectWise PSA). Automate service tickets, opportunities, companies, contacts, projects, and more across your business operations.
Prerequisites & Setup
Before setting up the ConnectWise integration, you need:
- An active ConnectWise Manage account
- API Member credentials (Company ID, Public Key, Private Key, Client ID)
- API access enabled in your ConnectWise instance
- Appropriate security roles and permissions
Create API Member in ConnectWise
- Log in to ConnectWise Manage
- Navigate to System > Members > API Members
- Click New to create a new API Member
- Configure the following:
- API Member ID: Unique identifier for the API user
- Public Key: Will be auto-generated
- Private Key: Will be auto-generated (save this securely)
- Security Role: Assign appropriate permissions
- Note your Company ID (found in System > Company Information)
- Note your Site URL (e.g., https://yourcompany.connectwise.com)
- Client ID: Generate a "Client ID" in the ConnectWise developer portal if required.
Configure in Bumblebee
- Navigate to the Integrations page
- Select ConnectWise
- Enter your credentials:
- Company ID
- Public Key
- Private Key
- Client ID
- Site URL
- Click Test Connection
- Save the configuration
Available Tools
Tickets
- get_ticket — Get ticket details by ID. Required: ticket_id (int)
- list_tickets — List tickets (only return the first 100 tickets, does not support pagination)
- list_tickets_by_company_id — List tickets for a company. Required: company_id (int)
- create_ticket — Create ticket. Required: summary (str), company_id (int), board_id (int). Optional: priority_id, status_id, initial_description, contact_name, contact_phone_number, contact_email_address
- update_ticket — Update ticket. Required: ticket_id (int). Optional: summary, priority_id, status_id, type_id (int, must be valid type ID for ticket's board), subtype_id (int, must be valid subtype ID for ticket's board), item_id (int, must be valid item ID for ticket's board), impact (str), sla_id (int, must be valid SLA ID), initial_description, contact_name, contact_phone_number, contact_email_address
Companies
- get_company — Get company details by ID. Required: company_id (int)
- list_companies — List companies (only return the first 100 companies, does not support pagination)
- create_company — Create company. Required: name (str), identifier (str). Optional: address_line1, address_line2, city, state, zip, phone_number, fax_number, website
- update_company — Update company. Required: company_id (int). Optional: name, phone_number, fax_number, website, address_line1, address_line2, city, state, zip
Contacts
- get_contact — Get contact details by ID. Required: contact_id (int)
- list_contacts — List contacts (only return the first 100 contacts, does not support pagination)
- list_contacts_by_company_id — List contacts for a company. Required: company_id (int)
- create_contact — Create contact. Required: first_name (str), last_name (str), company_id (int). Optional: title, address_line1, address_line2, city, state, zip
- update_contact — Update contact. Required: contact_id (int). Optional: first_name, last_name, title, address_line1, address_line2, city, state, zip
Opportunities
- get_opportunity — Get opportunitydetails by ID. Required: opportunity_id (int)
- list_opportunities — List opportunities (only return the first 100 opportunities, does not support pagination)
- create_opportunity — Create opportunity. Required: name (str), primary_sales_rep_id (int), company_id (int), contact_id (int). Optional: expected_close_date, notes, source
- update_opportunity — Update opportunity. Required: opportunity_id (int). Optional: name, expected_close_date, notes, source
Projects
- get_project — Get project details by ID. Required: project_id (int)
- list_projects — List projects (only return the first 100 projects, does not support pagination)
- create_project — Create project. Required: name (str), company_id (int), board_id (int), billing_method (str), estimated_start (str), estimated_end (str). Optional: description
- update_project — Update project. Required: project_id (int). Optional: name, description, estimated_start, estimated_end
Service Boards & Configuration
- list_service_boards — List service boards with pagination (up to 100 boards per request). Returns board objects with id, name, location, department, inactiveFlag, projectFlag, and other properties
- get_service_board_details — Get complete service board configuration. This can be used to dynamically fetch the service board configuration before making updates to tickets in that board. Required: board_id (int). Returns comprehensive board configuration including basic information, types, subtypes, items, statuses, and teams
- get_service_ticket_configuration — Get service ticket configuration including priorities, impacts, and SLAs. Returns priorities (with colors and sort order), impacts (with descriptions), and SLAs (with priority mappings based on impact/urgency combinations)