Integration

UpKeep integration

UpKeep is a maintenance management (CMMS) platform. Create, list, update and delete work orders, maintenance requests (approve or reject them), assets and their downtime, locations, parts, meters with readings and notifications, purchase orders, preventive maintenance templates and schedules, form templates (checklists), customers, vendors, teams, tags and fleet vehicles with their recalls; assign users, teams, customers, vendors and parts to assets and locations; read users and webhooks. Changing users or webhooks (refused for API tokens), the login routes, the sunset legacy recurring work orders and work order schedule, and the legacy PM trigger routes are not exposed. The API is enabled on the Enterprise plan; authentication is an organization API token (uk_pat_...) created by an admin under Settings > API Tokens, sent as a Bearer token.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in UpKeep.Built from the 154 UpKeep tools below, on the connection you add once.

What you can do with UpKeep

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Team, 9 operations

  • assign_asset_teamAssign asset teamPOSTThis endpoint assigns team to a specific asset.
  • assign_location_teamAssign location teamPOSTThis endpoint assigns team to a specific location.
  • assign_part_teamAssign part teamPOSTThis endpoint assigns a team to a specific part.
  • assign_work_order_teamAssign work order teamPOSTThis endpoint assigns team to a specific work order.
  • create_teamCreate teamPOSTCreates a team with a name and an optional description.
  • delete_teamDelete teamDELETEDeletes a team by its ID.
  • get_teamGet teamGETReturns one team: its name, description and dates.
  • list_teamsList teamsGETThis endpoint gets all teams for your account.
  • remove_asset_teamRemove asset teamDELETEThis endpoint removes assigned team from a specific asset.

Asset, 8 operations

  • create_assetCreate assetPOSTCreates an asset: name is required; set location, parent asset, category, barcode and serial number, purchase and warranty data, depreciation (usefulLife, residualValue), assigned user, files and custom field values.
  • create_asset_custom_fieldCreate asset custom fieldPOSTThis endpoint creates a new custom field for assets.
  • delete_assetDelete assetDELETEThis endpoint deletes a specific asset. An asset that a live vehicle points at cannot be deleted here: archive the vehicle from its vehicle page instead. The same applies when the asset is a parent, if any asset beneath it backs a live vehicle.
  • delete_asset_custom_fieldDelete asset custom fieldDELETEThis endpoint deletes a specific custom field for assets.
  • get_assetGet assetGETReturns one asset with its fields and custom fields; includes expands assigned users, teams, customers, vendors, parts, sub-assets, files, form items, location, parent asset and users.
  • get_asset_custom_fieldGet asset custom fieldGETThis endpoint gets a specific custom field for assets.
  • list_asset_custom_fieldsList asset custom fieldsGETThis endpoint gets all custom fields for assets.
  • list_assetsList assetsGETLists assets, filterable by name, barcode (serial), serial number, location, status, category, assigned user, creator and downtime status; page with offset and limit, expand related records with includes.

User, 7 operations

  • add_team_userAdd team userPOSTThis endpoint adds users for a specific team.
  • assign_asset_userAssign asset userPOSTThis endpoint assigns user to a specific asset.
  • assign_location_userAssign location userPOSTThis endpoint assigns user to a specific location.
  • assign_work_order_userAssign work order userPOSTThis endpoint assigns additional workers to a specific work order.
  • get_userGet userGETReturns one user of the account: account type, email, name, phone number, job title, status and last login.
  • list_team_usersList team usersGETThis endpoint gets all users for a specific team.
  • list_usersList usersGETThis endpoint gets all users for your account.

Custom field, 6 operations

  • delete_location_custom_fieldDelete location custom fieldDELETEThis endpoint deletes a custom field for a specific location.
  • delete_part_custom_fieldDelete part custom fieldDELETEThis endpoint deletes a custom field for a specific part.
  • delete_purchase_order_custom_fieldDelete purchase order custom fieldDELETEThis endpoint deletes a custom field for a specific purchase order.
  • get_location_custom_fieldGet location custom fieldGETThis endpoint gets a custom field for a specific location.
  • get_part_custom_fieldGet part custom fieldGETThis endpoint gets a custom field for a specific part.
  • get_purchase_order_custom_fieldGet purchase order custom fieldGETThis endpoint gets a custom field for a specific purchase order.

Customer, 6 operations

  • assign_asset_customerAssign asset customerPOSTThis endpoint assigns customer to a specific asset.
  • assign_location_customerAssign location customerPOSTThis endpoint assigns customer to a specific location.
  • create_customerCreate customerPOSTCreates a customer: name is required; email, phone number, address, website, type, description and billing address lines are optional.
  • get_customerGet customerGETReturns one customer with its contact details, billing address and custom fields.
  • list_customersList customersGETThis endpoint gets all customers for your account.
  • remove_asset_customerRemove asset customerDELETEThis endpoint removes assigned customer from a specific asset.

Part, 6 operations

  • assign_asset_partAssign asset partPOSTThis endpoint assigns part to a specific asset.
  • create_partCreate partPOSTThis endpoint creates a new part. Custom fields can be added using this endpoint.
  • delete_partDelete partDELETEDeletes a part by its ID.
  • get_partGet partGETReturns one part with its quantity, cost, location and custom fields; includes can expand location, createdByUser and files.
  • list_partsList partsGETLists parts (inventory), filterable by name, category, location, parent part, creator and a custom field value; page with offset and limit, expand location or createdByUser with includes.
  • remove_asset_partRemove asset partDELETEThis endpoint removes assigned part from a specific asset.

Work order, 6 operations

  • create_work_orderCreate work orderPOSTCreates a work order: title is required; set description, priority (0 to 3), start and due dates (Unix ms), asset, location, assignee, category, parts, checklist items and custom fields. The assignee, or the admins, get an email.
  • delete_work_orderDelete work orderDELETEDeletes a work order by its ID.
  • get_work_orderGet work orderGETThis endpoint gets a specific work order. The responseTime in response object is the time difference in hours between WorkOrder creation and its first status update.
  • get_work_order_custom_fieldGet work order custom fieldGETThis endpoint retrieves a specific custom field for work orders.
  • list_work_order_custom_fieldsList work order custom fieldsGETThis endpoint retrieves all custom fields for work orders.
  • list_work_ordersList work ordersGETLists work orders (reactive and preventive), filterable by status, completion, priority, asset, location, assignee, category and date ranges in Unix milliseconds; page with offset and limit, expand related records with includes.

Vendor, 5 operations

  • assign_asset_vendorAssign asset vendorPOSTThis endpoint assigns vendor to a specific asset.
  • assign_location_vendorAssign location vendorPOSTThis endpoint assigns vendor to a specific location.
  • create_vendorCreate vendorPOSTCreates a vendor: businessName is required; email, phone number, business address, website, type, description and main point of contact are optional.
  • get_vendorGet vendorGETReturns one vendor with its business details and contact.
  • list_vendorsList vendorsGETThis endpoint gets all vendors for your account.

Asset downtime status, 4 operations

  • create_asset_downtime_statusCreate asset downtime statusPOSTThis endpoint creates a new asset downtime status.
  • delete_asset_downtime_statusDelete asset downtime statusDELETEThis endpoint deletes a specific asset downtime status.
  • get_asset_downtime_statusGet asset downtime statusGETThis endpoint gets a specific asset downtime status.
  • list_asset_downtime_statusesList asset downtime statusesGETThis endpoint gets all asset downtime statuses.

Form template, 4 operations

  • create_form_templateCreate form templatePOSTThis endpoint creates a new form template (checklist). The caller must have work order create permission. View-only users cannot create form templates.
  • delete_form_templateDelete form templateDELETEThis endpoint soft-deletes a form template. Completed checklist instances already attached to work orders are not removed. After soft-delete, the name can be reused on a new template. The caller must have work order delete permission.
  • get_form_templateGet form templateGETThis endpoint gets a specific form template (checklist) by its ID.
  • list_form_templatesList form templatesGETThis endpoint gets all saved form templates (checklists) for your account.

Location, 4 operations

  • create_locationCreate locationPOSTThis endpoint creates a new location. Custom fields can be added using this endpoint.
  • delete_locationDelete locationDELETEDeletes a location by its ID.
  • get_locationGet locationGETThis endpoint gets a specific location. includes can add the hierarchy fields hierarchyLevel, ancestors, numTotalChildren and numTotalDescendants.
  • list_locationsList locationsGETThis endpoint gets all locations. includes can add the hierarchy fields hierarchyLevel, ancestors, numTotalChildren and numTotalDescendants.

Meter, 4 operations

  • create_meterCreate meterPOSTCreates a meter (for example Mileage in KMPL) with a name, units and reading frequency, optionally attached to an asset or a location.
  • delete_meterDelete meterDELETEDeletes a meter by its ID.
  • get_meterGet meterGETReturns one meter; includes can expand asset, location, createdByUser and lastReading.
  • list_metersList metersGETThis endpoint gets all meters for your account.

Notification, 4 operations

  • create_meter_notificationCreate meter notificationPOSTThis endpoint creates a new meter notification for particular meter.
  • delete_meter_notificationDelete meter notificationDELETEThis endpoint deletes a specific meter notification.
  • get_meter_notificationGet meter notificationGETThis endpoint gets a specific meter notification.
  • list_meter_notificationsList meter notificationsGETThis endpoint gets all notifications for a particular meter.

Pm, 4 operations

  • create_pmCreate pmPOSTCreates a preventive maintenance: a template (name, mainDescription as the work order title, parts, tasks) with one or more calendar or meter schedules that generate its work orders.
  • delete_pmDelete pmDELETEThis endpoint deletes a specific PM Template.
  • get_pmGet pmGETReturns one preventive maintenance by its template ID; includes can expand its schedules and their fulfillments.
  • list_pmsList pmsGETLists preventive maintenance templates, filterable by search text, asset, location, assignee, support users, team and priority; page with pageSize and page together, and includes can expand schedules.

Purchase order, 4 operations

  • create_purchase_orderCreate purchase orderPOSTThis endpoint creates a purchase order. Custom fields can be added using this endpoint.
  • delete_purchase_orderDelete purchase orderDELETEThis endpoint deletes a specific purchase order.
  • get_purchase_orderGet purchase orderGETThis endpoint gets a specific purchase order.
  • list_purchase_ordersList purchase ordersGETLists purchase orders, filterable by title, status, vendor, category, creator, a custom field and date ranges (Unix ms); page with offset and limit, expand vendor and users with includes.

Purchase order category, 4 operations

  • create_purchase_order_categoryCreate purchase order categoryPOSTThis endpoint creates a Purchase Order Category.
  • delete_purchase_order_categoryDelete purchase order categoryDELETEThis endpoint deletes a specific Purchase Order Category.
  • get_purchase_order_categoryGet purchase order categoryGETThis endpoint gets a specific Purchase Order Category.
  • list_purchase_order_categoriesList purchase order categoriesGETThis endpoint gets all Purchase Order Categories.

Request, 4 operations

  • create_requestCreate requestPOSTThis endpoint creates a new request. When your account has a request form template configured, pass form values in fields. Each entry's name must match a field label on the template.
  • delete_requestDelete requestDELETEDeletes a request by its ID.
  • get_requestGet requestGETThis endpoint gets a specific request, including open, approved, and rejected requests. Response status is one of open, approved, or rejected.
  • list_requestsList requestsGETThis endpoint gets all requests for your account. Each result includes a normalized status of open, approved, or rejected, plus submitted form fields and hasFormData when form data is present.

Schedule, 4 operations

  • add_pm_schedulesAdd pm schedulesPOSTThis endpoint allows you to add new PMSchedule(s) to a PM
  • delete_pm_scheduleDelete pm scheduleDELETEThis endpoint deletes a specific PM Schedule.
  • get_pm_scheduleGet pm scheduleGETThis endpoint fetches a schedule based on scheduleId.
  • list_pm_schedulesList pm schedulesGETThis endpoint fetches schedules based on filters.

Tag, 4 operations

  • create_tagCreate tagPOSTCreates a tag with a name and the entity types it applies to (files, parts, purchaseOrders, checklists, inspections).
  • delete_tagsDelete tagsDELETEThis endpoint deletes one or more tags by their IDs.
  • get_tagGet tagGETThis endpoint retrieves a specific tag by its ID.
  • list_tagsList tagsGETThis endpoint retrieves all tags for your account. Use the models filter to get only tags applicable to a specific entity type (e.g. purchase orders).

Vehicle, 4 operations

  • create_vehicleCreate vehiclePOSTCreating a vehicle also creates its underlying asset. The id returned is the asset ID.
  • delete_vehicleDelete vehicleDELETEDeletes a vehicle by its asset ID.
  • get_vehicleGet vehicleGETReturns one vehicle by its asset ID, with its vehicle attributes (VIN, year, make, model, licence plate, registration expiry).
  • list_vehiclesList vehiclesGETLists fleet vehicles (assets carrying a vehicle object), filterable by make, model, year, VIN, licence plate, registration expiry, name and location; 50 per page by default, at most 200. Needs the Fleet entitlement.

Reading, 3 operations

  • add_meter_readingAdd meter readingPOSTAdds a reading to a meter: value is required, date (ISO 8601 or Unix ms) is optional. A meter notification whose condition the reading meets creates its work order.
  • delete_meter_readingDelete meter readingDELETEThis deletes a reading from a specific meter.
  • list_meter_readingsList meter readingsGETLists the readings of a meter, filterable by reading date and by creation or update time (Unix milliseconds), with offset and limit paging.

File, 2 operations

  • get_fileGet fileGETThis endpoint gets a specific file by its ID.
  • list_filesList filesGETThis endpoint gets all files for your account.

Recall, 2 operations

  • list_recallsList recallsGETLists vehicle recall assignments across the fleet (from NHTSA, matched by make and year), filterable by make, year, status, campaign number and report date; 50 per page by default, at most 100.
  • list_vehicle_recallsList vehicle recallsGETLists the recall assignments of one vehicle, filterable by status; 50 per page by default, at most 100.

Update message, 2 operations

  • add_purchase_order_messageAdd purchase order messagePOSTThis endpoint creates an update message for a specific purchase order.
  • add_work_order_messageAdd work order messagePOSTThis endpoint add/update message to a specific work order.

Webhook, 2 operations

  • get_webhookGet webhookGETReturns one webhook: title, endpoint URL, subscribed events and whether it is enabled.
  • list_webhooksList webhooksGETLists the webhooks of the account: title, endpoint URL, subscribed events and whether each is enabled.

Approve, 1 operation

  • approve_requestApprove requestPOSTThis endpoint approves a pending request and converts it into a work order. The authenticated user must be an admin with the work_request approve_decline permission. Approving an already approved or declined request returns HTTP 409.

Bulk update, 1 operation

  • bulk_update_recallsBulk update recallsPATCHUpdates the status of up to 100 recall assignments in one request.

Cancel, 1 operation

  • cancel_requestCancel requestDELETECancels a request; the requester gets an email about the cancellation.

Count, 1 operation

  • count_recallsCount recallsGETReturns the number of matching recall assignments without returning the records. Useful for compliance dashboards.

Downtime, 1 operation

  • record_asset_downtimeRecord asset downtimePOSTThis endpoint records downtime events by enabling bulk updates of assets' downtime status. It returns success: true when all status updates are recorded successfully.

Reject, 1 operation

  • reject_requestReject requestPOSTThis endpoint rejects a pending request. The authenticated user must be an admin with the work_request approve_decline permission. An optional reason is stored for audit and included in the requester notification when applicable.

Vin decode, 1 operation

  • decode_vinDecode vinGETDecodes a Vehicle Identification Number into vehicle attributes, so you can populate a vehicle before creating it. No record is created and no ID is returned. Treat every field as optional.

Work order cost category, 1 operation

  • list_work_order_cost_categoriesList work order cost categoriesGETLists the cost categories used for work order costs (for example Labor Cost and Parts Cost).

Showing the first 120 of 154 endpoints. The rest are in the product, searchable from the workflow builder and from chat.

Use UpKeep from Claude Code, Cursor or Codex

Connect UpKeep in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its UpKeep operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect UpKeep

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect UpKeep once

    Add your UpKeep connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

UpKeep integration FAQ

What can you do with the UpKeep integration?

LiveContext exposes 154 operations on UpKeep, covering team, asset, user and custom field.

Popular integrations

Browse the whole catalog