Integration · Field service
Connect Claude & ChatGPT to MaintainX
Ask your AI which work orders are still open, what state a machine is in or how many spare parts are left, and it reads the answer from MaintainX. It can create and update work orders, work requests, assets, locations and purchase orders, change statuses, record downtime and post comments. Deleting a work order can require your approval first.
Free plan, no credit card. Takes about a minute.
Try asking
“Which high-priority work orders are still open?”
The AI filters work orders by status and priority and lists them with assignees, asset, location and due date.
“Create a work order to replace the belt on Conveyor 3, high priority, for the night shift team, due Friday.”
It finds the asset and the team, then creates the work order with priority, assignee and due date.
“Mark work order 4512 as done.”
It changes the work order's status to DONE.
What your AI can do
Work orders and requests
List, create and update work orders, change their status, add comments, and submit or read work requests awaiting approval.
Assets and locations
Find, create and update assets and locations, and record when an asset goes offline or comes back online, with planned or unplanned downtime.
Parts and purchasing
Check spare parts and stock per location, update parts, list vendors, and create and read purchase orders.
“Conveyor 3 has been down since 6 this morning, unplanned.”
It records the asset as OFFLINE with unplanned downtime and a start time of 6:00.
“How many BRG-6204 bearings do we have, and who supplies them?”
It finds the part by part number and shows quantities per location, unit cost and vendors.
“Order 20 BRG-6204 bearings from our usual vendor.”
It finds the vendor and the part, then creates a purchase order with the items and quantity.
163 tools for MaintainX
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
add_work_order_commentChanges dataPost a comment with `content` on a work order by `workorder_id`. Team members following it are notified.create_assetChanges dataCreate an asset with `name` and optional description, location_id, parent_id, model, manufacturer, serial_number and barcode.create_assetcustomstatusChanges dataCreate a new assetcustomstatus. Required: label or base asset status. API summary: Create new asset custom status type.create_categoryChanges dataCreate a new category. Required: label. API summary: Create new category.create_locationChanges dataCreate a location with `name` and optional address, description and parent_id (for a sub-location).create_maintenanceplanChanges dataCreate a new maintenanceplan. Required: name, recurrence, work order blueprint id or planning horizon. API summary: Create a maintenance plan.create_manufacturerChanges dataCreate a new manufacturer. Required: name. API summary: Create new manufacturer.create_messageChanges dataCreate a new message for a message. Required: content. API summary: Create new message in a conversation.create_meterChanges dataCreate a new meter. Required: name or unit. API summary: Create new meter.create_meterreadingChanges dataCreate a new meterreading. Required: items. API summary: Batch create new meter readings.create_metertriggerChanges dataCreate a new metertrigger. Required: meter trigger. API summary: Create meter trigger.create_modelChanges dataCreate a new model. Required: name or manufacturer id. API summary: Create new model.create_partChanges dataCreate a new part. Required: name. API summary: Create new part.create_parttransferrequestChanges dataCreate a new parttransferrequest. Required: quantity requested, source part id or destination part id. API summary: Create a part transfer request.create_proceduretemplateChanges dataCreate a new proceduretemplate. Required: title or fields. API summary: Create procedure template.create_purchase_orderChanges dataCreate a purchase order for `vendor_id` with `items` (parts and quantities) and optional title, note and due_date.create_purchaseorder_messageChanges dataCreate a new message for a purchaseorder. Required: content. API summary: Create new comment on a purchase order.create_subscriptionChanges dataCreate a new subscription. Required: body. API summary: Create new subscription.create_supplierChanges dataCreate a new supplier. Required: name. API summary: Create new vendor.create_supplier_contactChanges dataCreate a new contact for a supplier. Required: name. API summary: Create new contact.create_teamChanges dataCreate a new team. Required: name. API summary: Create new team.create_team_userChanges dataCreate a new user for a team. Required: id. Search users first to avoid duplicates. API summary: Add user to team.create_userChanges dataCreate a new user. Required: first name or last name. Search users first to avoid duplicates. API summary: Create new user.create_user_messageChanges dataCreate a new message for a user. Required: content. API summary: Create new direct message to a user.create_work_orderChanges dataCreate a work order with `title` and optional description, priority (NONE, LOW, MEDIUM, HIGH), asset_id, location_id, due_date, assignees (users or teams) and categories.create_work_permit_signChanges dataCreate a new sign for a work permit. Required: external link uuid or signer name. API summary: Sign a work permit.create_work_requestChanges dataSubmit a work request with `title` and optional description, priority, asset_id and location_id for approval.create_work_shiftChanges dataCreate a new work shift. Required: work shifts. API summary: Set user work shifts.create_workorder_costChanges dataCreate a new cost for a workorder. Required: body. API summary: Create new cost on a work order.create_workorderblueprintChanges dataCreate a new workorderblueprint. Required: title. API summary: Create a maintenance plan work order blueprint.create_workrequestportalChanges dataCreate a new workrequestportal. Required: title. API summary: Create new work request portal.delete_addressDeletesPermanently delete a address by address id. Destructive action; may require approval. API summary: Delete location.delete_address_documentDeletesPermanently delete a document by filename. Destructive action; may require approval. API summary: Remove location attachment.delete_assetDeletesPermanently delete a asset by asset id. Destructive action; may require approval. API summary: Delete asset.delete_asset_documentDeletesPermanently delete a document by filename. Destructive action; may require approval. API summary: Remove asset attachment.delete_assetcustomstatusDeletesPermanently delete a assetcustomstatus by assetcustomstatus id. Destructive action; may require approval. API summary: Delete asset custom status.delete_categoryDeletesPermanently delete a category by category id. Destructive action; may require approval. API summary: Delete category.delete_customfieldDeletesPermanently delete a customfield by customfield id. Destructive action; may require approval. API summary: Delete custom field.delete_documentDeletesPermanently delete a document by filename. Destructive action; may require approval. API summary: Remove meter trigger's work order template attachment.delete_externalDeletesPermanently delete a external by external id. Destructive action; may require approval. API summary: Delete asset by external ID.delete_field_documentsMoves moneyPermanently delete a document by index. Financial or irreversible action; may require approval. API summary: Delete procedure field attachment.delete_location_by_external_idDeletesPermanently delete a external by external id. Destructive action; may require approval. API summary: Delete location by external ID.delete_maintenanceplanDeletesPermanently delete a maintenanceplan by maintenanceplan id. Destructive action; may require approval. API summary: Delete maintenance plan.delete_meterDeletesPermanently delete a meter by meter id. Destructive action; may require approval. API summary: Delete meter.delete_metertriggerDeletesPermanently delete a metertrigger by metertrigger id. Destructive action; may require approval. API summary: Delete meterTrigger.delete_partDeletesPermanently delete a part by part id. Destructive action; may require approval. API summary: Delete part.delete_part_by_external_idDeletesPermanently delete a external by external id. Destructive action; may require approval. API summary: Delete part by external ID.delete_part_documentDeletesPermanently delete a document by filename. Destructive action; may require approval. API summary: Remove part attachment.delete_proceduretemplateDeletesPermanently delete a proceduretemplate by proceduretemplate id. Destructive action; may require approval. API summary: Delete procedure Template.delete_proceduretemplaterowDeletesPermanently delete a proceduretemplaterow by proceduretemplaterow id. Destructive action; may require approval. API summary: Delete procedure Template Row.delete_proceduretemplaterow_documentsMoves moneyPermanently delete a document by proceduretemplaterow id. Financial or irreversible action; may require approval. API summary: Remove procedure template row attachment.delete_purchaseorderDeletesPermanently delete a purchaseorder by purchaseorder id. Destructive action; may require approval. API summary: Delete purchaseOrder.delete_purchaseorder_documentDeletesPermanently delete a document by filename. Destructive action; may require approval. API summary: Remove purchase order attachment.delete_subscriptionDeletesPermanently delete a subscription by subscription id. Destructive action; may require approval. API summary: Remove subscription.delete_supplierDeletesPermanently delete a supplier by supplier id. Destructive action; may require approval. API summary: Delete vendor.delete_supplier_contactDeletesPermanently delete a contact by contact id. Destructive action; may require approval. API summary: Delete contact.delete_supplier_documentDeletesPermanently delete a document by filename. Destructive action; may require approval. API summary: Remove vendor attachment.delete_teamDeletesPermanently delete a team by team id. Destructive action; may require approval. API summary: Delete team.delete_team_userDeletesPermanently delete a user by user id. Destructive action; may require approval. API summary: Remove user from team.delete_userDeletesPermanently delete a user by user id. Destructive action; may require approval. API summary: Remove user from organization.delete_work_orderDeletesPermanently delete a work order by `workorder_id`. Prefer setting status CANCELED; this cannot be undone.delete_work_order_by_external_idDeletesPermanently delete a external by external id. Destructive action; may require approval. API summary: Delete work order by external ID.delete_workorder_documentDeletesPermanently delete a document by filename. Destructive action; may require approval. API summary: Remove work order attachment.delete_workorder_proceduresMoves moneyPermanently delete a procedure by workorder id. Financial or irreversible action; may require approval. API summary: Detach procedure from work order.delete_workrequestDeletesPermanently delete a workrequest by workrequest id. Destructive action; may require approval. API summary: Delete workRequest.delete_workrequest_documentDeletesPermanently delete a document by filename. Destructive action; may require approval. API summary: Remove work request attachment.delete_workrequestportalDeletesPermanently delete a workrequestportal by workrequestportal id. Destructive action; may require approval. API summary: Delete work request portal.get_assetGet one asset by `asset_id`, with location, model, serial number, status and custom fields.get_assetcriticalityGet one assetcriticality by assetcriticality id. API summary: Get asset criticality.get_assetcustomstatusGet one assetcustomstatus by assetcustomstatus id. API summary: Get asset custom status.get_categoryGet one category by category id. API summary: Get category.get_customerGet one customer by customer id. API summary: Get customer.get_customfieldGet one customfield by entity. API summary: List custom fields.get_externalGet one external by external id. API summary: Get asset by external ID.get_locationGet one location by `address_id` (the MaintainX location ID).get_location_by_external_idGet one external by external id. API summary: Get location by external ID.get_maintenanceplanGet one maintenanceplan by maintenanceplan id. API summary: Get maintenance plan.get_manufacturerGet one manufacturer by manufacturer id. API summary: Get manufacturer.get_meterGet one meter by meter id. API summary: Get meter.get_meterreadingGet one meterreading by meterreading id. API summary: Get meter reading.get_metertriggerGet one metertrigger by metertrigger id. API summary: Get meter trigger.get_modelGet one model by model id. API summary: Get model.get_partGet one part by `part_id`, with quantities, cost, vendors and locations.get_part_by_external_idGet one external by external id. API summary: Get part by external ID.get_parttransferrequestGet one parttransferrequest by parttransferrequest id. API summary: Get part transfer request.get_proceduretemplateGet one proceduretemplate by proceduretemplate id. API summary: Get procedure template.get_purchase_orderGet one purchase order by `purchaseorder_id`, with items, vendor, costs and status.get_purchaseorder_statusChanges dataGet the current status of a purchaseorder by purchaseorder id. API summary: Update purchase order status.get_rootcauseanalysisreportGet one rootcauseanalysisreport by rootcauseanalysisreport id. API summary: Get root cause analysis report.get_subscriptionGet one subscription by subscription id. API summary: Get subscription.get_supplierGet one supplier by supplier id. API summary: Get vendor.get_supplier_contactGet one contact for a supplier by contact id. API summary: Get contact.get_teamGet one team by team id. API summary: Get team.get_userGet one user by user id. API summary: Get user.get_work_orderGet one work order by `workorder_id`, with status, priority, assignees, asset, location, due date and procedure.get_work_order_by_external_idGet one external by external id. API summary: Get work order by external ID.get_work_requestGet one work request by `workrequest_id`.get_workrequestportalGet one workrequestportal by workrequestportal id. API summary: Get work request portal.list_assetcriticalitiesList assetcriticalities. Optional filters: label or level. Results are paginated. API summary: List asset criticalities.list_assetcustomstatusesList assetcustomstatuses. Results are paginated. API summary: List asset custom statuses.list_assetsList assets (equipment), filtered by location_id, model or manufacturer, with sorting and cursor pagination.list_assetstatusesList assetstatuses. Optional filters: asset id or sort. Results are paginated. API summary: List asset statuses.list_categoriesList work order categories.list_companiesList companies. Results are paginated. API summary: List organizations.list_customersList customers. Results are paginated.list_locationsList locations (sites, buildings, rooms), optionally filtered by `name`.list_maintenanceplansList maintenanceplans. Results are paginated. API summary: List maintenance plans.list_manufacturersList manufacturers. Results are paginated.list_message_usersList users for a message. Results are paginated. API summary: List conversation members.list_messagesList messages. Optional filters: type or only named. Results are paginated. API summary: List conversations.list_metersList meters. Optional filters: measurement type or assets. Results are paginated.list_metertriggersList metertriggers. Optional filters: meters. Results are paginated. API summary: List meter triggers.list_modelsList models. Results are paginated.list_partsList spare parts and inventory, optionally filtered by part_number, with stock levels per location.list_parttransferrequestsList parttransferrequests. Optional filters: statuses. Results are paginated. API summary: List part transfer requests.list_proceduretemplatesList proceduretemplates. Results are paginated. API summary: List procedure templates.list_purchase_ordersList purchase orders, filtered by statuses and created/updated dates.list_rootcauseanalysisreportsList rootcauseanalysisreports. Optional filters: assets, statuses, creators, archived, created after or created before. Results are paginated. API summary: List root cause analysis reports.list_subscription_secretsList secrets for a subscription. API summary: Get secret information.list_supplier_contactsList contacts for a supplier. Results are paginated.list_team_usersList users for a team. Results are paginated. API summary: List team members.list_teamsList teams. Use a team ID to assign work orders to a whole team.list_usersList users in the organization, optionally find one by `email`. Use only_assignable to get people who can be assigned work.list_vendorsList vendors (suppliers).list_versionsList versions. API summary: Get list of available API versions.list_work_order_commentsList the comments on a work order by `workorder_id`.list_work_ordersList work orders, filtered by statuses, priorities, assignees, assets, locations, categories or title. Paginate with cursor.list_work_requestsList work requests (maintenance requests awaiting approval), filtered by statuses, priorities, assets, locations or title.list_workorder_costsList costs for a workorder. API summary: Get costs information.list_workorder_subworkordersList subworkorders for a workorder. Results are paginated. API summary: List sub work orders.list_workrequestportalsList workrequestportals. Results are paginated. API summary: List work request portals.send_purchase_order_as_an_emailChanges dataCreate a new message for a purchaseorder. API summary: Send Purchase Order as an email.send_work_order_as_an_emailChanges dataCreate a new message for a workorder. API summary: Send work order as an email.set_asset_statusChanges dataRecord an asset's `status` (ONLINE or OFFLINE) by `asset_id`, with optional downtime_type (PLANNED or UNPLANNED), description and start/end times.set_work_order_statusChanges dataChange a work order's `status` (OPEN, IN_PROGRESS, ON_HOLD, DONE, CANCELED) by `workorder_id`.update_addressChanges dataUpdate an existing address identified by address id. Only the fields you pass are changed. API summary: Update location.update_assetChanges dataUpdate an asset by `asset_id`. Only the fields you pass change.update_assetcustomstatusChanges dataUpdate an existing assetcustomstatus identified by assetcustomstatus id. Only the fields you pass are changed. API summary: Update asset custom status.update_assetstatusChanges dataUpdate an existing assetstatus identified by assetstatus id. Only the fields you pass are changed. API summary: Update asset status.update_categoryChanges dataUpdate an existing category identified by category id. Only the fields you pass are changed. API summary: Update category.update_customerChanges dataUpdate an existing customer identified by customer id. Only the fields you pass are changed. API summary: Update customer.update_customfieldChanges dataUpdate an existing customfield identified by entity. API summary: Create custom field.update_externalChanges dataUpdate an existing external identified by external id. Only the fields you pass are changed. API summary: Create or update asset by external ID.update_maintenanceplanChanges dataUpdate an existing maintenanceplan identified by maintenanceplan id. Only the fields you pass are changed. API summary: Update a maintenance plan.update_meterChanges dataUpdate an existing meter identified by meter id. Only the fields you pass are changed. API summary: Update meter.update_metertriggerChanges dataUpdate an existing metertrigger identified by metertrigger id. Only the fields you pass are changed. API summary: Update meter trigger.update_metertrigger_workordertemplatesVisible to othersUpdate an existing workordertemplate identified by metertrigger id. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Meter Trigger's Work Order Template.update_partChanges dataUpdate a part by `part_id`: name, description, unit_cost, minimum quantity, barcode or vendors. Only the fields you pass change.update_parttransferrequestChanges dataUpdate an existing parttransferrequest identified by parttransferrequest id. Only the fields you pass are changed. API summary: Update part transfer request.update_proceduretemplateChanges dataUpdate an existing proceduretemplate identified by proceduretemplate id. Only the fields you pass are changed. API summary: Update Procedure Template.update_proceduretemplaterowChanges dataUpdate an existing proceduretemplaterow identified by proceduretemplaterow id. Only the fields you pass are changed. API summary: Update Procedure Template Row.update_purchaseorderChanges dataUpdate an existing purchaseorder identified by purchaseorder id. Only the fields you pass are changed. API summary: Update purchase order.update_purchaseorder_shipmentsVisible to othersUpdate an existing shipment identified by purchaseorder id. Only the fields you pass are changed. Has effects visible outside this system. API summary: Fulfill purchase order.update_subscriptionChanges dataUpdate an existing subscription identified by subscription id. Only the fields you pass are changed. API summary: Update subscription.update_supplierChanges dataUpdate an existing supplier identified by supplier id. Only the fields you pass are changed. API summary: Update vendor.update_supplier_contactChanges dataUpdate an existing contact identified by contact id. Only the fields you pass are changed. API summary: Update contact.update_teamChanges dataUpdate an existing team identified by team id. Only the fields you pass are changed. API summary: Update team.update_team_userChanges dataUpdate an existing user identified by user id. Only the fields you pass are changed. API summary: Update team member.update_userChanges dataUpdate an existing user identified by user id. Only the fields you pass are changed. API summary: Update user.update_work_orderChanges dataUpdate a work order by `workorder_id`: title, description, priority, due date, assignees, asset, location or categories. Only the fields you pass change.update_workorder_part_statusesVisible to othersUpdate an existing part status identified by workorder id. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update work order part status.update_workrequestChanges dataUpdate an existing workrequest identified by workrequest id. Only the fields you pass are changed. API summary: Update work request.update_workrequestportalChanges dataUpdate an existing workrequestportal identified by workrequestportal id. Only the fields you pass are changed. API summary: Update work request portal.
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose MaintainX from the app list.
- 2
Paste your key
Paste a MaintainX API key. API access needs a MaintainX Premium or Enterprise plan. In MaintainX go to Settings > Integrations > API Keys, generate a key for your user and copy it.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in MaintainX?
It can list and read work orders, comments, work requests, assets, locations, parts, purchase orders, vendors, categories, teams and users. It can create work orders, work requests, assets, locations and purchase orders, update work orders, assets and parts, change work order status, record asset status, post comments and permanently delete a work order.
Does the AI see my MaintainX credentials?
No. Your MaintainX credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start with lookups only. Deleting a work order is permanent, and comments notify the team members who follow a work order, so these can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT, open Settings › Apps & Connectors › Advanced, turn on Developer mode and add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
HeyMyApps has a free plan with no credit card required. Paid plans bill per completed task. You also need your own MaintainX account.
Which MaintainX plan do I need?
API access needs a MaintainX Premium or Enterprise plan. You generate the API key for your own user under Settings > Integrations > API Keys, and paste it into HeyMyApps.
Let your AI work in MaintainX today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect MaintainX freeHeyMyApps is not affiliated with MaintainX. Product names are trademarks of their owners.






