Search all guides

Reference · Tools

SyncroMSP integration

Perform CRUD operations on customers, contacts, tickets, and RMM alerts within the SyncroMSP platform.

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.

Works as
Action
Tool name
syncro_msp
Operations
5 — Create , Delete , Get , Get Many , Update
Parameters
45
Outputs
Output, Error
Credentials
SyncroMSP API
Official docs
SyncroMSP docs api-docs.syncromsp.com

What you can build with SyncroMSP

  • 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.

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.

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)stringNo—Email 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 1stringNo—Street address.
— — Line 2stringNo—Second address line, such as a suite or unit number.
— — CitystringNo—City.
— — StatestringNo—State or region.
— — ZIPstringNo—Postal code.
— Business NamestringNo—The customer’s company name.
— First NamestringNo—The customer’s first name.
— Get SMSbooleanNofalseWhether the customer receives SMS messages.
— Invoice EmailsstringNo—Comma-separated list of CC email addresses for invoices.
— Last NamestringNo—The customer’s last name.
— No EmailbooleanNofalseWhether to stop emailing this customer.
— NotesstringNo—Free-text notes stored on the customer.
— Notification EmailstringNo—Address that receives notifications for this customer.
— PhonestringNo—Contact phone number.
— Referred BystringNo—Source from which customer is referred (e.g., LinkedIn, Google, customer name).

Customer: Get

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYes—Get 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 NamestringNo—Match customers by company name.
— EmailstringNo—Match customers by email address.
— First NamestringNo—Match customers by first name.
— Include DisabledbooleanNofalseInclude disabled customers in the results.
— Last NamestringNo—Match customers by last name.
— Search QuerystringNo—Search query related to customer data like name, etc.
— SortstringNo—Customer field to order by (e.g., “firstname ASC”, “city DESC”).

Customer: Update

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYes—ID of the customer to update. Supports expressions.
Update Fields (updateFields)collectionNo{}The customer fields to change.
— AddressfixedCollectionNo{}The customer’s postal address.
— — Line 1stringNo—Street address.
— — Line 2stringNo—Second address line, such as a suite or unit number.
— — CitystringNo—City.
— — StatestringNo—State or region.
— — ZIPstringNo—Postal code.
— Business NamestringNo—The customer’s company name.
— EmailstringNo—Email address for the customer.
— First NamestringNo—The customer’s first name.
— Get SMSbooleanNotrueWhether the customer receives SMS messages.
— Invoice EmailsstringNo—Comma-separated list of CC email addresses for invoices.
— Last NamestringNo—The customer’s last name.
— No EmailbooleanNofalseWhether to stop emailing this customer.
— NotesstringNo—Free-text notes stored on the customer.
— Notification EmailstringNo—Address that receives notifications for this customer.
— PhonestringNo—Contact phone number.
— Referred BystringNo—Source from which customer is referred (e.g., LinkedIn, Google, customer name).

Customer: Delete

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYes—Delete a specific customer by ID. Supports expressions.

Contact: Create

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYes—ID of the customer this contact belongs to. Supports expressions.
Email (email)stringNo—Email 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 1stringNo—Street address.
— — Line 2stringNo—Second address line, such as a suite or unit number.
— — CitystringNo—City.
— — StatestringNo—State or region.
— — ZIPstringNo—Postal code.
— NamestringNo—The contact’s full name.
— NotesstringNo—Free-text notes stored on the contact.
— PhonestringNo—Contact phone number.

Contact: Get

ParameterTypeRequiredDefaultDescription
Contact ID (contactId)stringYes—Get 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)stringYes—ID of the contact to update. Supports expressions.
Update Fields (updateFields)collectionNo{}The contact fields to change.
— AddressfixedCollectionNo{}The contact’s postal address.
— — Line 1stringNo—Street address.
— — Line 2stringNo—Second address line, such as a suite or unit number.
— — CitystringNo—City.
— — StatestringNo—State or region.
— — ZIPstringNo—Postal code.
— Customer IDstringNo—Move the contact to this customer.
— EmailstringNo—Email address for the contact.
— NamestringNo—The contact’s full name.
— NotesstringNo—Free-text notes stored on the contact.
— PhonestringNo—Contact phone number.

Contact: Delete

ParameterTypeRequiredDefaultDescription
Contact ID (contactId)stringYes—Delete a specific contact by ID. Supports expressions.

Ticket: Create

ParameterTypeRequiredDefaultDescription
Customer ID (customerId)stringYes—ID of the customer this ticket belongs to. Supports expressions.
SubjectstringYes—Subject line for the ticket. Supports expressions.
Additional Fields (additionalFields)collectionNo{}Optional ticket details sent with the new record.
— Asset IDstringNo—ID of the asset the ticket relates to.
— Assign to ContactstringNo—The ID of the contact you want to assign the ticket to.
— Issue TypeoptionsNo—The 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)stringYes—Get 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 QuerystringNo—Search 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)stringYes—ID 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 IDstringNo—ID of the asset the ticket relates to.
— Assign to ContactstringNo—The ID of the contact you want to assign the ticket to.
— Customer IDstringNo—Move the ticket to this customer.
— Due DatedateTimeNo—When the ticket is due.
— Issue TypeoptionsNo—The 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
— SubjectstringNo—Subject line for the ticket.

Ticket: Delete

ParameterTypeRequiredDefaultDescription
Ticket ID (ticketId)stringYes—Delete a specific ticket by ID. Supports expressions.

RMM Alert: Create

ParameterTypeRequiredDefaultDescription
Asset IDstringNo—ID of the asset associated with this alert. Supports expressions.
Customer ID (customerId)stringNo—ID of the customer associated with this alert. Supports expressions.
DescriptionstringNo—Description 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)stringYes—Get 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)stringYes—Delete the RMM alert by ID. Supports expressions.

RMM Alert: Mute

ParameterTypeRequiredDefaultDescription
RMM Alert ID (alertId)stringYes—Mute the RMM alert by ID. Supports expressions.
Mute PeriodoptionsNo—Length 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 }}.

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

This tool manages customers, contacts, tickets, and RMM alerts in SyncroMSP. It is ideal for creating, reading, updating, and deleting customers, contacts, and tickets, and for creating, reading, deleting, and muting RMM alerts. It produces changes within SyncroMSP or retrieves requested information about these resources.

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 SyncroMSP

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 reviewed . Spotted something wrong? Tell us.