A Step-by-Step Guide to Customizing your Infor M3 Environment using Xtend APIs

Picture of Sanyukta Kumandan

Sanyukta Kumandan

Senior Technical Consultant
Discover how to jumpstart custom API development with Infor XtendM3 in a multi-tenant environment.

In this post, one of our talented Senior Technical Consultants, shares her expertise on Xtend M3 API development. As seen on Sanyukta’s blog, she walks through the steps needed in order to effectively configure Xtend M3: including the prerequisites, development, dubugging, and activation/export, as well as the code review and approval necessary to support the customizations and added functionalities.

Prerequisite: Activating Xtend M3

To activate Xtend M3 in your tenant, you will need to log a ticket with Infor. Once this is complete, make sure your user has the right permission and roles to access it. Refer to https://infor-cloud.github.io/xtendm3/docs/getting-started.


  1. Click on the highlighted icon to create a new extension. Choose the extension type as Transaction for custom APIs.

2. Add the extension name, transaction name, and description and click next. The extension name must begin with EXT. Multi must be ON only for the List transactions.

3. The next step is to add the input and output parameters to the API.

Once done, hit create!

4. Your platform is ready to write some code to make this work!

Click on the Edit icon to start writing the code. We can now compile the code to check for compilation errors.


  1. Who codes without debugging? We can use log statements to debug the code. We use the Logger API to write the log statements.
    Refer https://infor-cloud.github.io/xtendm3/docs/documentation/api-specification/logger-api/
  2. Only debug-level log statements are recommended to be used in the code to avoid an exponential increase of log sizes in the cloud environment. For example – logger.debug(“Order status is ”+STAT)
  3. How do we enable logging and view the logs?
    We can enable the logging from the business engine jobs and we can view the logs in the business engine logs. See the screenshot below to know how to access them.

4. Go to configure future logging and click on Add in the business engine jobs

Add the user name with which you are testing, your extension API name, and checkmark the log levels as needed. Do not forget to checkmark the Log to file at the bottom as shown below.

We can now see the transaction being added to logging which will by default be active for 12 hours.

Once you test the API, you should be able to check the dump logs in business engine logs.

Activation and Export

  1. Go to management as shown in the screenshot below

2. Activate the transaction by selecting your custom transaction and clicking the gear icon.

3. We can export the extension using the below steps –

This generates a JSON file and can be used to import across multiple environments and this file also needs to be shared with Infor for code review.

Code Review and approval

  1. Once the transaction is tested well, we need to get it reviewed by the
    Infor’s code review team by forwarding the details to XtendM3@infor.com.
  2. Refer to this page to check what details need to be sent to Infor.
  3. Remember consulting charges are applied by Infor on this code review process and it needs to be considered before sending the estimates to the customer. Clarity tasks need to be created for this process and it is only then that Infor will provide the signed package for production deployment.
  4. We can only deploy the signed package by Infor in production.

Get in touch with Doppio Group by filling out the contact form to chat about customizing your multi-tenant Infor M3 environment using custom Xtend APIs.

More To Explore