โ† Back to portal
โ„น๏ธ
Before you start: You'll need admin access to ConnectWise Manage. For each customer, you'll also need their Microsoft 365 / Azure Tenant ID โ€” ask their IT admin if you don't have it.
Overview

How it works

KYRA separates ConnectWise credentials from individual customers. Most MSPs have a single ConnectWise instance โ€” you register it once in the ConnectWise Instances area of the portal, then simply select it when adding each customer.

Registered once
Your ConnectWise base URL, Company ID, and API keys are stored as a named instance (e.g. "Main CW"). Multiple instances are supported for MSPs with more than one ConnectWise environment.
Per customer
When adding a customer, you select which CW instance to use, specify the Service Board where their tickets should go, and provide their Azure Tenant ID.

Part 1 โ€” Register your ConnectWise instance (done once)
Step 1

Client ID โ€” handled by KYRA

Nothing to do here. KYRA now connects to ConnectWise using its own registered integration Client ID, so you no longer need to create one in the ConnectWise Developer portal.

๐Ÿ’ก
The Client ID identifies the integration (KYRA) rather than your MSP, so it's the same for everyone โ€” KYRA supplies it automatically. Continue to Step 2 to create the API member that authorises KYRA against your ConnectWise instance.

Step 2

Create an API Member in ConnectWise

An API Member is a special service account that KYRA uses to access ConnectWise. You create one per ConnectWise instance โ€” not per customer.

Steps

  1. Log into ConnectWise Manage for the customer.
  2. Go to System โ†’ Members.
  3. Click + New Member.
  4. Set the Member Type to API.
  5. Fill in the required fields:
    • Member ID: KYRA (or any name you like)
    • First Name: KYRA
    • Last Name: Bot
    • Role: Assign a dedicated, least-privilege API role (see the box below) — don’t reuse a full technician or admin role.
  6. Click Save.
โ„น๏ธ
Make sure the API member has permission to create service tickets, update tickets, and view contacts. Without these, KYRA won't be able to raise tickets.
๐Ÿ”’
Recommended โ€” give KYRA its own least-privilege role. In System โ†’ Security Roles, create a role (e.g. KYRA API) and grant only what KYRA needs, leaving everything else set to None:
  • Service Desk โ†’ Service Tickets: Add / Edit / Inquire
  • Companies โ†’ Company Maintenance & Contacts: Inquire (read-only)
  • Companies โ†’ Configurations: Inquire (read-only โ€” only if you use device/asset linking)
  • Everything else (Finance, Procurement, System, Project, …): None
KYRA can then raise/update tickets and look up the right company and contact โ€” but the key can’t touch finance, other members, or system settings if it were ever exposed.

Step 3

Generate API Keys

API Keys are like a username and password for the API Member you just created. You'll generate these inside ConnectWise.

Steps

  1. In ConnectWise, go to System โ†’ Members and open the API member you created in Step 2.
  2. Click the API Keys tab.
  3. Click + New API Key.
  4. Give it a description โ€” e.g. KYRA.
  5. Click Save.
  6. You'll see two values appear:
    • Public Key โ€” copy this now.
    • Private Key โ€” copy this now. This is shown only once. If you close this window without copying it, you'll need to delete and create a new key.
โš ๏ธ
Copy the Private Key before closing this page. ConnectWise does not show it again. If you lose it, delete the key and create a new one.

Step 4

Find your Company Identifier

The Company Identifier is the short name used to log into ConnectWise. It's usually a lowercase version of the company name with no spaces.

Where to find it

  1. Look at the ConnectWise login screen URL or the login form โ€” the company name field is pre-filled with the identifier.
  2. Alternatively, in ConnectWise go to System โ†’ My Company โ€” the identifier is shown at the top.

Example โ€” if your ConnectWise URL is https://acmecorp.myconnectwise.net, the identifier is:

acmecorp

Step 5

Register your ConnectWise instance in KYRA

Now that you have your API credentials, register the instance in the KYRA portal. You only do this once.

Steps

  1. Go to the KYRA portal and click ITSM Integrations in the left menu.
  2. On the ConnectWise card, click Manage instances โ†’ Add instance.
  3. Fill in all the fields:
    • Display name โ€” any name to identify this instance, e.g. "Main CW" or your MSP name.
    • Base URL โ€” the API URL for your ConnectWise instance (see the copyable examples below).
    • Company ID โ€” from Step 4.
    • Public key โ€” from Step 3.
    • Private key โ€” from Step 3.
  4. Click Test connection to verify the credentials work.
  5. Click Save.

Common hosted ConnectWise base URLs (copy the one for your region):

https://api-eu.myconnectwise.net
https://api-na.myconnectwise.net
โœ…
Verify before you save. Test connection calls ConnectWise with your keys and Company ID. Only save once it succeeds โ€” a failed test almost always means a wrong Company ID, base-URL region, or a mistyped private key.
๐Ÿ’ก
If you have multiple ConnectWise environments (e.g. for different regions or acquired companies), repeat this step for each one. You can register as many instances as you need. Your ConnectWise account manager can confirm the correct base-URL endpoint if you're unsure.

Part 2 โ€” Add a customer (repeated per customer)
Step 6

Find your Service Board name

The Service Board is where new tickets created by KYRA will appear. When adding a customer, KYRA can poll your instance and offer the boards in a dropdown โ€” but it helps to know the exact name in advance.

How to find it

  1. In ConnectWise, go to Service โ†’ Service Desk.
  2. Look at the board names in the left panel or the dropdown at the top.
  3. Note the exact name including capitalisation โ€” e.g. IT Service Desk.
โš ๏ธ
The board name is case-sensitive. "IT Service Desk" and "it service desk" are treated as different boards. Copy and paste the name exactly as it appears.

Step 7

Get the customer's Azure Tenant ID

The Tenant ID tells KYRA which Microsoft 365 organisation this customer belongs to. This ensures the bot only responds to people from that company.

Option A โ€” Ask the customer's IT admin

This is the easiest option. Ask them to:

  1. Go to portal.azure.com and sign in.
  2. Click Microsoft Entra ID in the left menu (or search for it).
  3. On the Overview page, copy the Tenant ID โ€” it looks like the format below.
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Option B โ€” Find it yourself (if you have access)

  1. Go to portal.azure.com and sign into the customer's Microsoft 365 tenant.
  2. Search for Microsoft Entra ID.
  3. Copy the Tenant ID from the Overview page.

Step 8

Add the customer in the KYRA portal

With your CW instance already registered, adding a customer only takes a few fields.

Steps

  1. Go back to the KYRA portal and click Customers.
  2. Click Add customer.
  3. Fill in the company details:
    • Company name โ€” the customer's display name.
    • Azure AD Tenant ID โ€” from Step 7.
    • Bot name โ€” what the bot will call itself in Teams (default: KYRA).
  4. Under ConnectWise, select the CW instance you registered in Step 5 from the dropdown.
  5. Choose the Service board from Step 6 (KYRA offers the boards it polls from your instance).
  6. Click ๐Ÿ”Œ Test connection โ€” all checks should show โœ…. If any fail, review the hint and correct the value.
  7. Click Save customer.
  8. Download the Teams app package and deploy it to the customer's Microsoft Teams environment.
โœ…
Finish with a real end-to-end test. Once saved, send a test message to the bot in Teams. You should receive a greeting card, and a test request should raise a ticket on the expected board. If the bot doesn't respond within 30 seconds, contact KYRA support.
โ„น๏ธ
Need help? Email [email protected] and include your company name and which step you're on.