> For the complete documentation index, see [llms.txt](https://docs.novacura.com/flow-connect/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.novacura.com/flow-connect/working-with-connect/connect-to-systems/connectors/inform3-api-socket.md).

# InforM3 API (Socket)

Use the Infor M3 connector to interact with the M3 ERP system directly from your workflows. It enables you to query M3 programs and transactions, pass input parameters, and retrieve business data, allowing seamless integration with M3 business processes such as manufacturing, distribution, and supply chain operations.

Unlike the UI-based approach in Flow Classic, Flow Connect leverages Flow Script to programmatically query M3 programs, transactions and fields.

## Managing Connector : Add, Edit, or Delete

Follow the [steps in the link](https://docs.novacura.com/flow-connect/working-with-connect/connect-to-systems/managing-connector) as a guideline for connector actions: Add, Edit, and Delete.

## Configuration values

| Configuration           | Description                                                                                                                             |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Agent Group**         | Specifies the agent group on which the connector will be executed.                                                                      |
| **Server Address**      | The hostname or IP address of the M3 server to connect to.                                                                              |
| **Port**                | The network port used to establish the M3 connection.                                                                                   |
| **Authentication Type** | The method used to authenticate with the M3 API. Determines how credentials are validated when establishing a connection.               |
| **Username**            | The username used to authenticate with the M3 Server.                                                                                   |
| **Password**            | The password associated with the specified username for server authentication.                                                          |
| **Wide Character Set**  | Useful when working with data that contains non-ASCII characters such as special or language-specific symbols (i.e. `é`, `ü`, `中`, `日`) |
| **Prefill Username**    | When set to `true`, automatically populates the username field in the login popup, reducing manual input during session interactions.   |

## Operations

| Directory Operations                                                                                                                        | Description                                                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| [**getPrograms**](https://docs.novacura.com/flow-connect/reference/reference/flowscript/walkthrough/inform3-api-module#getprograms)         | Retrieves a list of available M3 programs.                                               |
| [**getTransactions**](https://docs.novacura.com/flow-connect/reference/reference/flowscript/walkthrough/inform3-api-module#gettransactions) | Retrieves a list of transactions available for a specified M3 program.                   |
| [**getFields**](https://docs.novacura.com/flow-connect/reference/reference/flowscript/walkthrough/inform3-api-module#getfields)             | Retrieves the input and output fields for a specified transaction within an M3 program.  |
| [**query**](https://docs.novacura.com/flow-connect/reference/reference/flowscript/walkthrough/inform3-api-module#query)                     | Executes a transaction against a specified M3 program and returns the resulting records. |

## Q & A <a href="#user-content-q-26-a" id="user-content-q-26-a"></a>

### 1. How does authentication work?

* If only the username is provided in the configuration, a popup will appear when running the script step.

  * If **Prefill Username** is set to **true**, only the password needs to be entered.
  * Otherwise, both the username and password must be provided.

  <figure><img src="/files/V9h8Si4laTbS2LlPqVOk" alt=""><figcaption></figcaption></figure>
* If both the username and password are already provided in the configuration, no popup will appear.

### 2. Can we limit the record count?

We can use `responseLimit` to limit the number of records returned. By default, all records are returned.

### 3. How does `outputFields` affect the response?

If `outputFields` is omitted, no fields will be returned. If values are provided for `outputFields`, the respective fields related to those values will be retrieved.

### 4. Can timeouts occur while retrieving records?

There are no timeout concerns while retrieving records.

## A full flow demonstrating how Infor M3 operations work.

### 1. Sample workflow <a href="#user-content-1.-sample-workflow" id="user-content-1.-sample-workflow"></a>

<figure><img src="/files/bPR1sMoXpLnqtJhKugqC" alt=""><figcaption></figcaption></figure>

### 2. Retrieved results for the workflow <a href="#user-content-2.-retrieved-results-for-the-workflow" id="user-content-2.-retrieved-results-for-the-workflow"></a>

<figure><img src="/files/LSXU1fXNhDgv5uFt9srq" alt=""><figcaption></figcaption></figure>

### 3. How `getPrograms` is used and how the results look <a href="#user-content-3.-how-60getprograms-60-is-used-and-how-the-results-look" id="user-content-3.-how-60getprograms-60-is-used-and-how-the-results-look"></a>

<figure><img src="/files/yHGcOpOd1MQ3YFaTmUDW" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/R6hw2TfsbBWbboDIkNRB" alt=""><figcaption></figcaption></figure>

### 4. How `getTransactions` is used and how the results look <a href="#user-content-4.-how-60gettransactions-60-is-used-and-how-the-results-look" id="user-content-4.-how-60gettransactions-60-is-used-and-how-the-results-look"></a>

<figure><img src="/files/gIHzg6VMMjnwACHi3u4I" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/xFFCDuYAQmObtR76hF5s" alt=""><figcaption></figcaption></figure>

### 5. How `getFields` is used and how the results look <a href="#user-content-5.-how-60getfields-60-is-used-and-how-the-results-look" id="user-content-5.-how-60getfields-60-is-used-and-how-the-results-look"></a>

<figure><img src="/files/xZk9awIyRhCfYEOOcnEi" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/SuStzsD4xW5J8TBCKaiP" alt=""><figcaption></figcaption></figure>

### 6. How `query` is used and how the results look <a href="#user-content-6.-how-60query-60-is-used-and-how-the-results-look" id="user-content-6.-how-60query-60-is-used-and-how-the-results-look"></a>

<figure><img src="/files/aa7I9cIaJid2sfrQzfUi" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Vvg33aHYV9X77pSZOwzt" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.novacura.com/flow-connect/working-with-connect/connect-to-systems/connectors/inform3-api-socket.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
