🚀 Executive Summary
TL;DR: ConnectWise MSPs implementing REWST often face integration complexities, workflow design challenges, and issues stemming from data inconsistency. The solution involves adopting a phased rollout strategy with quick wins, prioritizing thorough data hygiene and standardization within ConnectWise, and leveraging REWST’s advanced capabilities like state machines, custom API integrations, and REWST Agents for maximum automation impact.
🎯 Key Takeaways
- Adopt a phased rollout for REWST, starting with high-impact, low-complexity automations (quick wins) to build internal expertise and demonstrate value quickly.
- Prioritize data hygiene and standardization in ConnectWise Manage and Automate, including consistent naming conventions and cleanup of stale data, as inconsistent data leads to unreliable REWST workflows.
- Leverage advanced REWST capabilities such as State Machines for complex multi-stage processes, Custom API Integrations for niche tools, and REWST Agents for on-premise execution and scripting.
ConnectWise MSPs implementing REWST within the past year often face integration complexities and workflow design challenges. This guide offers practical solutions to streamline your REWST adoption, from phased rollouts and data hygiene to leveraging advanced features for maximum automation impact.
Understanding the Implementation Challenge: Symptoms for ConnectWise MSPs
For ConnectWise-centric MSPs venturing into REWST, the journey, while promising, often presents unique hurdles. Recognizing these “symptoms” early can pave the way for a smoother, more effective implementation.
- ### Analysis Paralysis and Scope Creep
The sheer power and flexibility of REWST can be overwhelming. Many MSPs struggle with where to begin, leading to indecision, or conversely, attempting to automate too many complex workflows simultaneously, resulting in stalled projects and frustration.
- ### Data Inconsistency and “Garbage In, Garbage Out”
ConnectWise Manage and Automate, over years of use, can accumulate inconsistent data (e.g., varying company types, service board names, contact roles). Without clean, standardized data, REWST workflows will often fail or produce unreliable results, eroding trust in the automation.
- ### Underutilization of Advanced Features
Many MSPs successfully implement basic REWST workflows but fail to leverage its more advanced capabilities like state machines, custom API integrations, or AI modules, leaving significant potential for efficiency gains untapped.
- ### Integration Gaps for Niche Tools
While REWST offers robust modules for ConnectWise and common SaaS platforms, integrating with highly specialized or on-premise tools that lack direct REWST modules can be a significant roadblock, requiring custom development or workarounds.
- ### Resource Strain and Skill Gaps
The time investment and specialized skillset required to effectively design, build, test, and maintain REWST workflows can be underestimated, straining internal resources and potentially delaying ROI.
Solution 1: Adopt a Phased Rollout and Focus on Core Integrations
The most effective way to integrate REWST into a ConnectWise environment is not a “big bang” approach, but rather a strategic, phased rollout. Start with high-impact, low-complexity automations to build internal expertise and demonstrate value quickly.
Strategy:
- **Identify Quick Wins:** Begin by automating repetitive, manual tasks that have a clear, measurable impact and relatively straightforward logic. Good candidates include:
- Simple ticket creation/updates (e.g., from a monitoring alert to a specific service board).
- Basic user onboarding/offboarding tasks (e.g., adding/removing from Active Directory groups, M365 licenses).
- Automated responses to specific ticket types.
- Master Core ConnectWise Modules: Become proficient with REWST’s native ConnectWise Manage and Automate modules. Understand their capabilities and limitations before attempting complex custom integrations.
- Iterate and Expand: Once initial workflows are stable and delivering value, incrementally add more complexity. Use lessons learned from earlier phases to inform subsequent development.
Example: Automating a Simple ConnectWise Manage Ticket Update from an External Alert
Let’s say you want to automatically update a ConnectWise Manage ticket when an external monitoring system (e.g., Datto RMM, NinjaOne, or a custom application) detects that an issue is resolved.
In REWST, this typically involves:
- **Webhook Listener:** A REWST webhook endpoint receives the “resolved” alert from the monitoring system.
- **Data Extraction:** Parse the incoming JSON payload to extract the relevant ticket ID and resolution details.
- **ConnectWise Manage Module:** Use the “ConnectWise Manage” module to find and update the ticket.
A conceptual REWST step for updating the ticket might look something like this in the workflow editor:
// This represents a step within a REWST workflow
{
"name": "Update_ConnectWise_Manage_Ticket",
"module": "ConnectWise Manage",
"action": "Update Ticket",
"inputs": {
"ticketId": "{{ context.webhookData.ticket_id }}", // Extract from webhook payload
"status": {
"id": "{{ context.connectwise_status_resolved_id }}" // Pre-configured CW status ID
},
"summary": "Resolved via Automation - Monitoring System",
"internalNotes": "Issue automatically marked as resolved by external monitoring system. Original alert: {{ context.webhookData.alert_description }}"
},
"outputs": {
"updatedTicket": "$.response"
}
}
This approach starts small, focuses on a clear problem, and uses existing modules effectively, building a foundation for more complex automations.
Solution 2: Prioritize Data Hygiene and Standardization in ConnectWise
No automation platform, including REWST, can magically fix bad data. Before investing heavily in REWST workflow development, MSPs must commit to a thorough review and cleanup of their ConnectWise Manage and Automate data. This foundational work is critical for reliable and accurate automation.
Strategy:
- **Standardize Naming Conventions:** Enforce consistent naming for service boards, statuses, company types, contact roles, and custom fields in ConnectWise Manage. The same applies to computer groups, agents, and device naming in ConnectWise Automate.
- **Clean Up Stale Data:** Regularly archive or remove old companies, contacts, agents, and configurations that are no longer active or relevant.
- **Utilize Custom Fields Strategically:** Identify critical data points that drive automation logic and ensure they are captured consistently using ConnectWise custom fields (either text, dropdown, or boolean).
- **Implement Data Validation within REWST:** Even after cleanup, build validation steps into your REWST workflows to catch edge cases or new inconsistencies before they cause failures.
Example: Validating Company Type Before Critical Automation
Imagine a REWST workflow that provisions a new server. You only want this workflow to run for “Managed Services” clients, not “Project Only” clients. You can add a validation step at the beginning of your REWST workflow.
First, ensure your ConnectWise Manage Company Types are standardized (e.g., “Client – Managed Services”, “Client – Project Only”).
Then, in REWST, a logic block can check this value:
// This represents a "Logic" module step (e.g., If/Else or Switch)
{
"name": "Validate_Company_Type_for_Server_Provisioning",
"module": "Logic",
"action": "If/Else",
"condition": "$.ticketDetails.company.companyType.name == 'Client - Managed Services'",
"ifTrue": [
{
"module": "Log",
"message": "Company type '{{ $.ticketDetails.company.companyType.name }}' is valid for server provisioning. Proceeding with workflow."
}
// ... continue with server provisioning steps
],
"ifFalse": [
{
"module": "Throw Error",
"message": "Workflow aborted: Server provisioning is only allowed for 'Client - Managed Services' type. Current type: '{{ $.ticketDetails.company.companyType.name }}'."
},
{
"module": "ConnectWise Manage",
"action": "Add Internal Note to Ticket",
"inputs": {
"ticketId": "{{ $.ticketDetails.id }}",
"note": "Automation failed due to invalid company type: '{{ $.ticketDetails.company.companyType.name }}'. Manual review required."
}
}
]
}
This proactive validation prevents errors and ensures your automation acts only on appropriate data, saving time and potential headaches down the line.
Solution 3: Leverage Advanced REWST Capabilities and Community Resources
Once your basic ConnectWise integrations are stable and your data is clean, it’s time to unlock REWST’s full potential. Don’t be afraid to dive into more complex features and lean on the extensive REWST community.
Advanced Capabilities to Explore:
- **State Machines:** For complex, multi-stage processes like comprehensive employee onboarding/offboarding, state machines provide a robust framework to manage the lifecycle of an automation, including conditional branching, waiting states, and error handling.
- **Custom API Integrations:** If a native REWST module doesn’t exist for a specific tool (e.g., a proprietary internal application, an older on-premise system), you can build custom API integrations using REWST’s HTTP Request module. This allows you to interact with virtually any system that has an API.
- **REWST Agents for On-Premise Execution:** For tasks requiring execution within a client’s network or on an on-premise server (e.g., running PowerShell scripts on a domain controller, interacting with local applications), deploy REWST Agents.
- **AI Modules:** Explore integrations with AI services (e.g., OpenAI, Azure AI) for intelligent task routing, summarization of ticket notes, sentiment analysis, or generating initial responses.
Comparison: Automation Approaches in REWST
Understanding when to use which REWST feature is key to efficient and scalable automation.
| Feature | REWST Native Modules | Custom API Integrations (via HTTP Request) | PowerShell/Python Scripting (via Agent) |
| Ease of Use | High (pre-built actions, intuitive UI) | Moderate (requires API documentation knowledge) | Varies (depends on script complexity and developer skill) |
| Development Speed | Fast (drag-and-drop, parameter mapping) | Moderate (defining endpoints, headers, payloads) | Moderate to Slow (script writing, testing, debugging) |
| Flexibility | Moderate (limited to module’s predefined actions) | High (full control over API calls and data transformation) | Very High (full scripting language capabilities) |
| Maintenance | Low (managed by REWST updates) | Moderate (API changes from vendor require updates) | High (script updates, dependency management, error handling) |
| Ideal Use Case | Standard SaaS platform integrations (ConnectWise, M365, Azure, etc.) | Niche SaaS tools, internal web services, custom applications with APIs | Complex system interactions, legacy applications, local file system operations, AD/Exchange on-premise |
| REWST Agent Required? | No (for cloud-based modules) | No (for public cloud APIs) / Yes (for internal APIs within private networks) | Yes (for execution on local servers/endpoints) |
Leveraging the REWST Community and Support:
- **REWST Discord Server:** An active community of users, developers, and REWST staff share ideas, solutions, and troubleshoot issues in real-time. This is an invaluable resource for learning best practices.
- **REWST Documentation and Academy:** Comprehensive documentation and structured learning paths help you master specific modules and advanced concepts.
- **Support Tickets:** For platform-specific issues or bugs, don’t hesitate to open a support ticket.
Example: Custom API Integration to a Niche CRM
If your MSP uses a less common CRM without a direct REWST module, you can integrate it using HTTP Request steps. For instance, creating a new contact in this CRM when a new client is added in ConnectWise Manage:
// This represents an "HTTP Request" module step
{
"name": "Create_Contact_in_Niche_CRM",
"module": "HTTP Request",
"action": "POST",
"inputs": {
"url": "https://api.nichecrm.com/v1/contacts",
"headers": {
"Authorization": "Bearer {{ context.nichecrm_api_key }}",
"Content-Type": "application/json"
},
"body": {
"firstName": "{{ context.newContact.firstName }}",
"lastName": "{{ context.newContact.lastName }}",
"email": "{{ context.newContact.email }}",
"companyName": "{{ context.newContact.companyName }}"
}
},
"outputs": {
"crmResponse": "$.response"
}
}
By embracing these advanced features and actively participating in the REWST ecosystem, ConnectWise MSPs can move beyond basic automation to truly transformative, intelligent orchestration, significantly enhancing operational efficiency and client satisfaction.

Top comments (0)