ProShop Integration Guide
Overview
The connector imports work orders and related records from ProShop and sends supported labor data back to the ERP. The connector communicates with ProShop through its GraphQL API, authenticating with OAuth 2.0 credentials.
Integration Type
| Attribute | Value |
|---|---|
| Direction | Bidirectional |
| Data Flow (Inbound) | Work orders, operations, parts, work cells, and users from ProShop → MachineMetrics |
| Data Flow (Outbound) | Labor tickets (time tracking entries) and operation completion from MachineMetrics → ProShop |
| Runs On | MachineMetrics Edge Device (physical or Virtual Edge) |
| Connection Method | ProShop GraphQL API over HTTPS with OAuth 2.0 (client credentials) |
This connector is under active development. Some features may change, and certain capabilities may not be available at the time of reading.
Requirements and Permissions
Before starting the connection process, ensure that:
| Requirement | Details |
|---|---|
| MachineMetrics Edge | A physical or Virtual Edge Device to run the connector service. |
| ProShop Version | ProShop 5.2.7 or later; earlier versions cannot correctly accumulate quantity totals reported through the API. |
| Network Access | The Edge device needs outbound HTTPS access to your ProShop instance URL and to the MachineMetrics APIs. No inbound firewall openings are required. See the Network Requirements Guide for Edge connectivity requirements. |
| ProShop API Credentials | An OAuth 2.0 API client (client ID and secret) for your ProShop instance with the scopes described in Step 1. |
Setup
Complete the ERP-specific steps below, then follow Setup and Verification for resource mapping, operator mapping, and the go-live checks. The customer enters credentials directly in Edge Services. Never share credentials with MachineMetrics staff.
Step 1: Obtain ProShop API Credentials
Work with your ProShop administrator or ProShop (Adion Systems) support representative to create an OAuth 2.0 API client for MachineMetrics. The connector authenticates with the client-credentials grant and requests the following scopes:
parts:rw
users:rw
workorders:rw
toolpots:rw
standards:rw
timetracking:rw
workcell:rw
editLog:rw
isSystemAdministrator:o
itarOkay:o
Record the client ID and client secret issued for the API client. Enter them directly in Edge Services in Step 3.
Read/write (rw) access to timetracking is what allows labor tickets to be written back to ProShop. If the credentials are missing a scope, inbound work order sync may work while labor write-back fails.
Step 2: Gather Connection Information
Collect the following values for your ProShop environment:
| Value | Description | Example |
|---|---|---|
| ProShop Instance URL | The base HTTPS URL of your ProShop instance, used for API calls | https://yourcompany.proshoperp.com |
| Authentication URL | The base URL used to request OAuth tokens (typically the same as the instance URL) | https://yourcompany.proshoperp.com |
| Client ID | The OAuth client ID from Step 1 | mm-client-id |
| Client Secret | The OAuth client secret from Step 1 | ******** |
| Organization ID | Your ProShop organization identifier, if one was provided with your API credentials | org-123 |
Step 3: Enter Connection Settings in Edge Services
Enter the values from Steps 1 and 2 directly in Edge Services.
Verifying the Integration
- Go to Production → Schedule in MachineMetrics
- Confirm work orders from ProShop are visible
- Have an operator start and close a job in the Operator View
- In ProShop, open the work order operation and verify the time tracking entry appears with the expected times and quantities
Configuration Settings
Enter connection values in Edge Services. Review behavior settings with your implementation team.
| Setting | Environment Variable | Description | Default |
|---|---|---|---|
| OAuth Scopes | PROSHOP_AUTH_SCOPE | The scopes requested when authenticating with ProShop | The scope list in Step 1 |
| Historical Start Dates | ERP_RESOURCES_HISTORICAL_START_DATEERP_PERSONS_HISTORICAL_START_DATEERP_WORK_ORDERS_HISTORICAL_START_DATE | Earliest date to backfill, set independently per entity (work cells, users, and work orders; labor tickets follow the work order date) | 2020/01/01 |
| Polling Interval | POLL_INTERVAL | How often changes are pulled from ProShop | 5 min |
| Labor Tickets To ERP Interval | TO_ERP_INTERVAL | How often eligible labor tickets are sent to ProShop | 5 min |
| Retry Failed Labor Tickets Interval | RETRY_LABOR_TICKETS_INTERVAL | How often failed labor-ticket writes are retried | 30 min |
| Collect Labor Tickets from ProShop | COLLECT_LABOR_TICKETS | Import existing time tracking entries from ProShop into MachineMetrics | Off |
| Collect Labor Tickets Initial Only | COLLECT_LABOR_TICKETS_INITIAL_ONLY | Import time tracking entries only during the initial sync, then skip on subsequent runs | Off |
| Pagination Limit | ERP_PAGINATION_LIMIT | How many records are requested per page from the ProShop API | 500 |
| Work Order Pagination Limit | WO_PAGINATION_LIMIT | A smaller page size for work order queries, which include nested operations | Follows ERP_PAGINATION_LIMIT |
| MM API Batch Size | MM_API_BATCH_SIZE | How many records are sent to MachineMetrics per batch | 100 |
Sync Behavior
The connector runs as a service on your Edge Device (or Virtual Edge) and communicates with your ProShop instance over HTTPS, exchanging work orders and labor data.
Inbound Records
Active work orders and their operations are read from ProShop and transmitted to MachineMetrics, making them available for operators after sync. Along with work orders, the connector synchronizes:
- Work cells from ProShop, which become resources in MachineMetrics
- Users from ProShop, which become operators in MachineMetrics
- Parts and part operations, derived from the synchronized work orders
The connector polls for changes incrementally, and a configurable historical start date controls how far back the initial backfill reaches. Work order operations that have no work cell assigned in ProShop are attached to a designated fallback resource in MachineMetrics so they remain selectable by operators.
Labor Write-Back
The connector can create and update an open ProShop time tracking entry. When a ticket has a clock-out time, it updates the entry and closes it. A ticket arriving already closed is created, updated, and closed in the same processing path.
Entries include the operator, clock times, quantities, and notes. Reported quantities roll into the operation's totals, and later corrections update totals rather than adding the same counts again. A completed operation can also be marked complete in ProShop.
The point at which MachineMetrics sends the ticket depends on job selection and account configuration. Do not use clock-out as a universal rule for the first ERP write.
Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| Connector cannot authenticate | Client ID or secret incorrect, or the API client was revoked | Verify the OAuth credentials with your ProShop administrator and update them in Edge Services if they changed |
| Work orders not appearing | Connectivity or authentication failure, or the historical start date is later than your open work orders | Confirm the Edge can reach the ProShop instance URL over HTTPS and review the historical start dates in Configuration Settings |
| Inbound sync works but labor write-back fails | API credentials missing the timetracking:rw scope | Confirm all scopes from Step 1 are granted to the API client |
| Labor ticket rejected for a missing resource | The work cell referenced by the ticket no longer exists in ProShop | The connector fails these tickets immediately with a clear error; restore or remap the work cell in ProShop |
| Operations show a "fallback resource" in MachineMetrics | The work order operation has no work cell assigned in ProShop | Expected behavior; assign a work cell in ProShop if you want the operation tied to a specific resource |
| Quantity totals in ProShop look wrong or don't accumulate | ProShop version earlier than 5.2.7 | Upgrade ProShop to 5.2.7 or later |
| Labor times off by hours | Timezone mismatch between ProShop and the connector configuration | Contact MachineMetrics support to review the connector's timezone settings |
FAQ
What ProShop version is required? Version 5.2.7 or later is required for the quantity accumulation behavior described here.
Can an open ticket reach ProShop? Yes. The connector can create and update an open time tracking entry. A ticket with a clock-out time is closed in ProShop; one arriving already closed is created and closed in the same processing path.
Related Guides
Getting Help
Contact your Solution Delivery Manager (SDM) during onboarding or MachineMetrics Support for technical issues after onboarding. For ERP permissions and posting, work with your ERP administrator.