Provides integration with Acumatica ERP for template-driven create, retrieve, update, delete, action, and file operations through OpenAPI and OAuth.
0.0.0.16 - Initial release.
0.0.0.18 - Fixed error message handling.
0.0.0.24 - Split methods by operation type and improved token-authentication fallback messaging.
0.0.0.25 - Improved OAuth handling for instance-specific Acumatica URLs and normalized cached schema content from metadata queries.
0.0.0.26 - Fixed API queries for instance-specific Acumatica URLs and refreshed tokens before following authentication redirects to HTML pages.
0.0.2.1 - Updated authentication recovery and metadata normalization for Acumatica Connections and templates.
0.0.2.2 - Aligned the Runtime connector contract.
0.1.0.2 - Completed the Runtime overhaul with eager first-request startup, lazy continuation, normalized transient URL segments, and authentication errors.
0.1.0.4 - Removed retrieve paging controls from templates and kept continuation paging inside the Node.
0.1.0.5 - Preserved inherited fields in designer templates when OpenAPI schemas use constraints-only allOf overlays.
0.1.0.7 - Improved array item fields in designer templates.
0.1.0.9 - Limited response-template expansion to three levels and flattened value/error fields.
0.1.0.11 - Maintenance release.
0.1.0.12 - Added Compact and Full Schema template views and the Template Max Depth Connection Property.
Use this Connection to store the Acumatica OpenAPI endpoint and OAuth settings used by all methods.
| Property |
Type |
Description |
Open API URL |
String |
Absolute HTTPS URL to the Acumatica Swagger or OpenAPI document for the target endpoint version. Required. |
Schema |
String |
Cached OpenAPI schema content populated by Acquire Metadata. This property is hidden on the Connection form. |
Template Max Depth |
Integer |
Maximum field depth shown in Compact templates, from 1 to 20. The default is 3. Full Schema templates and runtime requests are not affected. |
Client ID |
String |
OAuth client identifier that includes the tenant name in the format client@tenant. Required. |
Client Secret |
Masked |
OAuth client secret issued by the Acumatica Connected Application. Required. |
Username |
String |
Username used for password-grant authentication when token refresh is unavailable or fails. |
Password |
Masked |
Password used for password-grant authentication. |
Scope |
String |
OAuth scopes requested for token operations. The default is api offline_access. |
Access Token |
Masked |
Current OAuth access token used for API calls. |
Refresh Token |
Masked |
Refresh token used to renew the access token. |
Token Path |
String |
Relative path to the OAuth token endpoint. The default is /identity/connect/token. |
Timeout (seconds) |
Integer |
Request timeout applied to API and metadata calls. The default is 90. |
- Publish or identify the Acumatica REST endpoint that you want to use, then copy its Swagger or OpenAPI URL. The URL typically uses the format
https://{instance}/entity/{endpoint}/{version}/swagger.json.
- Create or reuse an Acumatica Connected Application that can request the
api and offline_access scopes, then record the Client ID and Client Secret.
- Configure an API user that can access the selected endpoint. If refresh-token authentication is unavailable or fails, the Node falls back to password-grant authentication, so the
Username and Password must be valid for that user.
- Configure the Flowgear
Connection, then run Acquire Metadata to download the schema and generate operation templates.
- If the
Open API URL includes an Acumatica instance path before /entity/, Flowgear uses that same instance path when resolving API calls and the default token endpoint. Transient cookieless-session segments such as /(W(3))/ are ignored.
- If your Acumatica identity server uses a different token endpoint, update
Token Path.
Acquire Metadata stores normalized schema content so template generation can use the downloaded OpenAPI document consistently.
The Node exposes separate Methods for create, retrieve, update, delete, action, and file operations, so template selection stays aligned with the Acumatica endpoint you want to call.
Creates records using POST operations that are not classified as action or file operations.
| Parameter |
Type |
Description |
Connection |
Connection |
Acumatica connection profile. |
OperationId |
String |
Template-selected OpenAPI operation ID. |
Options |
Object |
Route and query parameters for the selected operation. |
Items |
Array |
Optional request body payload streamed into the operation. |
| Return |
Type |
Description |
Response |
Array |
Response items streamed as JSON objects. Each response item includes Flowgear.IsSuccess and Flowgear.StatusMessage inside Response.Flowgear, plus Flowgear.Request when a request body was supplied. Primitive responses are wrapped in value. |
Retrieves records using GET operations.
| Parameter |
Type |
Description |
Connection |
Connection |
Acumatica connection profile. |
OperationId |
String |
Template-selected OpenAPI operation ID. |
Options |
Object |
Route and query parameters for the selected operation. |
| Return |
Type |
Description |
Response |
Array |
Response items streamed as JSON objects without Flowgear mutation defaults, with exact Acumatica value/error fields flattened. Primitive responses are wrapped in value. |
Updates records using PUT or PATCH operations.
| Parameter |
Type |
Description |
Connection |
Connection |
Acumatica connection profile. |
OperationId |
String |
Template-selected OpenAPI operation ID. |
Options |
Object |
Route and query parameters for the selected operation. |
Items |
Array |
Optional request body payload streamed into the operation. |
| Return |
Type |
Description |
Response |
Array |
Response items streamed as JSON objects. Each response item includes Flowgear.IsSuccess and Flowgear.StatusMessage inside Response.Flowgear, plus Flowgear.Request when a request body was supplied. Primitive responses are wrapped in value. |
Deletes records using DELETE operations.
| Parameter |
Type |
Description |
Connection |
Connection |
Acumatica connection profile. |
OperationId |
String |
Template-selected OpenAPI operation ID. |
Options |
Object |
Route and query parameters for the selected operation. |
| Return |
Type |
Description |
Response |
Array |
Response items streamed as JSON objects. Each response item includes Flowgear.IsSuccess and Flowgear.StatusMessage inside Response.Flowgear. Primitive responses are wrapped in value. |
Executes Acumatica action operations for the selected endpoint.
| Parameter |
Type |
Description |
Connection |
Connection |
Acumatica connection profile. |
OperationId |
String |
Template-selected OpenAPI operation ID. |
Options |
Object |
Route and query parameters for the selected operation. |
Items |
Array |
Optional request body payload streamed into the operation. |
| Return |
Type |
Description |
Response |
Array |
Response items streamed as JSON objects. Each response item includes Flowgear.IsSuccess and Flowgear.StatusMessage inside Response.Flowgear, plus Flowgear.Request when a request body was supplied. Primitive responses are wrapped in value. |
Executes file-oriented Acumatica operations.
| Parameter |
Type |
Description |
Connection |
Connection |
Acumatica connection profile. |
OperationId |
String |
Template-selected OpenAPI operation ID. |
Options |
Object |
Route and query parameters for the selected operation. |
Items |
Array |
Optional request body payload streamed into the operation. |
| Return |
Type |
Description |
Response |
Array |
Response items streamed as JSON objects. Each response item includes Flowgear.IsSuccess and Flowgear.StatusMessage inside Response.Flowgear, plus Flowgear.Request when a request body was supplied. Primitive responses are wrapped in value. |
- Wide Acumatica entities can produce templates too large for the designer to render, so every Method lists each operation twice: Compact and Full Schema. Both views set the same
OperationId and run identically; they differ only in how many fields the template shows.
- Compact views limit
Items, Options and Response to the Connection's Template Max Depth, counted separately for each payload. Objects and arrays at that depth keep their type and description but omit their child fields. Full Schema views show every field the Node generates for the operation.
- Steps saved before 0.1.0.12 reselect the Compact view, and their existing mappings are not changed. Select the Full Schema view, or raise
Template Max Depth, when you need to map deeper fields.
- Request fields keep Acumatica's
{ "value": ... } wrapper, which uses one depth level. With the default depth of 3, fields nested two levels below Items (for example ShippingSettings.ShipToAddress.City or Details[].Allocations[].LocationID) appear without their value field in Compact views.
- Changing
Template Max Depth does not require Acquire Metadata. Save the Connection, then refresh or reselect the template.
- Response templates expand fields to three levels even in Full Schema views to keep the canvas manageable. This template limit does not discard deeper runtime response data.
- A response object containing exactly
value and error becomes a single field: a non-null error takes precedence; otherwise the Node uses value. For example, "Quantity": {"value": 5, "error": null} becomes "Quantity": 5. Objects with additional fields retain their structure. Update mappings that previously targeted nested value or error fields.
- Retrieve templates omit
$top and $skip. The Node ignores stale saved values and manages continuation paging internally.
- Retrieve operations complete the first provider request while the Node invoke is awaited. Any later provider pages are fetched only as the Workflow consumes the response stream. The Node requests up to 100 records per page and stops with an error if paging exceeds 1,000 requests.
- Mutation operations send input items in batches of up to 20 records. The first batch completes while the Node invoke is awaited, and later batches are read and sent lazily as the Workflow consumes the response stream. A single-record batch is sent as an object; larger batches are sent as an array. An empty connected input sends no provider request.
- If refresh-token authentication fails and valid
Username and Password values are configured, the Node falls back to password-grant authentication.
- If the token endpoint returns HTML or another non-JSON response, the Node reports the status and asks you to verify the
Open API URL and Token Path without copying the provider page into the error.
- Blank retrieve responses emit no rows, so empty result sets do not surface as synthetic success records.
- Operations without an OpenAPI
operationId use their route path as the template name. Deprecated OpenAPI operations are not listed as templates.
- Array fields in designer templates expose their item properties directly, so nested item fields can be mapped without internal type metadata.
- Responses that are simple values instead of objects are wrapped in a
value property to keep downstream shapes consistent.