# Maintainx

MaintainX is a cloud-based computerized maintenance management system (CMMS) that helps organizations centralize maintenance data, communication, and workflows.

- **Category:** task management
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 30
- **Triggers:** 0
- **Slug:** `MAINTAINX`
- **Version:** 20260307_00

## Tools

### Create Category

**Slug:** `MAINTAINX_CREATE_CATEGORY`

Tool to create a new category in MaintainX for organizing work orders, assets, and other items. Use when you need to add a new category to the organization's classification system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `label` | string | Yes | Category label used when displaying the category |
| `description` | string | No | Description field for additional information about the category |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Location

**Slug:** `MAINTAINX_CREATE_LOCATION`

Tool to create a new location in MaintainX. Use when you need to add a new physical location where assets are stored or work is performed. Locations can be organized hierarchically using the parentId parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the location |
| `address` | string | No | Physical postal address of the location |
| `barcode` | string | No | String encoded barcode for the location |
| `parentId` | integer | No | ID of the parent location to create a hierarchical structure |
| `vendorIds` | array | No | List of vendor IDs associated with this location |
| `description` | string | No | Description of the location |
| `extraFields` | object | No | Custom fields on the location. The object keys are the exact Custom Field labels, including spaces or special characters (e.g., 'Department') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Procedure Template

**Slug:** `MAINTAINX_CREATE_PROCEDURE_TEMPLATE`

Tool to create a new procedure template in MaintainX with checklist items for work orders. Use when you need to create a standardized procedure that can be attached to work orders. The template can include various field types like text, checkboxes, signatures, and multiple choice options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title of the procedure template |
| `fields` | array | No | Array of procedure fields/rows that define the steps in the procedure. Can be an empty list to create a template without pre-defined fields. |
| `description` | string | No | Description of the procedure template |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Work Order

**Slug:** `MAINTAINX_CREATE_WORK_ORDER`

This tool creates a new work order in MaintainX. It uses the POST /api/v1/workorders endpoint. The tool requires a 'title' for the work order and offers several optional parameters including description, priority, dueDate, startDate, userIds, teamIds, procedureTemplateId, locationId, assetId, and categories.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | The title of the work order |
| `asset_id` | integer | No | ID of the asset associated with the work order |
| `due_date` | string | No | Due date for the work order in ISO 8601 format (e.g., 2024-03-15T14:30:00Z) |
| `priority` | string ("NONE" | "LOW" | "MEDIUM" | "HIGH") | No | Priority level of the work order (NONE, LOW, MEDIUM, HIGH) |
| `team_ids` | array | No | List of team IDs to assign to the work order |
| `user_ids` | array | No | List of user IDs to assign to the work order |
| `categories` | array | No | List of categories for the work order |
| `start_date` | string | No | Start date for the work order in ISO 8601 format (e.g., 2024-03-15T14:30:00Z) |
| `description` | string | No | Detailed description of the work order |
| `location_id` | integer | No | ID of the location where the work is to be performed |
| `procedure_template_id` | integer | No | ID of an existing procedure template to attach to the work order. The template must exist and be accessible in the MaintainX account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Work Order Comment

**Slug:** `MAINTAINX_CREATE_WORK_ORDER_COMMENT`

This tool creates a new comment on an existing work order in MaintainX. It allows users to add comments for documentation, updates, or communication purposes within a specific work order. It requires a workOrderId and the text content of the comment to create a new comment on the work order, providing capabilities to update maintenance work order records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | The text content of the comment |
| `work_order_id` | integer | Yes | The ID of the work order to add the comment to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Work Request

**Slug:** `MAINTAINX_CREATE_WORK_REQUEST`

Tool to create a new work request in MaintainX. Use when you need to submit a request for work that can later be converted to a work order. Work requests are typically used to initiate maintenance or service requests that require approval before becoming work orders.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title of the work request |
| `asset_id` | integer | No | ID of the asset associated with the work request |
| `priority` | string ("NONE" | "LOW" | "MEDIUM" | "HIGH") | No | Priority levels for work requests. |
| `description` | string | No | Description of the work request |
| `location_id` | integer | No | ID of the location associated with the work request |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Work Request Portal

**Slug:** `MAINTAINX_CREATE_WORK_REQUEST_PORTAL`

Creates a new work request portal in MaintainX. A work request portal allows users to submit work requests through a dedicated URL. The portal can be customized with a title, welcome text, and description placeholder. It can be associated with a specific location and asset, and can be configured to require email contact information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title of the portal |
| `asset_id` | integer | No | ID of the asset related to the portal |
| `email_only` | boolean | No | Allow request creation with email only to contact the requester |
| `location_id` | integer | No | ID of the location where the portal is located |
| `welcome_text` | string | No | Description text describing the portal |
| `contact_information` | string | No | Contact of the person creating the portal (email or phone number) |
| `description_placeholder` | string | No | Placeholder text for the description field |
| `send_email_notification` | boolean | No | Send email notifications to the portal requesters with status updates on their requests |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Assets

**Slug:** `MAINTAINX_DELETE_ASSETS`

Tool to delete an asset from MaintainX by its ID. Use when you need to permanently remove an asset from the system. Returns a success confirmation upon successful deletion (HTTP 204).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the asset to delete. Must be a valid integer. |
| `skipWebhook` | boolean | No | Set to true to skip all webhooks upon successful deletion of the asset. Learn more about webhooks in the MaintainX API documentation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Category

**Slug:** `MAINTAINX_DELETE_CATEGORY`

Tool to delete a category in MaintainX. Use when you need to remove a category from the system. Returns success status upon deletion (HTTP 204).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the category to delete |
| `skipWebhook` | boolean | No | Set to true to skip all webhooks upon successful deletion |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Entity

**Slug:** `MAINTAINX_FIND_ENTITY`

A tool to search and find specific entities within MaintainX by specified fields. This tool allows users to search for different types of entities including work orders, users, and locations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max number of results to return (1-200) |
| `offset` | integer | No | Number of items to skip for pagination |
| `status` | string | No | Filter by status (applicable for workorders) |
| `sort_by` | string | No | Field to sort results by |
| `sort_order` | string | No | Sort order (asc or desc) |
| `entity_type` | string ("workorders" | "users" | "locations" | "assets" | "teams") | Yes | Type of entity to search for. Supported types: 'workorders' (searchable by title), 'locations' (searchable by name), 'assets' (searchable by name), 'users' (filterable by email only), 'teams' (no search/filter supported). Note: This is NOT the search query - use 'search_query' parameter to specify what you're searching for. |
| `search_query` | string | No | Text to filter entities. For 'workorders' filters by title, for 'locations' and 'assets' filters by name, for 'users' filters by email (must be valid email format). Not supported for 'teams' endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Category

**Slug:** `MAINTAINX_GET_CATEGORY`

Tool to retrieve detailed information about a specific category by its ID. Use when you need to get the label, description, update time, or work order count for a category.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the category to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Location

**Slug:** `MAINTAINX_GET_LOCATION`

Tool to retrieve detailed information about a specific location by its ID. Use when you need to get comprehensive details including address, attachments, child locations, and custom fields for a location.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the location to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User

**Slug:** `MAINTAINX_GET_USER`

Tool to retrieve detailed information about a specific user by their ID. Use when you need to get user data including name, email, role, hourly rate, and custom fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the user to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Vendor

**Slug:** `MAINTAINX_GET_VENDOR`

Tool to retrieve detailed information about a specific vendor by its ID. Use when you need to get comprehensive details about a vendor including contact information, attachments, and custom fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the vendor to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Work Order Costs

**Slug:** `MAINTAINX_GET_WORKORDERS_COSTS`

Tool to retrieve costs information for a specific work order by its ID. Use when you need to get detailed cost breakdown including total costs and individual cost rows for a work order.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the work order |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Asset Criticalities

**Slug:** `MAINTAINX_LIST_ASSET_CRITICALITIES`

Tool to retrieve a list of asset criticalities from MaintainX. Use when you need to get all available asset criticality levels in the organization, optionally filtered by label or level.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `label` | string | No | Will only show asset importances that match the label |
| `level` | integer | No | Will only show asset importances that match the level |
| `limit` | integer | No | Max number of Asset Criticalities returned |
| `cursor` | string | No | Last pagination reference |
| `x_organization_id` | integer | No | Required if using a multi organizations token |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Assets

**Slug:** `MAINTAINX_LIST_ASSETS`

This tool allows users to retrieve a list of all assets in their organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max number of Assets returned (1-200) |
| `cursor` | string | No | Last pagination reference |
| `expand` | array | No | Fields to expand in the response |
| `location_id` | integer | No | Will only show assets that are related to the location |
| `custom_field_name` | array | No | Filter assets by custom field value |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Categories

**Slug:** `MAINTAINX_LIST_CATEGORIES`

This tool retrieves a list of all categories in your MaintainX organization. Categories are used to organize and classify work orders, assets, and other items in the system. It supports listing the categories with pagination and provides details such as category_id, name, description, and timestamps for creation and update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max number of Categories returned (1-200). Default is 100. |
| `cursor` | string | No | Last pagination reference |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Locations

**Slug:** `MAINTAINX_LIST_LOCATIONS`

This tool retrieves a list of all available locations in the organization's MaintainX account. The locations can be physical places where assets are located, work is performed, or maintenance is needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max number of Locations returned (1-200) |
| `cursor` | string | No | Last pagination reference |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Meters

**Slug:** `MAINTAINX_LIST_METERS`

Tool to list all meters in your organization. Use this to retrieve meter information including measurement types, units, and readings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max number of Meters returned (1-100) |
| `cursor` | string | No | Last pagination reference for retrieving the next page of results |
| `expand` | array | No | Fields to expand in the response (e.g., asset, location). To expand multiple fields, pass multiple values. |
| `measurementType` | string ("MANUAL" | "IOT_DEVICE" | "AUTOMATED_SENSOR") | No | Enum for meter measurement types. |
| `x_organization_id` | integer | No | Required if using a multi organizations token. Specifies which organization to query. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Parts

**Slug:** `MAINTAINX_LIST_PARTS`

Tool to list parts/inventory items with pagination and filtering. Use when you need to retrieve available parts from the organization's inventory.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max number of parts returned |
| `cursor` | string | No | Last pagination reference |
| `locationId` | integer | No | Filter by location ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Procedure Templates

**Slug:** `MAINTAINX_LIST_PROCEDURE_TEMPLATES`

Tool to list procedure templates from MaintainX. Use when you need to retrieve available procedure templates that can be used in work orders.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max number of procedure templates returned (1-200) |
| `cursor` | string | No | Last pagination reference |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Teams

**Slug:** `MAINTAINX_LIST_TEAMS`

This tool retrieves a list of all teams in your MaintainX organization.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Work Orders

**Slug:** `MAINTAINX_LIST_WORK_ORDERS`

Action to list work orders from MaintainX.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string | No | Sort attribute |
| `limit` | integer | No | Max number of Work Orders returned (1-200) |
| `parts` | array | No | Filter by part IDs |
| `teams` | array | No | Filter by team IDs |
| `title` | string | No | Filter work orders by title |
| `assets` | array | No | Filter by asset IDs |
| `cursor` | string | No | Last pagination reference |
| `expand` | array | No | Expand specific fields in response |
| `vendors` | array | No | Filter by vendor IDs |
| `notParts` | array | No | Exclude work orders with specified parts |
| `statuses` | array | No | Filter by statuses |
| `assignees` | array | No | Filter by assignee IDs |
| `locations` | array | No | Filter by location IDs |
| `notAssets` | array | No | Exclude work orders with specified assets |
| `categories` | array | No | Filter by categories |
| `notVendors` | array | No | Exclude work orders with specified vendors |
| `priorities` | array | No | Filter by priorities |
| `notLocations` | array | No | Exclude work orders with specified locations |
| `notCategories` | array | No | Exclude work orders with specified categories |
| `show_upcoming` | boolean | No | Include work orders with future start date |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Work Request Portals

**Slug:** `MAINTAINX_LIST_WORK_REQUEST_PORTALS`

Tool to list all work request portals in your MaintainX organization. Use when you need to retrieve available work request portals for managing external work requests.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max number of Work Request Portals returned |
| `cursor` | string | No | Last pagination reference |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Work Requests

**Slug:** `MAINTAINX_LIST_WORK_REQUESTS`

Tool to retrieve a list of work requests from MaintainX. Use when you need to view all work requests. Supports pagination for large result sets using cursor and limit parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max number of work requests returned (1-200) |
| `cursor` | string | No | Last pagination reference for retrieving the next page of results |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Vendor Attachment

**Slug:** `MAINTAINX_UPDATE_VENDORS_ATTACHMENT`

Tool to update a vendor attachment in MaintainX. Use when you need to upload or replace a file attachment for a specific vendor. The file is uploaded as binary data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the vendor. |
| `file` | object | Yes | File to upload. |
| `filename` | string | Yes | Name of the attachment, including the extension. |
| `skipWebhook` | boolean | No | Set to true to skip all webhooks upon successful operation on the endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Work Order

**Slug:** `MAINTAINX_UPDATE_WORK_ORDER`

This tool allows users to update an existing work order in MaintainX by modifying specific attributes without affecting other unchanged fields. It requires the workorder_id and at least one of the optional parameters (title, description, or priority) to perform the update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | New title for the work order. At least one of title, description, or priority must be provided. |
| `priority` | string | No | New priority level for the work order. Must be one of: LOW, MEDIUM, HIGH. At least one of title, description, or priority must be provided. |
| `description` | string | No | New description for the work order. At least one of title, description, or priority must be provided. |
| `workorder_id` | string | Yes | The ID of the work order to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Work Order Status

**Slug:** `MAINTAINX_UPDATE_WORK_ORDER_STATUS`

This tool allows users to update the status of a specific work order in MaintainX. It is focused specifically on status updates, making it more streamlined than the comprehensive 'Update Work Order' action which allows updating multiple fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("OPEN" | "IN_PROGRESS" | "ON_HOLD" | "DONE") | Yes | The new status for the work order |
| `workorder_id` | integer | Yes | The ID of the work order to update. Must be a valid integer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Work Request Portal

**Slug:** `MAINTAINX_UPDATE_WORK_REQUEST_PORTAL`

Updates an existing work request portal in MaintainX. Tool to update work request portal information such as title, welcome text, contact information, and notification settings. Use when modifying an existing portal's configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the work request portal to update |
| `title` | string | No | Title of the portal |
| `asset_id` | integer | No | ID of the asset related to the portal |
| `email_only` | boolean | No | Allow request creation with email only to contact the requester |
| `location_id` | integer | No | ID of the location where the portal is located |
| `skip_webhook` | boolean | No | Set to true to skip all webhooks upon successful operation on the endpoint |
| `welcome_text` | string | No | Description text describing the portal |
| `contact_information` | string | No | Contact of the person creating the portal (email or phone number) |
| `description_placeholder` | string | No | Placeholder text for the description field |
| `send_email_notification` | boolean | No | Send email notifications to the portal requesters with status updates on their requests |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
