Reference · Tools
SyncroMSP
Manage customers, contacts, tickets, and RMM alerts in SyncroMSP
The SyncroMSP node manages customers, contacts, tickets and RMM alerts. A typical build is opening a ticket automatically when an RMM alert fires, attached to the right customer, and closing it once the alert clears.
- Node type
- Action
- Parameters
- 45
- Outputs
- Output, Error
- Credentials
- SyncroMSP API
SyncroMSP
Manage customers, contacts, tickets, and RMM alerts in SyncroMSP.
Overview
SyncroMSP is an MSP (Managed Service Provider) platform that provides ticketing, RMM (Remote Monitoring and Management), billing, and customer management. This tool enables CRUD operations on customers, contacts, tickets, and RMM alerts via the SyncroMSP REST API.
Category: Productivity
Tool Name: syncro_msp
Version: 1
Appearance: Icon: lucide-Wrench | Color: #2962FF
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires SyncroMSP API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Contact | contact |
| Customer | customer |
| RMM Alert | rmm |
| Ticket | ticket |
Operations
Customer (customer)
| Operation | Value | Description |
|---|---|---|
| Create | create | Create new customer |
| Delete | delete | Delete customer |
| Get | get | Retrieve customer |
| Get Many | getAll | Retrieve many customers |
| Update | update | Update customer |
Contact (contact)
| Operation | Value | Description |
|---|---|---|
| Create | create | Create new contact |
| Delete | delete | Delete contact |
| Get | get | Retrieve contact |
| Get Many | getAll | Retrieve many contacts |
| Update | update | Update contact |
Ticket (ticket)
| Operation | Value | Description |
|---|---|---|
| Create | create | Create new ticket |
| Delete | delete | Delete ticket |
| Get | get | Retrieve ticket |
| Get Many | getAll | Retrieve many tickets |
| Update | update | Update ticket |
RMM Alert (rmm)
| Operation | Value | Description |
|---|---|---|
| Create | create | Create new RMM alert |
| Delete | delete | Delete RMM alert |
| Get | get | Retrieve RMM alert |
| Get Many | getAll | Retrieve many RMM alerts |
| Mute | mute | Mute RMM alert |
Parameters
Customer: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Email (email) | string | No | — | Email address for the customer. Supports expressions. |
Additional Fields (additionalFields) | collection | No | {} | Optional customer details sent with the new record. |
| — Address | fixedCollection | No | {} | The customer’s postal address. |
| — — Line 1 | string | No | — | Street address. |
| — — Line 2 | string | No | — | Second address line, such as a suite or unit number. |
| — — City | string | No | — | City. |
| — — State | string | No | — | State or region. |
| — — ZIP | string | No | — | Postal code. |
| — Business Name | string | No | — | The customer’s company name. |
| — First Name | string | No | — | The customer’s first name. |
| — Get SMS | boolean | No | false | Whether the customer receives SMS messages. |
| — Invoice Emails | string | No | — | Comma-separated list of CC email addresses for invoices. |
| — Last Name | string | No | — | The customer’s last name. |
| — No Email | boolean | No | false | Whether to stop emailing this customer. |
| — Notes | string | No | — | Free-text notes stored on the customer. |
| — Notification Email | string | No | — | Address that receives notifications for this customer. |
| — Phone | string | No | — | Contact phone number. |
| — Referred By | string | No | — | Source from which customer is referred (e.g., LinkedIn, Google, customer name). |
Customer: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Customer ID (customerId) | string | Yes | — | Get specific customer by ID. Supports expressions. |
Customer: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 25 | Max number of results to return. (shown when Return All is false) |
Filters (filters) | collection | No | {} | Narrows the customers that are returned. |
| — Business Name | string | No | — | Match customers by company name. |
string | No | — | Match customers by email address. | |
| — First Name | string | No | — | Match customers by first name. |
| — Include Disabled | boolean | No | false | Include disabled customers in the results. |
| — Last Name | string | No | — | Match customers by last name. |
| — Search Query | string | No | — | Search query related to customer data like name, etc. |
| — Sort | string | No | — | Customer field to order by (e.g., “firstname ASC”, “city DESC”). |
Customer: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Customer ID (customerId) | string | Yes | — | ID of the customer to update. Supports expressions. |
Update Fields (updateFields) | collection | No | {} | The customer fields to change. |
| — Address | fixedCollection | No | {} | The customer’s postal address. |
| — — Line 1 | string | No | — | Street address. |
| — — Line 2 | string | No | — | Second address line, such as a suite or unit number. |
| — — City | string | No | — | City. |
| — — State | string | No | — | State or region. |
| — — ZIP | string | No | — | Postal code. |
| — Business Name | string | No | — | The customer’s company name. |
string | No | — | Email address for the customer. | |
| — First Name | string | No | — | The customer’s first name. |
| — Get SMS | boolean | No | true | Whether the customer receives SMS messages. |
| — Invoice Emails | string | No | — | Comma-separated list of CC email addresses for invoices. |
| — Last Name | string | No | — | The customer’s last name. |
| — No Email | boolean | No | false | Whether to stop emailing this customer. |
| — Notes | string | No | — | Free-text notes stored on the customer. |
| — Notification Email | string | No | — | Address that receives notifications for this customer. |
| — Phone | string | No | — | Contact phone number. |
| — Referred By | string | No | — | Source from which customer is referred (e.g., LinkedIn, Google, customer name). |
Customer: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Customer ID (customerId) | string | Yes | — | Delete a specific customer by ID. Supports expressions. |
Contact: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Customer ID (customerId) | string | Yes | — | ID of the customer this contact belongs to. Supports expressions. |
Email (email) | string | No | — | Email address for the contact. Supports expressions. |
Additional Fields (additionalFields) | collection | No | {} | Optional contact details sent with the new record. |
| — Address | fixedCollection | No | {} | The contact’s postal address. |
| — — Line 1 | string | No | — | Street address. |
| — — Line 2 | string | No | — | Second address line, such as a suite or unit number. |
| — — City | string | No | — | City. |
| — — State | string | No | — | State or region. |
| — — ZIP | string | No | — | Postal code. |
| — Name | string | No | — | The contact’s full name. |
| — Notes | string | No | — | Free-text notes stored on the contact. |
| — Phone | string | No | — | Contact phone number. |
Contact: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Contact ID (contactId) | string | Yes | — | Get specific contact by ID. Supports expressions. |
Contact: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 25 | Max number of results to return. (shown when Return All is false) |
Contact: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Contact ID (contactId) | string | Yes | — | ID of the contact to update. Supports expressions. |
Update Fields (updateFields) | collection | No | {} | The contact fields to change. |
| — Address | fixedCollection | No | {} | The contact’s postal address. |
| — — Line 1 | string | No | — | Street address. |
| — — Line 2 | string | No | — | Second address line, such as a suite or unit number. |
| — — City | string | No | — | City. |
| — — State | string | No | — | State or region. |
| — — ZIP | string | No | — | Postal code. |
| — Customer ID | string | No | — | Move the contact to this customer. |
string | No | — | Email address for the contact. | |
| — Name | string | No | — | The contact’s full name. |
| — Notes | string | No | — | Free-text notes stored on the contact. |
| — Phone | string | No | — | Contact phone number. |
Contact: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Contact ID (contactId) | string | Yes | — | Delete a specific contact by ID. Supports expressions. |
Ticket: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Customer ID (customerId) | string | Yes | — | ID of the customer this ticket belongs to. Supports expressions. |
| Subject | string | Yes | — | Subject line for the ticket. Supports expressions. |
Additional Fields (additionalFields) | collection | No | {} | Optional ticket details sent with the new record. |
| — Asset ID | string | No | — | ID of the asset the ticket relates to. |
| — Assign to Contact | string | No | — | The ID of the contact you want to assign the ticket to. |
| — Issue Type | options | No | — | The category of work the ticket covers. |
Options: Contract Work, Network Project, Other, Regular Maintenance, Remote Support | ||||
| — Status | options | No | New | Ticket status. |
Options: Customer Reply, In Progress, New, Resolved, Scheduled, Waiting for Parts, Waiting on Customer |
Ticket: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Ticket ID (ticketId) | string | Yes | — | Get specific ticket by ID. Supports expressions. |
Ticket: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 25 | Max number of results to return. (shown when Return All is false) |
Filters (filters) | collection | No | {} | Narrows the tickets that are returned. |
| — Search Query | string | No | — | Search query related to ticket data like user, etc. |
| — Status | options | No | New | Return only tickets in this status. |
Options: Customer Reply, In Progress, New, Resolved, Scheduled, Waiting for Parts, Waiting on Customer |
Ticket: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Ticket ID (ticketId) | string | Yes | — | ID of the ticket to update. Supports expressions. |
Update Fields (updateFields) | collection | No | {} | The ticket fields to change. At least one field has to be set. |
| — Asset ID | string | No | — | ID of the asset the ticket relates to. |
| — Assign to Contact | string | No | — | The ID of the contact you want to assign the ticket to. |
| — Customer ID | string | No | — | Move the ticket to this customer. |
| — Due Date | dateTime | No | — | When the ticket is due. |
| — Issue Type | options | No | — | The category of work the ticket covers. |
Options: Contract Work, Network Project, Other, Regular Maintenance, Remote Support | ||||
| — Status | options | No | New | Ticket status. |
Options: Customer Reply, In Progress, New, Resolved, Scheduled, Waiting for Parts, Waiting on Customer | ||||
| — Subject | string | No | — | Subject line for the ticket. |
Ticket: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Ticket ID (ticketId) | string | Yes | — | Delete a specific ticket by ID. Supports expressions. |
RMM Alert: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Asset ID | string | No | — | ID of the asset associated with this alert. Supports expressions. |
Customer ID (customerId) | string | No | — | ID of the customer associated with this alert. Supports expressions. |
| Description | string | No | — | Description of the RMM alert. Supports expressions. |
Additional Fields (additionalFields) | collection | No | {} | Optional alert details sent with the new record. |
| — Resolved | boolean | No | false | Whether the alert is created in a resolved state. |
RMM Alert: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
RMM Alert ID (alertId) | string | Yes | — | Get specific RMM alert by ID. Supports expressions. |
RMM Alert: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 25 | Max number of results to return. (shown when Return All is false) |
Filters (filters) | collection | No | {} | Narrows the alerts that are returned. |
| — Status | options | No | all | Return only alerts in this state. |
Options: active, all, resolved |
RMM Alert: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
RMM Alert ID (alertId) | string | Yes | — | Delete the RMM alert by ID. Supports expressions. |
RMM Alert: Mute
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
RMM Alert ID (alertId) | string | Yes | — | Mute the RMM alert by ID. Supports expressions. |
| Mute Period | options | No | — | Length of time to mute the alert for. |
Options: 1-hour, 1-day, 2-days, 1-week, 2-weeks, 1-month, forever |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. Accepts 1–100. |
Output Data
Every response is treated as a list before it is written out: each record is merged into the item JSON at the top level, so the incoming fields pass through and the record’s fields are written over them. Binary data on the input item is forwarded unchanged.
Customer: Get Many, Contact: Get Many, Ticket: Get Many and RMM Alert: Get Many are the operations that fan out — they emit one output item per record. A search that matches nothing emits no output item at all for that input item, so the branch goes quiet rather than producing an empty result; guard against that downstream. Every other operation emits exactly one output item per input item.
Customer, Ticket and RMM Alert reads and writes unwrap the record from its response envelope before merging, so the record’s own fields (id, name, email, status and the rest of the record) land at the top level of the item. Contact operations merge the response exactly as the service returns it.
| Resource: Operation | What lands on the item |
|---|---|
Customer: Create, Customer: Get, Customer: Update | The customer record’s fields |
Customer: Get Many | One item per customer record |
Contact: Create, Contact: Get, Contact: Update | The response as returned by the service |
Contact: Get Many | One item per contact record |
Ticket: Create, Ticket: Get, Ticket: Update | The ticket record’s fields |
Ticket: Get Many | One item per ticket record |
RMM Alert: Create, RMM Alert: Get | The alert record’s fields |
RMM Alert: Get Many | One item per alert record |
Delete (any resource), RMM Alert: Mute | The service’s response. These calls usually answer with an empty body, and the item then carries only the fields it arrived with |
Reference the result downstream by expression, e.g. {{ $json.id }}.
Usage Examples
- Create a new customer in SyncroMSP
- Get all open tickets from SyncroMSP
- Update a contact in SyncroMSP
- Mute an RMM alert for 1 day
- Delete a ticket in SyncroMSP
Example Configuration
Create a customer with a full address and contact preferences:
{
"type": "syncro_msp",
"parameters": {
"resource": "customer",
"operation": "create",
"email": "john.doe@example.com",
"additionalFields": {
"businessName": "Acme Corporation",
"firstName": "John",
"lastname": "Doe",
"phone": "555-0123",
"address": {
"addressFields": {
"address": "123 Main St",
"address2": "Suite 100",
"city": "New York",
"state": "NY",
"zip": "10001"
}
},
"getSms": true,
"noEmail": false,
"notes": "Important customer",
"notificationEmail": "notifications@example.com"
}
}
}
Search customers with filters:
{
"type": "syncro_msp",
"parameters": {
"resource": "customer",
"operation": "getAll",
"returnAll": false,
"limit": 50,
"filters": {
"query": "Acme",
"businessName": "Acme Corporation",
"email": "john.doe@example.com",
"includeDisabled": false,
"sort": "business_name ASC"
}
}
}
Update a customer:
{
"type": "syncro_msp",
"parameters": {
"resource": "customer",
"operation": "update",
"customerId": "12345",
"updateFields": {
"businessName": "Acme Industries",
"email": "john.doe@acmeindustries.com",
"phone": "555-0199",
"getSms": false,
"notes": "Updated contact information"
}
}
}
Create a contact under an existing customer:
{
"type": "syncro_msp",
"parameters": {
"resource": "contact",
"operation": "create",
"customerId": "12345",
"email": "jane.smith@example.com",
"additionalFields": {
"name": "Jane Smith",
"phone": "555-0456",
"notes": "Primary contact for technical issues",
"address": {
"addressFields": {
"address": "456 Oak Ave",
"city": "Boston",
"state": "MA",
"zip": "02101"
}
}
}
}
}
Update a contact and move it to another customer:
{
"type": "syncro_msp",
"parameters": {
"resource": "contact",
"operation": "update",
"contactId": "67890",
"updateFields": {
"name": "Jane Smith-Johnson",
"email": "jane.johnson@example.com",
"phone": "555-0789",
"customerId": "12345"
}
}
}
Open a ticket against a customer and assign it:
{
"type": "syncro_msp",
"parameters": {
"resource": "ticket",
"operation": "create",
"customerId": "12345",
"subject": "Server maintenance required",
"additionalFields": {
"contactId": "67890",
"assetId": "asset_123",
"issueType": "Contract Work",
"status": "New"
}
}
}
List tickets in one status:
{
"type": "syncro_msp",
"parameters": {
"resource": "ticket",
"operation": "getAll",
"returnAll": false,
"limit": 25,
"filters": {
"status": "New",
"query": "server maintenance"
}
}
}
Move a ticket forward and set a due date:
{
"type": "syncro_msp",
"parameters": {
"resource": "ticket",
"operation": "update",
"ticketId": "ticket_456",
"updateFields": {
"status": "In Progress",
"subject": "Server maintenance - urgent",
"dueDate": "2024-01-15T10:00:00Z",
"contactId": "67890"
}
}
}
Raise an RMM alert for an asset:
{
"type": "syncro_msp",
"parameters": {
"resource": "rmm",
"operation": "create",
"assetId": "asset_789",
"customerId": "12345",
"description": "High CPU usage detected on server",
"additionalFields": {
"resolved": false
}
}
}
Pull every alert, active and resolved:
{
"type": "syncro_msp",
"parameters": {
"resource": "rmm",
"operation": "getAll",
"returnAll": true,
"filters": {
"status": "all"
}
}
}
Mute a noisy alert for a week:
{
"type": "syncro_msp",
"parameters": {
"resource": "rmm",
"operation": "mute",
"alertId": "alert_999",
"muteFor": "1-week"
}
}
Fetch a full customer list while holding concurrency down:
{
"type": "syncro_msp",
"parameters": {
"resource": "customer",
"operation": "getAll",
"returnAll": true,
"maxConcurrency": 5
}
}
Page through tickets instead of pulling them all:
{
"type": "syncro_msp",
"parameters": {
"resource": "ticket",
"operation": "getAll",
"returnAll": false,
"limit": 100,
"filters": {
"status": "New"
}
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Manage customers, contacts, tickets, and RMM alerts in SyncroMSP MSP platform.
Address Management
When working with addresses in additionalFields or updateFields, always use the addressFields object structure with the groupKey addressFields:
{
"address": {
"addressFields": {
"address": "Street address",
"address2": "Optional second line",
"city": "City name",
"state": "State code",
"zip": "Postal code"
}
}
}
Parameter Dependencies
Remember these key relationships:
limitis only available whenreturnAllisfalse- Each resource type has its own set of valid operations
- Collection fields like
additionalFieldsandupdateFieldshave different structures depending on the resource - Mute duration options for RMM alerts range from 1 hour to forever
Frequently asked questions
How do I supply an address?
Through the `addressFields` object structure with the `addressFields` group key inside Additional Fields or Update Fields — address, address2, city, state and the rest nest inside it rather than sitting flat.
What can it manage?
Customers, contacts, tickets and RMM alerts — the objects an MSP workflow touches most often.
Is it useful for alert-driven ticketing?
Yes, that is the natural pattern: an RMM alert becomes a ticket against the affected customer without anyone transcribing it.
Which credential does it need?
A SyncroMSP API credential.
Build with the SyncroMSP node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need SyncroMSP API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.