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.
What Data Is Collected
Section titled “What Data Is Collected”ConnectWise provides critical evidence for service delivery, time tracking, and customer management:
Tickets & Service Requests
Section titled “Tickets & Service Requests”- 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 Tracking
Section titled “Time Tracking”- 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
Customers & Companies
Section titled “Customers & Companies”- 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)
Agreements & Contracts
Section titled “Agreements & Contracts”- 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
Service Boards & Workflows
Section titled “Service Boards & Workflows”- Board Configuration - Service boards, statuses, workflows
- Status Tracking - New, in progress, completed, closed
- Workflow Rules - Escalation rules, automation settings
Compliance Mapping
Section titled “Compliance Mapping”ConnectWise data provides evidence of service delivery for compliance:
| Compliance Framework | Controls Supported | Evidence Provided |
|---|---|---|
| CIS Controls v8.1 | 17.1, 17.3, 17.9 | Incident management, incident response testing, documentation |
| NIST CSF 2.0 | DE.DP-4, RS.CO-2, RS.AN-1 | Detection process testing, incident reporting, incident analysis |
| CMMC Level 2 | AU.2.041, AU.2.042, IR.2.093 | Audit record creation, audit log protection, incident tracking |
| HIPAA Security Rule | 164.308(a)(6) | Security incident procedures, response and reporting |
| SOC 2 | CC7.3, CC7.4, CC7.5 | Incident detection, response procedures, communication |
Example: Service Delivery Proof
Section titled “Example: Service Delivery Proof”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 valueSetup Instructions
Section titled “Setup Instructions”Step 1: Create ConnectWise API Keys
Section titled “Step 1: Create ConnectWise API Keys”-
Log in to ConnectWise Manage
-
Navigate to System → Members → API Members
-
Click + New to create API member
-
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)
-
Click Save
-
Click API Keys tab
-
Click + New to generate API key pair
-
Copy both values immediately:
- Public Key (looks like:
abc123xyz...) - Private Key (looks like:
def456uvw...)
⚠️ Private key is shown only once - save it securely!
- Public Key (looks like:
Step 2: Get Your Company ID
Section titled “Step 2: Get Your Company ID”- In ConnectWise Manage, navigate to System → Company
- Find Company ID in company settings
- Copy Company ID (usually your company name, e.g., “acmeit”)
Step 3: Determine Your Server URL
Section titled “Step 3: Determine Your Server URL”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
Step 4: Configure LanternOps Integration
Section titled “Step 4: Configure LanternOps Integration”- Log in to LanternOps
- Navigate to Integrations → ConnectWise
- Click Configure Integration
- 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)
- Click Save & Test Connection
- Verify “Connection Successful” message
Step 5: Configure Sync Settings
Section titled “Step 5: Configure Sync Settings”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
Step 6: Run Initial Sync
Section titled “Step 6: Run Initial Sync”- Click Sync Now button
- First sync takes 30-60 minutes (imports historical tickets and time entries)
- Monitor progress in ETL Health Dashboard (
/platform/etl/) - Verify data appears:
- Navigate to Service Delivery → Tickets
- Should see ConnectWise tickets listed
- Check Time Tracking tab for time entries
Customer Mapping
Section titled “Customer Mapping”LanternOps automatically maps ConnectWise companies to your customers.
Automatic Mapping
Section titled “Automatic Mapping”Matching Strategies (in order):
-
Exact Name Match
- ConnectWise Company: “Acme Corporation”
- LanternOps Customer: “Acme Corporation”
- Result: ✅ Auto-matched (100% confidence)
-
Fuzzy Name Match
- ConnectWise Company: “Acme Corp”
- LanternOps Customer: “Acme Corporation”
- Result: ✅ Auto-matched (85% confidence)
-
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
Manual Mapping
Section titled “Manual Mapping”If auto-match fails:
- Navigate to Integrations → ConnectWise → Customer Mapping
- View unmapped companies
- Click Map to Customer for each unmapped company
- Select correct LanternOps customer from dropdown
- Click Save Mapping
Best Practice: Review mapping after first sync to catch any mismatches
Sync Schedule
Section titled “Sync Schedule”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 Type | Sync Method | Records Updated |
|---|---|---|
| Tickets | Incremental | Only new/updated tickets (last 90 days) |
| Time Entries | Incremental | Only new/updated entries (last 90 days) |
| Companies | Incremental | Only new/changed companies |
| Agreements | Full | All active agreements (lightweight) |
| Service Boards | Full | All 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)
Service Delivery Dashboards
Section titled “Service Delivery Dashboards”For MSPs
Section titled “For MSPs”Navigate to Service Delivery → Overview:
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)
For Customers (Portal)
Section titled “For Customers (Portal)”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/monthOver-Delivery: +42% above contract valueMonitoring & Troubleshooting
Section titled “Monitoring & Troubleshooting”Check Sync Health
Section titled “Check Sync Health”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
Common Issues
Section titled “Common Issues””Authentication Failed” Error
Section titled “”Authentication Failed” Error”Cause: Invalid API keys or incorrect Company ID
Solution:
- Verify Public Key, Private Key, and Company ID are correct
- Check API member hasn’t been disabled or deleted in ConnectWise
- Ensure API member has correct security role (read permissions)
- Try regenerating API keys in ConnectWise
- Common mistake: Using Member ID instead of Company ID - double-check!
”Connection Timeout” Error
Section titled “”Connection Timeout” Error”Cause: Incorrect Server URL or firewall blocking
Solution:
- Verify Server URL is correct for your hosting region
- For cloud: Use correct regional URL (api-na, api-eu, api-au)
- For on-premise: Use your custom ConnectWise domain
- Check firewall/network allows outbound HTTPS to ConnectWise servers
- Test connectivity:
curl -I [Your Server URL]should return 200/401
”No Tickets Found” After Sync
Section titled “”No Tickets Found” After Sync”Cause: API permissions insufficient or service board filter
Solution:
- Check Security Role of API member has these permissions:
- Service Tickets: Read
- Time Entries: Read
- Companies: Read
- Agreements: Read
- Remove Service Board filters - sync all boards initially
- Check Days Back setting - increase to 90 days
- Verify tickets exist in ConnectWise within timeframe
”Customer Auto-Mapping Failed”
Section titled “”Customer Auto-Mapping Failed””Cause: Company names don’t match between ConnectWise and LanternOps
Solution:
- Use Manual Mapping (see above)
- Navigate to Integrations → ConnectWise → Customer Mapping
- Map each unmapped company manually
- Best Practice: Use consistent naming across all platforms
”Partial Sync - Missing Time Entries”
Section titled “”Partial Sync - Missing Time Entries””Cause: API member missing time entry permissions
Solution:
- Check ConnectWise → System → Members → API Members
- Click your API member → Security Role
- Ensure Time Entries: Read permission is enabled
- Save and wait 5 minutes for changes to propagate
- Try manual sync: Sync Now
”Rate Limit Exceeded” Error
Section titled “”Rate Limit Exceeded” Error”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
Verify Data Accuracy
Section titled “Verify Data Accuracy”After first sync, verify:
-
Ticket Count Matches
- ConnectWise: Count tickets in date range (last 90 days)
- LanternOps: Navigate to Service Delivery → Tickets
- Counts should match within 5% (some filters may apply)
-
Customer Mapping Correct
- Review Customer Mapping page
- Ensure all ConnectWise companies mapped to correct LanternOps customers
- Check for duplicates
-
Time Entry Data Present
- Select any ticket in LanternOps
- Check Time Entries tab
- Should see hours logged, technician, work description
-
SLA Calculations Accurate
- Compare SLA compliance in LanternOps vs. ConnectWise reports
- Verify response/resolution time averages match
Business Value
Section titled “Business Value”Service Delivery Proof
Section titled “Service Delivery Proof”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
Revenue Opportunities
Section titled “Revenue Opportunities”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
Compliance Value
Section titled “Compliance Value”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
Best Practices
Section titled “Best Practices”- ✅ 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
Ongoing Maintenance
Section titled “Ongoing Maintenance”- ✅ 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
Security
Section titled “Security”- ✅ 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)
Performance
Section titled “Performance”- ✅ 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)
API Permissions Required
Section titled “API Permissions Required”Minimum Security Role Permissions
Section titled “Minimum Security Role Permissions”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.
Next Steps
Section titled “Next Steps”-
Verify First Sync
- Check Service Delivery → Tickets for data
- Review Customer Mapping
- Confirm time entries and agreements synced
-
Set Up QBR Reports
- Navigate to Reports → QBR Templates
- Enable ConnectWise service delivery section
- QBR Setup Guide
-
Enable Customer Portal Access
- Give customers access to their service delivery data
- Show tickets, time tracking, SLA compliance
- Customer Portal Guide
-
Configure Alerts
- Set up SLA breach alerts
- Enable over-delivery warnings
- Configure contract expiration reminders