Connecting ConnectWise to AccountAim
AccountAim's integration with ConnectWise allows you to easily import data from your ConnectWise PSA (Professional Services Automation) platform to use in AccountAim to improve account targeting, analyze service delivery metrics, and ensure your sales and service processes are being followed in real-time.
In this guide, you'll learn how to connect ConnectWise to AccountAim.
Integration Overview
AccountAim's integration with ConnectWise is a two-way sync via the ConnectWise REST API. This means AccountAim can both read data from and write data back to ConnectWise. By default, the sync is set to be read-only for safety, but write capabilities can be enabled for supported objects. Only a single AccountAim Admin needs to authenticate in order to set up the integration.
Prerequisites
Before connecting ConnectWise to AccountAim, ensure you have:
- ConnectWise Account: Access to a ConnectWise Manage instance
- API Access: API access must be enabled in your ConnectWise instance
- API Credentials: A ConnectWise API key or OAuth credentials with appropriate permissions
- Company ID: Your ConnectWise company ID (found in your ConnectWise URL or settings)
User Permissions
It is recommended that the user authenticating to AccountAim has Administrator-level permissions in ConnectWise. Alternatively, the following permissions will be required:
For Read-Only Access:
- Companies - Read access
- Contacts - Read access
- Tickets/Service Tickets - Read access
- Projects - Read access
- Opportunities - Read access
- Time Entries - Read access
- Agreements - Read access (if syncing agreement data)
For Write Access (if enabling two-way sync):
- Companies - Write access (to update company records)
- Contacts - Write access (to create or update contacts)
- Tickets/Service Tickets - Write access (to create or update tickets)
- Projects - Write access (to create or update projects)
- Opportunities - Write access (to create or update opportunities)
- Time Entries - Write access (to create time entries)
- Activities - Write access (to create activities)
You may also need similar permissions for any additional objects you'll be importing or updating in AccountAim.
For security best practices, consider creating a dedicated API user in ConnectWise specifically for AccountAim with only the minimum required permissions.
Authentication Methods
ConnectWise supports two authentication methods:
- API Key Authentication (Recommended): Uses a ConnectWise API public key and private key
- OAuth2 Authentication: Uses OAuth2 client credentials flow
How to connect ConnectWise
To connect ConnectWise to your AccountAim workspace, navigate to the Warehouse section and click "Add New" to add a new data source.
Step 1: Select ConnectWise as your Source
In the "Add New Record Source" modal, select "ConnectWise" as your data source type.
Step 2: Choose Authentication Method
Select your preferred authentication method:
- API Key (Recommended): Use ConnectWise API public and private keys
- OAuth2: Use OAuth2 client credentials
Step 3: Enter Connection Details
If using API Key Authentication:
-
Company ID: Enter your ConnectWise company ID
- This is typically found in your ConnectWise URL (e.g.,
https://[companyid].myconnectwise.net) - Or in your ConnectWise settings under Company Information
- This is typically found in your ConnectWise URL (e.g.,
-
Site URL: Enter your ConnectWise site URL
- Format:
https://[companyid].myconnectwise.netor your custom domain - Include the protocol (https://) but not a trailing slash
- Format:
-
Public Key: Enter your ConnectWise API public key
- To create API keys in ConnectWise:
- Go to System → Setup Tables → API Keys
- Click "Add New"
- Enter a description (e.g., "AccountAim Integration")
- Copy the Public Key and Private Key
- To create API keys in ConnectWise:
-
Private Key: Enter your ConnectWise API private key
- Keep this secure and never share it publicly
-
Client ID (optional): Enter your ConnectWise client ID if using OAuth
If using OAuth2 Authentication:
-
Company ID: Enter your ConnectWise company ID
-
Site URL: Enter your ConnectWise site URL
-
Client ID: Enter your OAuth2 client ID
- To create OAuth credentials in ConnectWise:
- Go to System → Setup Tables → API Members
- Create a new API member or use an existing one
- Note the Client ID and Client Secret
- To create OAuth credentials in ConnectWise:
-
Client Secret: Enter your OAuth2 client secret
Step 4: Test Connection
Click "Test Connection" to verify that AccountAim can successfully connect to your ConnectWise instance.
If the connection test fails, verify:
- Your company ID is correct
- Your site URL is accessible and correct
- Your API keys or OAuth credentials are valid
- API access is enabled in your ConnectWise instance
- Your user has the required permissions
Step 5: Configure Sync Settings
After a successful connection, configure your sync settings:
- Sync Frequency: Choose how often AccountAim should sync data from ConnectWise
- Options: Manual, Hourly, Daily, Weekly
- Objects to Sync: Select which ConnectWise objects you want to sync
- Sync Mode: Choose between full sync or incremental sync (if supported)
- Date Range Filters: Configure date filters for time-sensitive objects like tickets and time entries
- Write Permissions: Enable write capabilities for specific objects (if you want AccountAim to write data back to ConnectWise)
- Toggle write access on/off for each object type
- Write access requires appropriate permissions in ConnectWise
Step 6: Complete Setup
Click "Save" to complete the ConnectWise connection setup. AccountAim will perform an initial sync to import your selected data.
Sync Schedule
Customers have the ability to set the sync frequency in AccountAim in order to control API usage. For details on ConnectWise's API usage guidelines and rate limits, please visit ConnectWise's API documentation.
By default, automatic syncing is enabled. Manual syncing can be enabled by navigating to the Settings page in the AccountAim app and adjusting the sync schedule for your ConnectWise connection.
ConnectWise has API rate limits. Consider your sync frequency and data volume to avoid hitting rate limits. More frequent syncs of large datasets may require adjusting your sync schedule.
Supported Objects
AccountAim currently supports the ability to import data from the following ConnectWise objects:
- Companies: Company records and information
- Contacts: Contact records associated with companies
- Tickets/Service Tickets: Service tickets, including:
- Ticket details and status
- Ticket notes and time entries
- Ticket configurations and board information
- Projects: Project records and project phases
- Opportunities: Sales opportunities and pipeline data
- Time Entries: Time tracking entries for tickets and projects
- Agreements: Service agreements and contract information
- Products: Product catalog and pricing information
- Invoices: Invoice records (if permissions allow)
- Activities: Activities and calendar events
Write Capabilities
AccountAim supports writing data back to ConnectWise for the following objects (when write permissions are enabled):
- Companies: Update company information and custom fields
- Contacts: Create new contacts or update existing contact records
- Tickets/Service Tickets:
- Create new service tickets
- Update ticket status, priority, and other fields
- Add notes and updates to tickets
- Projects: Create new projects or update project information
- Opportunities: Create new opportunities or update opportunity stages and details
- Time Entries: Create time entries for tickets and projects
- Activities: Create activities and calendar events
Before enabling write capabilities, ensure you understand the impact of data being written back to ConnectWise. It's recommended to test write operations in a sandbox or test environment first, or start with read-only access and enable writes gradually for specific objects.
To enable write capabilities:
- Navigate to your ConnectWise integration settings in AccountAim
- For each object you want to enable writes for, toggle the "Write Access" option
- Ensure your ConnectWise API user has the necessary write permissions
- Configure any field mapping or transformation rules if needed
- Test with a small dataset before enabling writes for all records
Best Practices
- Use Dedicated API User: Create a dedicated API user in ConnectWise for AccountAim with minimal required permissions
- Start with Read-Only: Begin with read-only access and enable writes only after testing and validation
- Selective Syncing: Only sync the objects you actually need in AccountAim to reduce API usage
- Date Range Filters: Use date range filters for time-sensitive objects like tickets and time entries to limit data volume
- Monitor API Usage: Keep an eye on your ConnectWise API usage and adjust sync frequency as needed
- Incremental Syncs: Use incremental syncs when available to reduce API calls and improve performance
- Secure Credentials: Never share your API keys or OAuth credentials publicly
- Test Writes Carefully: If using write capabilities, test thoroughly in a non-production environment first
- Field Mapping: Review and configure field mappings before enabling writes to ensure data integrity
- Audit Trail: Monitor write operations in AccountAim's activity logs to track changes made to ConnectWise
Troubleshooting
Connection Issues
If you're experiencing connection problems:
- Verify your company ID is correct (check your ConnectWise URL)
- Check that your site URL is correct and accessible
- Ensure your API keys or OAuth credentials are valid and not expired
- Verify that API access is enabled in your ConnectWise instance
- Check that your user has the required permissions
- Ensure your ConnectWise instance is not in maintenance mode
Sync Issues
If data isn't syncing properly:
- Verify the API user has read permissions on the objects you're trying to sync
- Check that the objects exist and are accessible in ConnectWise
- Review sync logs in AccountAim for specific error messages
- Ensure you haven't exceeded ConnectWise API rate limits
- Check for any data type or field mapping issues
API Rate Limits
If you're hitting API rate limits:
- Reduce sync frequency for large objects
- Use date range filters to limit the amount of data synced
- Consider syncing different objects at different intervals
- Contact ConnectWise support to discuss API rate limit increases if needed
For additional support, contact AccountAim support.