Integrations / ERP / ProShop ERP
ProShop ERP Integration Guide for Production Scheduling with SkyPlanner APS
This ProShop integration guide shows administrators, consultants and IT teams how to connect ProShop ERP to SkyPlanner APS. SkyPlanner integrates with ProShop in both directions, using ProShop’s own API:
- Work Orders with their operations, Parts, Work Order BOM records, Work Cells, Users, Tools, Fixtures and Purchase Orders flow in.
- Planned start and finish dates go back to the work orders.
- Operator time can post back to ProShop Time Tracking, if you choose.
- SkyPlanner webhooks push schedule changes as they happen.
The SkyPlanner team configures the integration to your ProShop setup during onboarding and supports it after go-live. This guide is for partners and developers who want to take part, or to build on SkyPlanner’s documented REST API (API reference) themselves.
ProShop’s integration interfaces
ProShop gives an external scheduler two routes, documented in the ProShop API Developer Documents:
- ProShop GraphQL API. “ProShop provides a GraphQL API, available via HTTP(S).” There is one endpoint: every call is an HTTP POST to
<proshop root>/api/graphqlwithquery,variablesandoperationNamein a JSON body. Each module has a singular query for one record and a plural query for lists. Lists are paginated withpageSize(default 20) andpageStart, returnrecordsandtotalRecords, and acceptfilterandqueryarguments that mirror each module’s Advanced Search. The schema is introspectable. (Introduction to the ProShop API) - Recently Updated Records API. “A simple REST interface allows external integrations to request information between arbitrary points in time.” Call
<proshop root>/recentlyupdatedrecordswithstart(ISO 8601), optionalendandfilterby, for exampleworkorders,workcells,purchaseorders,timetracking,deletions. The ProShop team enables the index first. (Recently Updated Records API)
Writes go through GraphQL mutations. Time Tracking Login is the documented example, and write access is granted per module through scopes.
Authentication and scopes
- Access token on every call. Send it as
Authorization: Bearer <token>or as atokenquery parameter. - OAuth 2.0 Client Credentials (ProShop 5.2.3 and later). A ProShop system administrator opens System Config > Manage Authorizations, creates an Authorization with a Name and Maximum Scope, and checks Direct Login and Active. The Unique ID and Shared Secret become
client_idandclient_secret. The app postsgrant_type=client_credentialsto<proshop root>/home/member/oauth/accesstokenand gets a Bearer token withexpires_in. There is no refresh token, so request a new token when it expires. (Client Credentials Flow) - OAuth 2.0 Authorization Flow for calls that need a user context, such as Time Tracking Login.
- Scopes. The format is
SCOPE_NAME:[{r|w|d|p}], for read, write, delete and prefs. A scheduler typically asks forworkorders:rw parts:r purchaseorders:r users:r tools:r, plus Time Tracking if time posts back. Since ProShop 5.1.9 “a scope grant request is now required on all connections to the API.” (Authorization scopes) - Audit trail. Calls made with client credentials show the application name, not a user.
On the SkyPlanner side, the REST API authenticates with an API token in the Authorization-Token header (SkyPlanner Settings > API) and is documented in Swagger/OpenAPI. The integration tutorial walks through the first calls.
Events and polling
ProShop’s developer documents describe no outbound webhooks or GraphQL subscriptions. The ProShop side is polled, and the Recently Updated Records API makes that cheap: ask for everything created, modified or deleted since the last run, filtered to the record types the schedule needs. Then fetch the changed work orders by number through GraphQL, which ProShop notes is faster than querying by lastModifiedTime.
A five-minute cycle for work orders and time tracking, and hourly for parts and purchase orders, is a typical choice. SkyPlanner sends webhooks when state or the schedule changes, so the write-back side is event-driven.
Data mapping
| ProShop object (API) | SkyPlanner object | Direction | Frequency |
|---|---|---|---|
Parts, COTS (GraphQL parts scope) | Products and materials | ProShop → SkyPlanner | Initial load, then on change |
| Work Order BOM records | Product structure, materials per order | ProShop → SkyPlanner | With each work order |
| Work order operations: work cell, estimated setup and cycle time (target times) | Process steps with durations, setup and teardown times | ProShop → SkyPlanner | With each work order |
| Work Cells (machine, bench, equipment) | Workstations, workstation groups, efficiencies | ProShop → SkyPlanner | Initial load, rarely after |
| Work Cells assigned to people, Users | Personnel and operator assignments | ProShop → SkyPlanner | Initial load, then on change |
| Work cell schedules (available hours, shifts) | Shifts and non-working days | ProShop → SkyPlanner | Daily, or own shifts in SkyPlanner |
| Work Orders (quantity, due date, status) | Orders and jobs with due dates and priority | ProShop → SkyPlanner | Polling every few minutes |
| Tools, Toolpots, Fixtures, RTAs | Tools as finite shared resources | ProShop → SkyPlanner | Initial load, then on change |
| Purchase Orders with due dates | Purchase orders, incoming material by delivery date | ProShop → SkyPlanner | Polling, hourly or on schedule run |
Work order planned start and finish (GraphQL mutation, workorders:w) | Planned start and end per job | SkyPlanner → ProShop | On schedule change, via SkyPlanner webhook |
| Time Tracking: setup and run time, parts completed, per work order operation | Timelogs and operator confirmations | SkyPlanner → ProShop | Per confirmation or per shift, if chosen |
| Not in ProShop | Setting time matrix, multi-operator jobs, alternative machines and personnel | Maintained in SkyPlanner | Set up during onboarding |
Integration patterns
1. Initial master data load. Page through Parts, Work Cells, Users, Tools and Fixtures with GraphQL plural queries. Set pageSize high for the first load and loop on totalRecords. Decide how work cells map: machine work cells become workstations, and person work cells become personnel, so the same operation can book a machine and its operator together.
2. Work order sync. Read active work orders with their operations, target times and BOM records, plus open purchase orders. SkyPlanner treats ordered material as available on the PO delivery date and updates stock when the PO is marked Delivered. Change detection runs through Recently Updated Records with filterby=workorders,purchaseorders,deletions.
3. Schedule write-back. When the engine places or moves a job, a SkyPlanner webhook triggers a GraphQL mutation that sets the work order’s planned dates, under an Authorization with workorders:w. ProShop’s on-time forecast and the purchasing need dates then run on SkyPlanner’s dates.
4. Shop-floor confirmations. Operators log work with SkyPlanner Mobile Confirmations or the Production Timer, and the timelogs keep the schedule current. You choose whether actual time posts back to ProShop Time Tracking against the work order operation. If not, operators clock time in ProShop as before, and SkyPlanner reads it through timetracking.
5. Ownership and conflict rules. Write them down before go-live:
| Data | Owner |
|---|---|
| Parts, operations, target times, quantities, work order status | ProShop |
| Operation sequence, start and finish times, machine and operator assignment | SkyPlanner |
| Setting time matrix, tool and operator requirements, alternative resources | SkyPlanner |
| Shifts and non-working days | One system, chosen in scoping |
| Time Tracking, inventory, purchasing, job costing | ProShop, entered there or posted from SkyPlanner timelogs |
Pick one writer of work order dates. Once SkyPlanner schedules a work cell, planners stop reordering that work cell’s list in ProShop, so the two plans never compete.
Typical project steps
Implementation is normally completed within weeks after onboarding starts. Before that, validate the schedule in the 30-day free trial with work cells, operations and open work orders exported from ProShop as CSV or Excel.
- Mapping. Fix the mapping table, ownership rules, sync frequencies and whether time posts back.
- ProShop access. The administrator creates the Authorization with the agreed Maximum Scope and asks the ProShop team to enable Recently Updated Records.
- Initial load. Parts, Work Cells, Users, Tools, Fixtures, work cell schedules.
- Work order and purchase order sync. Change polling with paging and retries.
- Constraint setup in SkyPlanner. Setting time matrix, tools, operator counts per operation and alternative machines or personnel.
- Schedule write-back. Mutations from SkyPlanner webhooks, plus Time Tracking if chosen.
- Parallel testing. Run SkyPlanner beside the current ProShop schedule, compare dates, fix target times.
- Go-live. Switch on write-back once the data matches.
What to plan for in a ProShop integration
- Target times decide everything. ProShop builds duration from estimated setup and cycle times. Pull the current target times, not the original estimate, and split setup from run time so the setting time matrix can replace the single setup value.
- Person work cells. A work cell can be a person. Map those to SkyPlanner personnel, not to machines, or every operator becomes a parallel machine.
- Time Tracking needs a user. Since April 2026 the Time Tracking Login mutation “requires user context” and is not authorized under Client Credentials. Post operator time through the OAuth 2.0 Authorization Flow, or keep clocking in ProShop and read it.
- Enable the change index. Recently Updated Records only works after the ProShop team enables it. Request it in week one.
- ITAR records. ProShop filters ITAR-restricted records per connection, and a Developer System Config option decides whether they return as nulls or drop out. Agree which work orders the integration sees, and handle nulls on every read.
- Outside processing. Operations at vendors are elapsed time, not your capacity. Model them as time-only steps.
Who configures and supports the ProShop integration
- The SkyPlanner team configures it during onboarding and supports it after go-live, across the agreed GraphQL queries, mutations and change polling. Every shop runs ProShop differently, and this is where that know-how goes.
- Your ProShop administrator or consultant takes part. They create the Authorization, set the scopes, request the change index and know your work cell setup.
- Your own developers can build on it against SkyPlanner’s REST API with an API token. An API token is enough to start, and the SkyPlanner team assists when needed. Integration documentation is at SkyPlanner integration docs.
SkyPlanner starts from 199 € per month with 5 workstations included, billed monthly. The integration is quoted up front for your process and needs, together with your plan. See pricing, ProShop finite capacity scheduling, the ProShop ERP page, SkyPlanner features and the ERP integrations hub.
SkyPlanner reviews from manufacturers
2 hsaved every week
“SkyPlanner has taken our production planning from Excel spreadsheets to real-time production optimization.”
Kalle Kalliomäki, Supply Chain Specialist
UTU · Electrical switchboards and switchgear
Production planning saves 2 hours of working time every week, and a new work queue reaches the line in seconds.
+90%production efficiency
“Efficiency has gone up 90% in production.”
Abdul Rucyinga, Head of IT
Laboratory & Allied · Pharmaceutical manufacturing
Production efficiency is up 90%, and a three-month optimized plan across all workstations takes under 30 minutes.
98%delivery reliability, up from about 50%
“SkyPlanner plays a decisive role in maintaining our delivery reliability.”
Hannu Lahtinen, Managing Director
KJH-Comp · Sheet-metal mechanics and contract manufacturing
Delivery reliability rose from around 50% to as high as 98%, and scheduling now needs one supervisor instead of two.
1,000swork orders scheduled automatically
“Production is under control in a different way, and our understanding of capacity is on a completely different level.”
Hannu Ryynänen, CEO
Mamec · Industrial mixers, pumps and high-tech contract manufacturing
Thousands of work orders are scheduled automatically, with a real-time view of production for the whole organization.
FAQ
Does ProShop have an API?
Yes. ProShop has a GraphQL API at <proshop root>/api/graphql, with OAuth 2.0 or Basic Authentication and module scopes. A REST endpoint, Recently Updated Records, returns records created, modified or deleted in a time window.
Does ProShop support webhooks?
ProShop’s developer documents describe no outbound webhooks. The integration polls the Recently Updated Records API on a schedule set per shop. SkyPlanner’s own webhooks push schedule changes as they happen.
How are planned dates written back to ProShop?
Through a GraphQL mutation on the work order, under an Authorization with write scope on workorders. SkyPlanner triggers it from a webhook every time the schedule changes.
Who creates the ProShop API credentials?
A ProShop system administrator, under System Config > Manage Authorizations. Direct Login enables the Client Credentials flow, and the Maximum Scope limits what the integration can read and write.
Should a ProShop consultant propose ProShop scheduling or SkyPlanner?
SkyPlanner, when the customer’s sequence decides delivery. ProShop’s schedule shows priority and on-time forecasts per work cell, and planners adjust priorities. SkyPlanner connects through the GraphQL API, optimizes the whole plan automatically, plans changeovers, operators, tools and material, and has unlimited users, from 199 € per month.
Can we test SkyPlanner before building the integration?
Yes. The 30-day free trial supports up to 20 workstations with CSV or Excel imports from ProShop, no credit card needed. Start the trial, or talk to sales to scope the integration.