Reference · Tools

SyncroMSP

Manage customers, contacts, tickets, and RMM alerts in SyncroMSP

Action Productivity v1

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

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires SyncroMSP API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Contactcontact
Customercustomer
RMM Alertrmm
Ticketticket

Operations

Customer (customer)

OperationValueDescription
CreatecreateCreate new customer
DeletedeleteDelete customer
GetgetRetrieve customer
Get ManygetAllRetrieve many customers
UpdateupdateUpdate customer

Contact (contact)

OperationValueDescription
CreatecreateCreate new contact
DeletedeleteDelete contact
GetgetRetrieve contact
Get ManygetAllRetrieve many contacts
UpdateupdateUpdate contact

Ticket (ticket)

OperationValueDescription
CreatecreateCreate new ticket
DeletedeleteDelete ticket
GetgetRetrieve ticket
Get ManygetAllRetrieve many tickets
UpdateupdateUpdate ticket

RMM Alert (rmm)

OperationValueDescription
CreatecreateCreate new RMM alert
DeletedeleteDelete RMM alert
GetgetRetrieve RMM alert
Get ManygetAllRetrieve many RMM alerts
MutemuteMute RMM alert

Parameters

Customer: Create

ParameterTypeRequiredDefaultDescription
Email (email)stringNoEmail address for the customer. Supports expressions.
Additional Fields (additionalFields)collectionNo{}Optional customer details sent with the new record.
— AddressfixedCollectionNo{}The customer’s postal address.
— — Line 1stringNoStreet address.
— — Line 2stringNoSecond address line, such as a suite or unit number.
— — CitystringNoCity.
— — StatestringNoState or region.
— — ZIPstringNoPostal code.
— Business NamestringNoThe customer’s company name.
— First NamestringNoThe customer’s first name.
— Get SMSbooleanNofalseWhether the customer receives SMS messages.
— Invoice EmailsstringNoComma-separated list of CC email addresses for invoices.
— Last NamestringNoThe customer’s last name.
— No EmailbooleanNofalseWhether to stop emailing this customer.
— NotesstringNoFree-text notes stored on the customer.
— Notification EmailstringNoAddress that receives notifications for this customer.
— PhonestringNoContact phone number.
— Referred BystringNoSource from which customer is referred (e.g., LinkedIn, Google, customer name).

Customer: Get

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYesGet specific customer by ID. Supports expressions.

Customer: Get Many

ParameterTypeRequiredDefaultDescription
Return All (returnAll)booleanNofalseWhether to return all results or only up to a given limit.
Limit (limit)numberNo25Max number of results to return. (shown when Return All is false)
Filters (filters)collectionNo{}Narrows the customers that are returned.
— Business NamestringNoMatch customers by company name.
— EmailstringNoMatch customers by email address.
— First NamestringNoMatch customers by first name.
— Include DisabledbooleanNofalseInclude disabled customers in the results.
— Last NamestringNoMatch customers by last name.
— Search QuerystringNoSearch query related to customer data like name, etc.
— SortstringNoCustomer field to order by (e.g., “firstname ASC”, “city DESC”).

Customer: Update

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYesID of the customer to update. Supports expressions.
Update Fields (updateFields)collectionNo{}The customer fields to change.
— AddressfixedCollectionNo{}The customer’s postal address.
— — Line 1stringNoStreet address.
— — Line 2stringNoSecond address line, such as a suite or unit number.
— — CitystringNoCity.
— — StatestringNoState or region.
— — ZIPstringNoPostal code.
— Business NamestringNoThe customer’s company name.
— EmailstringNoEmail address for the customer.
— First NamestringNoThe customer’s first name.
— Get SMSbooleanNotrueWhether the customer receives SMS messages.
— Invoice EmailsstringNoComma-separated list of CC email addresses for invoices.
— Last NamestringNoThe customer’s last name.
— No EmailbooleanNofalseWhether to stop emailing this customer.
— NotesstringNoFree-text notes stored on the customer.
— Notification EmailstringNoAddress that receives notifications for this customer.
— PhonestringNoContact phone number.
— Referred BystringNoSource from which customer is referred (e.g., LinkedIn, Google, customer name).

Customer: Delete

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYesDelete a specific customer by ID. Supports expressions.

Contact: Create

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYesID of the customer this contact belongs to. Supports expressions.
Email (email)stringNoEmail address for the contact. Supports expressions.
Additional Fields (additionalFields)collectionNo{}Optional contact details sent with the new record.
— AddressfixedCollectionNo{}The contact’s postal address.
— — Line 1stringNoStreet address.
— — Line 2stringNoSecond address line, such as a suite or unit number.
— — CitystringNoCity.
— — StatestringNoState or region.
— — ZIPstringNoPostal code.
— NamestringNoThe contact’s full name.
— NotesstringNoFree-text notes stored on the contact.
— PhonestringNoContact phone number.

Contact: Get

ParameterTypeRequiredDefaultDescription
Contact ID (contactId)stringYesGet specific contact by ID. Supports expressions.

Contact: Get Many

ParameterTypeRequiredDefaultDescription
Return All (returnAll)booleanNofalseWhether to return all results or only up to a given limit.
Limit (limit)numberNo25Max number of results to return. (shown when Return All is false)

Contact: Update

ParameterTypeRequiredDefaultDescription
Contact ID (contactId)stringYesID of the contact to update. Supports expressions.
Update Fields (updateFields)collectionNo{}The contact fields to change.
— AddressfixedCollectionNo{}The contact’s postal address.
— — Line 1stringNoStreet address.
— — Line 2stringNoSecond address line, such as a suite or unit number.
— — CitystringNoCity.
— — StatestringNoState or region.
— — ZIPstringNoPostal code.
— Customer IDstringNoMove the contact to this customer.
— EmailstringNoEmail address for the contact.
— NamestringNoThe contact’s full name.
— NotesstringNoFree-text notes stored on the contact.
— PhonestringNoContact phone number.

Contact: Delete

ParameterTypeRequiredDefaultDescription
Contact ID (contactId)stringYesDelete a specific contact by ID. Supports expressions.

Ticket: Create

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYesID of the customer this ticket belongs to. Supports expressions.
SubjectstringYesSubject line for the ticket. Supports expressions.
Additional Fields (additionalFields)collectionNo{}Optional ticket details sent with the new record.
— Asset IDstringNoID of the asset the ticket relates to.
— Assign to ContactstringNoThe ID of the contact you want to assign the ticket to.
— Issue TypeoptionsNoThe category of work the ticket covers.
Options: Contract Work, Network Project, Other, Regular Maintenance, Remote Support
— StatusoptionsNoNewTicket status.
Options: Customer Reply, In Progress, New, Resolved, Scheduled, Waiting for Parts, Waiting on Customer

Ticket: Get

ParameterTypeRequiredDefaultDescription
Ticket ID (ticketId)stringYesGet specific ticket by ID. Supports expressions.

Ticket: Get Many

ParameterTypeRequiredDefaultDescription
Return All (returnAll)booleanNofalseWhether to return all results or only up to a given limit.
Limit (limit)numberNo25Max number of results to return. (shown when Return All is false)
Filters (filters)collectionNo{}Narrows the tickets that are returned.
— Search QuerystringNoSearch query related to ticket data like user, etc.
— StatusoptionsNoNewReturn only tickets in this status.
Options: Customer Reply, In Progress, New, Resolved, Scheduled, Waiting for Parts, Waiting on Customer

Ticket: Update

ParameterTypeRequiredDefaultDescription
Ticket ID (ticketId)stringYesID of the ticket to update. Supports expressions.
Update Fields (updateFields)collectionNo{}The ticket fields to change. At least one field has to be set.
— Asset IDstringNoID of the asset the ticket relates to.
— Assign to ContactstringNoThe ID of the contact you want to assign the ticket to.
— Customer IDstringNoMove the ticket to this customer.
— Due DatedateTimeNoWhen the ticket is due.
— Issue TypeoptionsNoThe category of work the ticket covers.
Options: Contract Work, Network Project, Other, Regular Maintenance, Remote Support
— StatusoptionsNoNewTicket status.
Options: Customer Reply, In Progress, New, Resolved, Scheduled, Waiting for Parts, Waiting on Customer
— SubjectstringNoSubject line for the ticket.

Ticket: Delete

ParameterTypeRequiredDefaultDescription
Ticket ID (ticketId)stringYesDelete a specific ticket by ID. Supports expressions.

RMM Alert: Create

ParameterTypeRequiredDefaultDescription
Asset IDstringNoID of the asset associated with this alert. Supports expressions.
Customer ID (customerId)stringNoID of the customer associated with this alert. Supports expressions.
DescriptionstringNoDescription of the RMM alert. Supports expressions.
Additional Fields (additionalFields)collectionNo{}Optional alert details sent with the new record.
— ResolvedbooleanNofalseWhether the alert is created in a resolved state.

RMM Alert: Get

ParameterTypeRequiredDefaultDescription
RMM Alert ID (alertId)stringYesGet specific RMM alert by ID. Supports expressions.

RMM Alert: Get Many

ParameterTypeRequiredDefaultDescription
Return All (returnAll)booleanNofalseWhether to return all results or only up to a given limit.
Limit (limit)numberNo25Max number of results to return. (shown when Return All is false)
Filters (filters)collectionNo{}Narrows the alerts that are returned.
— StatusoptionsNoallReturn only alerts in this state.
Options: active, all, resolved

RMM Alert: Delete

ParameterTypeRequiredDefaultDescription
RMM Alert ID (alertId)stringYesDelete the RMM alert by ID. Supports expressions.

RMM Alert: Mute

ParameterTypeRequiredDefaultDescription
RMM Alert ID (alertId)stringYesMute the RMM alert by ID. Supports expressions.
Mute PeriodoptionsNoLength of time to mute the alert for.
Options: 1-hour, 1-day, 2-days, 1-week, 2-weeks, 1-month, forever

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum 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: OperationWhat lands on the item
Customer: Create, Customer: Get, Customer: UpdateThe customer record’s fields
Customer: Get ManyOne item per customer record
Contact: Create, Contact: Get, Contact: UpdateThe response as returned by the service
Contact: Get ManyOne item per contact record
Ticket: Create, Ticket: Get, Ticket: UpdateThe ticket record’s fields
Ticket: Get ManyOne item per ticket record
RMM Alert: Create, RMM Alert: GetThe alert record’s fields
RMM Alert: Get ManyOne item per alert record
Delete (any resource), RMM Alert: MuteThe 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

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes 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:

  • limit is only available when returnAll is false
  • Each resource type has its own set of valid operations
  • Collection fields like additionalFields and updateFields have 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 BusyBot

Last updated . Spotted something wrong? Tell us.