Skip to main content

Infor CloudSuite Industrial (SyteLine) Integration Guide

Overview​

The connector imports work orders and related records from Infor CloudSuite Industrial (SyteLine) and sends supported labor data back to the ERP.

Integration Type​

AttributeValue
DirectionBidirectional
Data Flow (Inbound)Work orders, employees, operations, and parts from SyteLine → MachineMetrics
Data Flow (Outbound)Labor tickets from MachineMetrics → SyteLine
Runs OnMachineMetrics Edge Device (physical or virtual)
Connection MethodInfor ION API Gateway (REST/OAuth 2.0)

Requirements and Permissions​

Prerequisites​

RequirementDetails
MachineMetrics EdgePhysical or Virtual Edge Device
Infor CloudSuite IndustrialHosted in Infor Cloud; 2023.3.1.7 or later. Confirm the installed build and API availability with your SyteLine administrator.
ION API GatewayMust be provisioned for the tenant
Automation Module LicenseRequired for programmatic API access
Infor OS Portal AccessTenant administrator access required during setup
Network AccessEdge device must have outbound internet access to the Infor ION API Gateway. See Network Requirements Guide for Edge connectivity requirements.

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.

Setup requires an Infor OS administrator to complete the Infor-side steps.

Step 1: Verify the SyteLine IDO REST API Is Registered​

The SyteLine IDO REST API must be registered as an Available API in the ION API Gateway before any external application can access it.

Infor Admin action:

  1. Sign in to the Infor OS Portal
  2. Navigate to ION API → Available APIs
  3. Look for an entry named "Infor SyteLine" or "CloudSuite Industrial"
  4. Click into it and confirm an endpoint named CSI/IDORequestService/ido exists
note

If the SyteLine API is missing, the customer must contact Infor Cloud support to provision the CSI IDO REST API suite for their tenant. This is a blocking prerequisite; nothing else can proceed without it.

The API suite name in Available APIs provides the suite_context URL segment used in every request. In most deployments this is CSI, but confirm from the endpoint list.

Step 2: Create the Backend Service App and .ionapi Credentials​

MachineMetrics authenticates via OAuth 2.0 using a service account. The customer's Infor OS admin creates this.

Infor Admin action:

  1. In the Infor OS Portal, go to ION API → Authorized Apps
  2. Click Add (+ icon) and select Backend Service
  3. Enter a name (e.g., MachineMetrics) and a description
  4. Click Save
  5. Click Download Credentials
  6. In the credentials dialog:
    • Enable "Create Service Account"
    • Select a SyteLine user to associate with the service account; this user's authorization group controls what data the API can access
  7. Click Download to save the .ionapi file
  8. Keep the .ionapi file secure. Enter its values directly in Edge Services, using the field table below. Do not send the file to MachineMetrics staff.
note

Verify the .ionapi file contains both saak and sask fields. If these are missing, the file was generated without "Create Service Account" enabled and must be regenerated. Without them, authentication will fail.

The ti (tenant ID) in the .ionapi file must match the environment being targeted. A file generated from a production tenant will not authenticate against a training or sandbox tenant.

Step 3: Grant IDO Permissions to the Service Account User​

The SyteLine user associated with the service account needs read (and selective write) permissions on the IDOs the connector accesses. Without these permissions, API requests will return: User requires [Read] privilege for {IDO} IDO to perform this action.

Infor Admin action:

  1. In SyteLine, open the Authorization Groups form
  2. Find the authorization group assigned to the service account user
  3. Grant Read access to the following IDOs:
IDO NameDescriptionPurpose
SLWcsWork CentersResources / machines
SLEmployeesEmployeesOperators
SLReasonsReason CodesScrap / downtime codes
SLItemsItemsPart master
SLItemRoutesItem RoutingStandard part operations
SLJobsJobsWork orders
SLJobRoutesJob RoutingWork order operations
SLJobtransJob TransactionsLabor ticket history
SLCoItemsCustomer Order LinesDue date lookup
SLCustomersCustomersCustomer name lookup
  1. Grant Read + Insert + Update access to:
IDO NameDescriptionPurpose
SLJobtransJob TransactionsLabor ticket write-back from ShopPulse
note

If SLReasons doesn't appear in the customer's IDO list, try SLRcReasons; the IDO name varies by SyteLine version.

Step 4: Configure Scopes (If Required)​

Scopes are optional in most environments; Backend Service apps are exempt from scope checks by default. This step is only needed if the tenant has global scope enforcement enabled.

How to check if scopes are enforced:

  1. In Infor OS Portal, go to ION API → Configuration (or Settings)
  2. Look for the Scopes setting
  3. If set to "Enforced," proceed below; if "Not Enforced," skip this step

If scope enforcement is enabled:

  1. Go to ION API → Authorized Apps
  2. Open the MachineMetrics Backend Service app
  3. Edit the service account
  4. Add the Infor SyteLine (or CSI) scope to the service account's allowed scopes
  5. Save

Step 5: Enter the SyteLine Configuration Name​

Enter the SyteLine site configuration name in Edge Services. The connector includes this value in every API request (the X-Infor-MongooseConfig HTTP header). Without it, all API calls will fail with InvalidConfiguration.

Option A: From the SyteLine login screen:

Open SyteLine in the browser. If there is a configuration dropdown on the login screen, the value shown there is the value to enter in Edge Services.

Option B: From a running SyteLine session:

  1. Open SyteLine and navigate to any form (e.g., Job Orders)
  2. Press F12 to open browser Developer Tools
  3. Click the Network tab
  4. Type IDORequestService in the filter box
  5. Click around in SyteLine to trigger data loading
  6. Click any request that appears in the Network list
  7. In the Request Headers section, find X-Infor-MongooseConfig
  8. Enter the value shown next to that header in the connector configuration on Edge Services

Enter all collected credentials and configuration values directly in Edge Services.

Step 6: Confirm Job Transaction Posting​

The connector writes labor tickets to SyteLine in an unposted state, the same state SyteLine uses for labor entered through its own forms. The connector does not post transactions. Posting is a SyteLine-side responsibility and is what triggers material consumption (backflush), quantity roll-up on operations and jobs, cost roll-up to WIP, and the corresponding general ledger entries. Until a transaction is posted, none of these effects happen.

Before going live, confirm how posting is handled in this environment:

Posting PatternDescription
Scheduled background taskPosts unposted records on a recurring interval (most common production setup)
Manual postingA clerk runs Post Job Transactions at end of shift or end of day
Trigger-based or workflow postingA custom workflow posts on a specific event such as job close
No automated postingTransactions accumulate as unposted records until period close

Verifying the Integration​

  1. Go to Production → Schedule in MachineMetrics
  2. Confirm work orders from SyteLine are visible
  3. Have an operator start and close a job in the Operator View
  4. Verify the labor ticket appears in SyteLine

Configuration Settings​

Credential Fields​

The downloaded .ionapi file is a JSON credential bundle. Use the following fields when configuring the connector in MM Edge Services:

.ionapi fieldMM Edge Services labelNotes
tiTenant IDMust match the target environment (prod vs. sandbox)
ciClient IDOAuth client identifier
csSecretOAuth client secret
saakUsernameService account access key; must be quoted if it contains #
saskPasswordService account secret key
puSyteLine SSO URLInclude as-is; the token URL is built at runtime as {pu}{ti}/as/token.oauth2
iuSyteline ION URLUse the value as-is; do not modify the region or path

Additional connection settings entered in Edge Services:

SettingVariableDescription
Site configurationSYTELINE_MONGOOSE_CONFIGRequired value for the X-Infor-MongooseConfig header.
Suite contextSYTELINE_SUITE_CONTEXTCode default: CSI; confirm for your tenant.

Sync Behavior​

Inbound Records​

Active work orders are automatically transmitted from SyteLine to MachineMetrics via the Infor ION API Gateway, making them available for operators after sync. The connector uses a sliding time window to discover recently active jobs, including recently closed work orders.

Labor Write-Back​

The connector writes job transactions (SLJobtrans) to SyteLine. Export filtering differs between connector versions: some request closed tickets only, while others do not apply that filter. Before go-live, confirm whether your installed service waits for closed tickets, then test a ticket through submission and ERP sync with your SDM.

Troubleshooting​

Authentication Errors​

ErrorCauseSolution
invalid_grant: Username does not match request tenantWrong saak valueUse saak from .ionapi as username, sask as password
400 Bad Request on token endpointWrong client_id, client_secret, saak, or saskDouble-check all four values from the .ionapi file
404 on token URLWrong token URLShould be {pu}{ot} concatenated (pu has a trailing slash)

API Errors​

ErrorCauseSolution
No such proxy endpoint (404)Wrong suite_context in URLVerify from Available APIs in ION API Gateway (typically CSI)
No such deployment details (404)Wrong tenant in URLConfirm ti from .ionapi matches the target environment
InvalidConfigurationWrong X-Infor-MongooseConfig headerFind the correct value using Step 5 and update it in Edge Services
User requires [Read] privilege for {IDO}Service account lacks permissionsGrant IDO access in SyteLine (Step 3)
SyteLine API not in Available APIsIDO REST API not provisioned for this tenantCustomer must contact Infor Cloud support to provision it

Work Orders and Labor​

IssuePossible CauseSolution
Work orders not appearingAPI credentials invalid or IDO permissions missingVerify .ionapi credentials and IDO read permissions (Steps 2–3)
Missing operationsIDO permissions incompleteEnsure SLJobRoutes has read access
Labor not syncing backExport eligibility, connector configuration, or a rejected writeCheck the installed connector's export rules and logs. If it requires closed tickets, confirm submission closed the MachineMetrics ticket.
Labor rejected by SyteLineJob not in Released/Scheduled status, operation already complete, or inactive employeeCheck SyteLine for validation errors on the transaction
Unposted tickets not being processedNo automated posting configuredReview the posting process with your SyteLine administrator (Step 6)

FAQ​

Does the connector post job transactions? The documented workflow writes unposted job transactions. Your SyteLine administrator must confirm how those transactions are posted.

Where do I enter the .ionapi values? Enter the fields listed in Configuration Settings directly in Edge Services. Do not send the file to MachineMetrics staff.

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.