Creating a tool

This topic describes the process of Tool creation in the GenAI platform.

To create a new tool within the Tool Editor window:

  1. Select Infor OS > GenAI > Factory > Tools.
  2. Click + Add.
  3. Specify the values in mandatory fields. Fields with an asterisk (*) are required.
    1. Name*: Specify the name of the tool.
    2. Model: Specify the desired model. If you do not specify the model, the default model Claude Sonnet 4.6 is used.
    3. Documentation Type:
      • Manually specify this information when you define the Manual API documentation:
        • Endpoint: Provide the resource. For example, /usermfgt/v2/users/me
        • Method: GET/ PATCH/ POST/PUT
      • Swagger: API documentation stored in API Gateway
    4. Status: Toggle for enabling or disabling the Tool.
    5. Description*: Describes the tasks for the tool.
    6. Source*: Specify the desired source API Suite and service path.
    7. API Request Instructions*: Provide necessary API endpoints to invoke the tool . This applies only to Manual Documentation types.
    8. API Response Instructions: Provide an API invocation response.
  4. Select Save to complete your Tool
    Note: To assist users in creating a Tool, use the Tool example at the top of the Tool Editor.

Tool Configuration

This example shows the configuration values for creating a GenAI tool:

  • Tool type: Tool
  • Name: OS_UserProfile
  • Source: ifsservice/usermgt/v2/users/me
  • Documentation Type: Manual
  • Description: This tool documents all requests made by the ifsservice/usermgt/v2/users/me GET endpoint. Use this endpoint to generate these details for the user:
    • When the user requests their job title set within Infor OS Portal
    • When the user requests the time zone set within their user's profile
    • When the user requests the locale set in Infor OS Portal
    • When the user requests the language set within Infor OS Portal
    • When the user requests to view their manager's name
  • API Response Documentation:
    {
      "responsestatus": "string",
      "errorlist": [
        {
          "code": 0,
          "message": "string",
          "languageText": "string",
          "errorCode": "string"
        }
      ],
      "response": {
        "userlist": [
          {
            "id": "string",
            "userName": "string",
            "name": {
              "familyName": "string",
              "givenName": "string"
            },
            "displayName": "string",
            "emails": [
              {
                "value": "string",
                "type": "string",
                "primary": true
              }
            ],
            "title": "string",
            "defaultAccountingEntity": "string",
            "preferredLanguage": "string",
            "locale": "string",
            "timezone": "string",
            "applicationtimezone": "string",
            "active": true,
            "ifsPersonId": "string",
            "lnUser": "string",
            "userAlias": "string",
            "actorId": "string",
            "federationId": "string",
            "upn": "string",
            "emailVerified": true,
            "department": "string",
            "manager": {
              "managerId": "string",
              "managerName": "string"
            },
            "alternativeManager": {
              "managerId": "string",
              "managerName": "string"
            },
            "groups": [
              {
                "display": "string",
                "value": "string",
                "type": "string",
                "isFsr": true
              }
            ],
            "additionalProperties": [
              {
                "name": "string",
                "value": "string",
                "dataType": "string"
              }
            ],
            "error": "string",
            "status": "string",
            "lastLogon": "string",
            "profilePicture": {
              "base64ProfilePicture": "string",
              "thumbSize": "string",
              "cdnPath": "string",
              "timeStamp": "2025-02-05T21:58:29.958Z",
              "cdnPathLargeImage": "string",
              "largeImageTimeStamp": "2025-02-05T21:58:29.958Z",
              "cdnPathLarge4XImage": "string",
              "large4xImageTimeStamp": "2025-02-05T21:58:29.958Z",
              "cdnPathSmallImage": "string",
              "smallImageTimeStamp": "2025-02-05T21:58:29.958Z",
              "cdnPathMediumImage": "string",
              "mediumImageTimeStamp": "2025-02-05T21:58:29.958Z",
              "cdnPathOrginalImage": "string",
              "originalImageTimeStamp": "2025-02-05T21:58:29.958Z"
            },
            "password": "string",
            "currentPassword": "string",
            "isServiceUser": true,
            "passwordExpiryDate": "string"
          }
        ]
      }
    }
    
  • API Headers: No headers needed.