Syncro MSP Customer Management
Overview
Syncro customers are the foundation of your service delivery. Every ticket, asset, invoice, and contract is associated with a customer. This skill covers comprehensive customer management including CRUD operations, contact management, and site/location handling.
Key Concepts
Customer
The primary entity representing a client organization.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | System | Unique identifier |
business_name | string | Yes | Official company name |
firstname | string | No | Primary contact first name |
lastname | string | No | Primary contact last name |
email | string | No | Primary email address |
phone | string | No | Main phone number |
mobile | string | No | Mobile phone |
address | string | No | Street address |
address_2 | string | No | Address line 2 |
city | string | No | City |
state | string | No | State/Province |
zip | string | No | ZIP/Postal code |
notes | text | No | Internal notes |
referred_by | string | No | Referral source |
tax_rate | decimal | No | Tax rate percentage |
Contact
Individual people at a customer organization.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | System | Unique identifier |
customer_id | integer | Yes | Associated customer |
name | string | Yes | Full name |
email | string | No | Email address |
phone | string | No | Phone number |
mobile | string | No | Mobile number |
title | string | No | Job title |
notes | text | No | Notes about contact |
Customer Types
Syncro supports flexible customer categorization:
| Type | Use Case |
|---|---|
| Business | Standard commercial clients |
| Residential | Home users |
| Government | Government agencies |
| Non-Profit | Non-profit organizations |
API Patterns
Creating a Customer
POST /api/v1/customers Content-Type: application/json Authorization: Bearer YOUR_API_KEY
{
"business_name": "Acme Corporation",
"firstname": "John",
"lastname": "Smith",
"email": "john.smith@acme.example.com",
"phone": "555-123-4567",
"address": "123 Main Street",
"city": "Springfield",
"state": "IL",
"zip": "62701",
"notes": "Referred by ABC Company"
}
Searching Customers
Search by name:
GET /api/v1/customers?query=acme
List all customers with pagination:
GET /api/v1/customers?page=1
Filter by email:
GET /api/v1/customers?email=john.smith@acme.example.com
Getting Customer Details
GET /api/v1/customers/{id}
Response includes:
- •Customer information
- •Associated contacts
- •Recent tickets
- •Assets summary
- •Invoice history
Updating a Customer
PUT /api/v1/customers/{id}
Content-Type: application/json
{
"phone": "555-987-6543",
"notes": "Updated contact information per request"
}
Creating a Contact
POST /api/v1/contacts Content-Type: application/json
{
"customer_id": 12345,
"name": "Jane Doe",
"email": "jane.doe@acme.example.com",
"phone": "555-123-4568",
"title": "IT Manager",
"notes": "Primary technical contact"
}
Searching Contacts
Contacts for a customer:
GET /api/v1/contacts?customer_id=12345
Search by email:
GET /api/v1/contacts?email=jane.doe@acme.example.com
Updating a Contact
PUT /api/v1/contacts/{id}
Content-Type: application/json
{
"title": "IT Director",
"phone": "555-123-4569"
}
Deleting a Contact
DELETE /api/v1/contacts/{id}
Common Workflows
Client Onboarding
- •
Create customer record
- •Enter business information
- •Set tax rate if applicable
- •Add referral source for tracking
- •
Create primary contact
- •Add decision maker/main contact
- •Include email for communications
- •Note any preferences
- •
Add additional contacts
- •Technical contacts
- •Billing contacts
- •Other stakeholders
- •
Set up assets
- •Deploy RMM agent
- •Import existing inventory
- •
Create contract/agreement
- •Define service terms
- •Set billing schedule
Contact Management
- •
Verify before creating
- •Search for existing contact by email
- •Check for duplicates
- •
Maintain accuracy
- •Update titles when roles change
- •Archive contacts who leave
- •Add new contacts as needed
- •
Track relationships
- •Note who can authorize work
- •Track technical vs billing contacts
Customer Merge/Cleanup
When you discover duplicate customers:
- •Identify the primary record to keep
- •Document assets on both records
- •Move tickets to primary customer
- •Update contacts to point to primary
- •Archive or delete duplicate
Response Examples
Customer Object
{
"customer": {
"id": 12345,
"business_name": "Acme Corporation",
"firstname": "John",
"lastname": "Smith",
"email": "john.smith@acme.example.com",
"phone": "555-123-4567",
"address": "123 Main Street",
"city": "Springfield",
"state": "IL",
"zip": "62701",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-02-10T14:22:00Z"
}
}
Contact Object
{
"contact": {
"id": 67890,
"customer_id": 12345,
"name": "Jane Doe",
"email": "jane.doe@acme.example.com",
"phone": "555-123-4568",
"mobile": "555-987-6543",
"title": "IT Manager",
"notes": "Primary technical contact",
"created_at": "2024-01-15T11:00:00Z"
}
}
Error Handling
Common API Errors
| Code | Message | Resolution |
|---|---|---|
| 400 | Invalid parameters | Check field values |
| 401 | Unauthorized | Verify API key |
| 404 | Customer not found | Confirm customer ID |
| 422 | Validation failed | Check required fields |
| 429 | Rate limited | Wait and retry |
Validation Errors
"business_name is required" - Customer must have a name
"Invalid email format" - Check email address syntax
"customer_id required" - Contact must belong to a customer
Best Practices
- •Standardize naming - Use consistent company name formats
- •Verify before creating - Always search first to prevent duplicates
- •Complete profiles - Fill in as much information as possible
- •Keep contacts current - Update when staff changes
- •Use notes effectively - Document important relationship details
- •Track referrals - Helps with marketing analysis
- •Set appropriate tax rates - Prevents billing errors
- •Regular data cleanup - Audit for duplicates periodically
Related Skills
- •Syncro Tickets - Service tickets for customers
- •Syncro Assets - Asset management
- •Syncro Invoices - Customer billing
- •Syncro API Patterns - Authentication and pagination