BumblebeeBumblebee

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

  1. Log in to ConnectWise Manage
  2. Navigate to System > Members > API Members
  3. Click New to create a new API Member
  4. 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
  5. Note your Company ID (found in System > Company Information)
  6. Note your Site URL (e.g., https://yourcompany.connectwise.com)
  7. Client ID: Generate a "Client ID" in the ConnectWise developer portal if required.

Configure in Bumblebee

  1. Navigate to the Integrations page
  2. Select ConnectWise
  3. Enter your credentials:
    • Company ID
    • Public Key
    • Private Key
    • Client ID
    • Site URL
  4. Click Test Connection
  5. 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)