Sage 300 People
A Flowgear node that connects directly to your Sage 300 People environment. It handles authentication, builds URLs from easy-to-use samples, and sends requests. You get ready-to-run operations (Employees, JobTitles, Document/Content, and more) that follow Sage’s standard header → line → validate → process pattern.
Revision History
1.0.0.0 Initial release.
1.1.0.0 Fixed issue with expired credentials not refreshing automatically.
1.2.0.0 Improved authentication recovery for expired and invalid credentials.
Properties
Connection
Type: Connection Input
The Connection Property, which defines your Sage 300 People credentials for authentication.
HostName
Type: String Input
The DNS name of your Sage 300 People server (no scheme). The API is self-hosted and must be exposed over SSL.
ApiPort
Type: String Input
HTTPS port exposed by your Sage 300 People API (for many environments, this is 9443).
ApiKey
Type: Secret Input
The API key created in Sage 300 People. The key maps to a Sage 300 People user and that user's security groups determine what the API can do.
AccessToken
Type: Secret Output
Set automatically by the node after authentication. Used as a bearer token, together with the session cookies, to keep requests authenticated.
CookieHeader
Type: Secret Output
Set automatically by the node after authentication. Contains all session cookies (e.g. PeopleEssUser, XSRF-TOKEN) concatenated for reuse in all subsequent calls, so that requests remain authenticated.
ReturnFailureResponses
Type: Secret Input
A checkbox that controls how non-authentication API errors are returned. When selected, failed non-authentication responses are returned in the Response property instead of throwing an exception. Authentication failures are still handled automatically by the node.
OperationId
Type: String Input
Selected operation identifier from the built-in node samples. Set this automatically by choosing a sample.
Description
Type: String Static
Summary of the selected operation, populated when you select a sample.
Request
Type: JSON Input
Raw JSON request body for the operation. For multipart uploads (Document/Content line), this is the model text.
Response
Type: JSON Output
Raw JSON returned by the API after invoke.
Using the Node
1. Retrieve your Sage 300 People API Key
Your node authenticates using an API key that is linked to a Sage 300 People user. Ask your Sage administrator to:
- Create an API key in Sage 300 People and link it to a user account with the right security groups.
- Enable the "Authenticate Using Key Only" setting.
- Confirm the API is exposed over HTTPS and reachable from Flowgear or your registered DropPoint (valid SSL certificate required).
2. Create the Connection
- In the Flowgear Console, click Connections.
- Add a new
Connectionof type Sage 300 People. - Enter your
HostName,ApiPort, andApiKey. - Save your
Connection.
3. Test your Connection
- Click Test.
- Flowgear will attempt a test API call to a generic Sage 300 People endpoint to ensure your credentials are valid.
- Flowgear will obtain the required authentication details for the Connection during the test.
If the test is successful (✓), your credentials are valid and the Connection is ready to use.
If it fails (✗), check that theHostName,ApiPort, andApiKeyare correct. If your Sage 300 People credentials have changed or become invalid, save the corrected Connection details and test again.
Remarks
The Node refreshes expired Sage 300 People authentication automatically when possible. If the saved authentication details are no longer valid, the Node clears the stored session details and you will need to re-authenticate the Connection by updating and testing it again.
A typical Sage 300 People workflow, for most create/update tasks, follows this sequence:
- Get a token: This is handled internally by the node for you.
- Create a header.
- Add line data to that header.
- Validate the header/lines.
- Process the header.
The "Content Create - Line" Sample
This is a unique sample, specifically for adding lines (i.e. files) to a Document/Content header, in that it uses formdata for its Request body. This is multipart:
- Enter your
modelas JSON into theRequest. - Pass in your file data (output from a File Read) into the
file0key.