Skip to content

ConnectWise PSA Integration

Connect your ConnectWise Manage PSA platform to automatically collect tickets, time entries, service board data, and customer contract information for service delivery proof.

ConnectWise provides critical evidence for service delivery, time tracking, and customer management:

  • Service Tickets - All tickets across all service boards
  • Ticket Details - Summary, description, priority, status, type
  • Ticket Timeline - Created date, updated date, closed date, resolution time
  • Ticket Assignment - Assigned technician, team, service board
  • Customer Association - Which customer the ticket belongs to
  • SLA Tracking - Response time, resolution time, SLA compliance
  • Time Entries - All billable and non-billable time logged
  • Time Details - Hours worked, date worked, description of work
  • Technician Info - Who performed the work, hourly rate
  • Billing Status - Billable, non-billable, billed, invoiced
  • Work Type - Service, project, internal, travel
  • Agreement Association - Which contract/agreement time is logged against
  • Company Records - All customer organizations in ConnectWise
  • Contact Information - Company name, address, phone, website
  • Company Status - Active, inactive, prospect
  • Company Type - Customer, lead, partner, vendor
  • Custom Fields - Industry, revenue, employee count (if configured)
  • Service Agreements - Active contracts with customers
  • Agreement Details - Type (managed services, block hours, incident)
  • Agreement Value - Monthly/annual recurring revenue
  • Covered Items - Assets/services covered by agreement
  • Agreement Status - Active, expired, canceled
  • Board Configuration - Service boards, statuses, workflows
  • Status Tracking - New, in progress, completed, closed
  • Workflow Rules - Escalation rules, automation settings

ConnectWise data provides evidence of service delivery for compliance:

Compliance FrameworkControls SupportedEvidence Provided
CIS Controls v8.117.1, 17.3, 17.9Incident management, incident response testing, documentation
NIST CSF 2.0DE.DP-4, RS.CO-2, RS.AN-1Detection process testing, incident reporting, incident analysis
CMMC Level 2AU.2.041, AU.2.042, IR.2.093Audit record creation, audit log protection, incident tracking
HIPAA Security Rule164.308(a)(6)Security incident procedures, response and reporting
SOC 2CC7.3, CC7.4, CC7.5Incident detection, response procedures, communication

Use Case:

Customer asks: “What are we paying for?”

ConnectWise Evidence:

✅ Service Delivery (Last 30 Days):
- Tickets Resolved: 23
- Total Time: 47.5 hours
- Response Time: Average 1.2 hours (SLA: <2 hours)
- Resolution Time: Average 4.8 hours (SLA: <8 hours)
- SLA Compliance: 96% (22 of 23 tickets met SLA)
- Work Categories:
* Security incidents: 8 tickets, 18 hours
* User support: 10 tickets, 15 hours
* Infrastructure maintenance: 5 tickets, 14.5 hours
✅ Billable Value: $7,125 (47.5 hours × $150/hr)
✅ Agreement Value: $5,000/month
✅ Value Delivered: 142% of contract value
Status: Exceeding expectations, proving value
  1. Log in to ConnectWise Manage

  2. Navigate to SystemMembersAPI Members

  3. Click + New to create API member

  4. Configure API member:

    • Member ID: “LanternOps_Integration”
    • Member Name: “LanternOps Integration”
    • Role: “API Member” (or custom read-only role)
    • Department: IT
    • Security Role: Read-only access (minimum required permissions)
  5. Click Save

  6. Click API Keys tab

  7. Click + New to generate API key pair

  8. Copy both values immediately:

    • Public Key (looks like: abc123xyz...)
    • Private Key (looks like: def456uvw...)

    ⚠️ Private key is shown only once - save it securely!

  1. In ConnectWise Manage, navigate to SystemCompany
  2. Find Company ID in company settings
  3. Copy Company ID (usually your company name, e.g., “acmeit”)

ConnectWise Cloud Hosting:

  • North America: https://api-na.myconnectwise.net
  • Europe: https://api-eu.myconnectwise.net
  • Australia: https://api-au.myconnectwise.net

On-Premise/Private Cloud:

  • Use your custom ConnectWise URL: https://yourcompany.connectwise.com
  1. Log in to LanternOps
  2. Navigate to IntegrationsConnectWise
  3. Click Configure Integration
  4. Enter credentials:
    • Name: “Primary ConnectWise”
    • Company ID: [Paste from Step 2]
    • Public Key: [Paste from Step 1]
    • Private Key: [Paste from Step 1]
    • Server URL: [Select or enter from Step 3]
    • Client ID: “LanternOps” (default - don’t change)
  5. Click Save & Test Connection
  6. Verify “Connection Successful” message

Default Settings (Recommended):

  • Sync Enabled: ON
  • Sync Frequency: Every 6 hours
  • Days Back: 90 (historical tickets/time entries)
  • Sync Closed Tickets: ON (for complete history)

Advanced Options:

  • Service Boards: All boards (or select specific boards to sync)
  • Customer Mapping: Automatic (uses fuzzy company name matching)
  • Time Entry Sync: ON (for time tracking evidence)
  • Agreement Sync: ON (for contract data)

Click Save Settings

  1. Click Sync Now button
  2. First sync takes 30-60 minutes (imports historical tickets and time entries)
  3. Monitor progress in ETL Health Dashboard (/platform/etl/)
  4. Verify data appears:
    • Navigate to Service DeliveryTickets
    • Should see ConnectWise tickets listed
    • Check Time Tracking tab for time entries

LanternOps automatically maps ConnectWise companies to your customers.

Matching Strategies (in order):

  1. Exact Name Match

    • ConnectWise Company: “Acme Corporation”
    • LanternOps Customer: “Acme Corporation”
    • Result: ✅ Auto-matched (100% confidence)
  2. Fuzzy Name Match

    • ConnectWise Company: “Acme Corp”
    • LanternOps Customer: “Acme Corporation”
    • Result: ✅ Auto-matched (85% confidence)
  3. Domain Match

    • ConnectWise Contact Email: “[email protected]
    • LanternOps Customer Domain: “acme.com”
    • Result: ✅ Auto-matched (80% confidence)

Success Rate: >80% of companies auto-match successfully

If auto-match fails:

  1. Navigate to IntegrationsConnectWiseCustomer Mapping
  2. View unmapped companies
  3. Click Map to Customer for each unmapped company
  4. Select correct LanternOps customer from dropdown
  5. Click Save Mapping

Best Practice: Review mapping after first sync to catch any mismatches

Default Frequency: Every 6 hours at :45 past the hour

Sync Times (24-hour cycle):

  • 12:45 AM
  • 6:45 AM
  • 12:45 PM
  • 6:45 PM

Why Every 6 Hours?

  • Ticket data doesn’t change as rapidly as assets/security events
  • Reduces API load on ConnectWise server
  • Balances freshness with performance

What Gets Synced Each Cycle:

Data TypeSync MethodRecords Updated
TicketsIncrementalOnly new/updated tickets (last 90 days)
Time EntriesIncrementalOnly new/updated entries (last 90 days)
CompaniesIncrementalOnly new/changed companies
AgreementsFullAll active agreements (lightweight)
Service BoardsFullAll boards and statuses (lightweight)

First Sync vs. Subsequent Syncs:

  • First Sync: 30-60 minutes (full historical import, 90 days)
  • Incremental Sync: 5-15 minutes (only changes)

Navigate to Service DeliveryOverview:

Metrics Shown:

  • Total tickets resolved (by customer, by month)
  • Average response time
  • Average resolution time
  • SLA compliance percentage
  • Total billable hours
  • Billable value delivered
  • Time by work category

Use Cases:

  • Track technician productivity
  • Identify high-maintenance customers
  • Prove value in QBRs
  • Detect customers needing attention (low ticket volume = potential issue)

Customer Portal Shows:

  • Their tickets (last 30/60/90 days)
  • Resolution time trends
  • Work categories (what you’re doing for them)
  • SLA compliance (proof you’re meeting commitments)
  • Time invested (hours of work on their behalf)

Example Display:

Your Service Delivery (Last 30 Days)
✅ Tickets Resolved: 23
📊 Response Time: 1.2 hours average (SLA: <2 hours)
📊 Resolution Time: 4.8 hours average (SLA: <8 hours)
✅ SLA Compliance: 96% (22 of 23 tickets met SLA)
Work Breakdown:
🔒 Security: 18 hours (38%)
👤 User Support: 15 hours (32%)
🖥️ Infrastructure: 14.5 hours (30%)
Value Delivered: $7,125 (47.5 hours at $150/hr)
Your Contract: $5,000/month
Over-Delivery: +42% above contract value

Navigate to ETL Health Dashboard (/platform/etl/):

Healthy Sync Indicators:

  • 🟢 Status: Healthy
  • Failure Rate: <5%
  • ⏱️ Last Sync: Within last 6 hours
  • 📊 Records Synced: >0 tickets/time entries per sync

Cause: Invalid API keys or incorrect Company ID

Solution:

  1. Verify Public Key, Private Key, and Company ID are correct
  2. Check API member hasn’t been disabled or deleted in ConnectWise
  3. Ensure API member has correct security role (read permissions)
  4. Try regenerating API keys in ConnectWise
  5. Common mistake: Using Member ID instead of Company ID - double-check!

Cause: Incorrect Server URL or firewall blocking

Solution:

  1. Verify Server URL is correct for your hosting region
  2. For cloud: Use correct regional URL (api-na, api-eu, api-au)
  3. For on-premise: Use your custom ConnectWise domain
  4. Check firewall/network allows outbound HTTPS to ConnectWise servers
  5. Test connectivity: curl -I [Your Server URL] should return 200/401

Cause: API permissions insufficient or service board filter

Solution:

  1. Check Security Role of API member has these permissions:
    • Service Tickets: Read
    • Time Entries: Read
    • Companies: Read
    • Agreements: Read
  2. Remove Service Board filters - sync all boards initially
  3. Check Days Back setting - increase to 90 days
  4. Verify tickets exist in ConnectWise within timeframe

Cause: Company names don’t match between ConnectWise and LanternOps

Solution:

  1. Use Manual Mapping (see above)
  2. Navigate to IntegrationsConnectWiseCustomer Mapping
  3. Map each unmapped company manually
  4. Best Practice: Use consistent naming across all platforms

Cause: API member missing time entry permissions

Solution:

  1. Check ConnectWiseSystemMembersAPI Members
  2. Click your API member → Security Role
  3. Ensure Time Entries: Read permission is enabled
  4. Save and wait 5 minutes for changes to propagate
  5. Try manual sync: Sync Now

Cause: Too many API requests in short period (rare)

Solution:

  • Automatic recovery: ETL system retries after 15 minutes
  • If persistent: Contact ConnectWise support to increase API rate limits
  • Workaround: Reduce sync frequency to every 8 hours

After first sync, verify:

  1. Ticket Count Matches

    • ConnectWise: Count tickets in date range (last 90 days)
    • LanternOps: Navigate to Service DeliveryTickets
    • Counts should match within 5% (some filters may apply)
  2. Customer Mapping Correct

    • Review Customer Mapping page
    • Ensure all ConnectWise companies mapped to correct LanternOps customers
    • Check for duplicates
  3. Time Entry Data Present

    • Select any ticket in LanternOps
    • Check Time Entries tab
    • Should see hours logged, technician, work description
  4. SLA Calculations Accurate

    • Compare SLA compliance in LanternOps vs. ConnectWise reports
    • Verify response/resolution time averages match

Before ConnectWise Integration:

  • Manual reporting: 4 hours/month to compile QBR data
  • No real-time visibility for customers
  • Customers question what they’re paying for
  • Hard to prove value

With ConnectWise Integration:

  • Automatic QBR reports: 5 minutes to generate
  • Customer portal shows real-time service delivery
  • Prove value with concrete metrics (tickets, hours, SLA compliance)
  • Customers see work being done on their behalf

Quarterly Savings: 12 hours × $150/hr = $1,800

ConnectWise data powers automatic opportunity detection:

Under-Delivery Detection:

  • Customer on $5,000/month agreement
  • Only 15 hours logged last month ($2,250 value)
  • Opportunity: Review agreement scope, identify additional needs

Over-Delivery Upsells:

  • Customer on $5,000/month agreement
  • 47 hours logged last month ($7,050 value)
  • Opportunity: “We’re over-delivering by 41% - let’s right-size your agreement to $7,000/month”

High-Touch Customers:

  • Customer generating 50+ tickets/month
  • Opportunity: Recommend proactive monitoring service to reduce reactive tickets

Low-Touch Customers:

  • Customer with <5 tickets in 90 days
  • Opportunity: Potential churn risk - schedule check-in, offer new services

Contract Renewal Automation:

  • Agreements expiring in next 30 days
  • Opportunity: Auto-generate renewal proposals with updated pricing

Average Revenue Found: $2,000-$4,000 per customer

Service Delivery Evidence:

  • Incident response tracking (HIPAA 164.308(a)(6))
  • Audit trail of all service activities
  • SLA compliance proof
  • Documentation of security incidents handled

Audit Package Includes:

  • Ticket history (all incidents tracked)
  • Time tracking (proof of work performed)
  • Response/resolution times (SLA compliance)
  • Evidence of incident response procedures
  • ✅ Create dedicated API member (don’t use your personal account)
  • ✅ Use read-only security role (LanternOps never writes to ConnectWise)
  • ✅ Use consistent company naming between ConnectWise and LanternOps
  • ✅ Test sync with one service board first before enabling all
  • ✅ Review Service Delivery Dashboard weekly
  • ✅ Check customer mapping monthly for new companies
  • ✅ Monitor SLA compliance to catch service issues early
  • ✅ Rotate API credentials every 12 months
  • ✅ Credentials are encrypted at rest (AES-256)
  • ✅ Never shared across MSP tenants
  • ✅ Use read-only API permissions
  • ✅ Enable API key expiration in ConnectWise (12-month rotation)
  • ✅ Keep sync frequency at 6 hours (balances freshness and API load)
  • ✅ First sync during off-hours (takes 30-60 minutes)
  • ✅ Monitor records synced to detect issues early
  • ✅ Use incremental sync (enabled by default)

Required Access:

Service Tickets - Read (view tickets, statuses, boards)
Time Entries - Read (view time logged)
Companies - Read (view customer records)
Contacts - Read (view contact info)
Agreements - Read (view contracts)
Service Boards - Read (view board configuration)

NOT Required:

  • Write permissions (LanternOps is read-only)
  • Financial data access (invoices, payments)
  • Configuration changes
  • Admin access

Best Practice: Create custom security role with minimum permissions listed above.

  1. Verify First Sync

    • Check Service DeliveryTickets for data
    • Review Customer Mapping
    • Confirm time entries and agreements synced
  2. Set Up QBR Reports

    • Navigate to ReportsQBR Templates
    • Enable ConnectWise service delivery section
    • QBR Setup Guide
  3. Enable Customer Portal Access

    • Give customers access to their service delivery data
    • Show tickets, time tracking, SLA compliance
    • Customer Portal Guide
  4. Configure Alerts

    • Set up SLA breach alerts
    • Enable over-delivery warnings
    • Configure contract expiration reminders