# UpKeep — Pipedream Connect

> The #1 Software for Maintenance and Facility Management Teams. UpKeep is the top-rated software designed to revolutionize maintenance and asset management. We provide mobile-first SaaS solutions, Industrial IoT sensors, powerful data analytics, advanced enterprise integrations, and top-notch professional services.

- API slug: `upkeep` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Productivity
- Website: https://www.upkeep.com/
- This page (HTML): https://pipedream.com/apps/upkeep
- Tools: 17 actions · 7 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: upkeep`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "upkeep",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Create Purchase Order:
const result = await mcp.callTool({
  name: "upkeep-create-purchase-order",
  arguments: {
    title: "Title",
    vendorId: "Vendor",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a UpKeep endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.onupkeep.com/api/v2/users/

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkub251cGtlZXAuY29tL2FwaS92Mi91c2Vycy8?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "upkeep-create-purchase-order",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    upkeep: { authProvisionId: "apn_xxxxxxx" },
    title: "Title",
    vendorId: "Vendor",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (17)

### `upkeep-create-purchase-order` — Create Purchase Order (Write)

Create a Purchase Order, See the docs

Full schema: https://pipedream.com/apps/upkeep/actions/create-purchase-order.md

### `upkeep-create-request` — Create Request (Write)

Create a Request, See the docs

Full schema: https://pipedream.com/apps/upkeep/actions/create-request.md

### `upkeep-create-work-order` — Create Work Order (Write)

Create a Work Order, See the docs

Full schema: https://pipedream.com/apps/upkeep/actions/create-work-order.md

### `upkeep-find-asset` — Find Asset (Read-only)

Finds assets according to props configured, if no prop configured returns all assets, See the docs

Full schema: https://pipedream.com/apps/upkeep/actions/find-asset.md

### `upkeep-find-location` — Find Location (Read-only)

Finds locations according to props configured, if no prop configured returns all locations, See the docs

Full schema: https://pipedream.com/apps/upkeep/actions/find-location.md

### `upkeep-find-part` — Find Part (Read-only)

Finds parts according to props configured, if no prop configured returns all parts, See the docs

Full schema: https://pipedream.com/apps/upkeep/actions/find-part.md

### `upkeep-find-user` — Find User (Read-only)

Finds users according to props configured, if no prop configured returns all users, See the docs

Full schema: https://pipedream.com/apps/upkeep/actions/find-user.md

### `upkeep-find-vendor` — Find Vendor (Read-only)

Finds vendors according to props configured, if no prop configured returns all vendors. Note: enterprise/business-plus plan access only. See the docs

Full schema: https://pipedream.com/apps/upkeep/actions/find-vendor.md

### `upkeep-list-asset-id-options` — List Asset Options (Read-only)

Retrieves available options for the Asset field.

Full schema: https://pipedream.com/apps/upkeep/actions/list-asset-id-options.md

### `upkeep-list-category-id-options` — List Category Options (Read-only)

Retrieves available options for the Category field.

Full schema: https://pipedream.com/apps/upkeep/actions/list-category-id-options.md

### `upkeep-list-downtime-status-options` — List Downtime Status Options (Read-only)

Retrieves available options for the Downtime Status field.

Full schema: https://pipedream.com/apps/upkeep/actions/list-downtime-status-options.md

### `upkeep-list-location-id-options` — List Location Options (Read-only)

Retrieves available options for the Location field.

Full schema: https://pipedream.com/apps/upkeep/actions/list-location-id-options.md

### `upkeep-list-parts-options` — List Parts Options (Read-only)

Retrieves available options for the Parts field.

Full schema: https://pipedream.com/apps/upkeep/actions/list-parts-options.md

### `upkeep-list-purchase-order-id-options` — List Purchase Order Id Options (Read-only)

Retrieves available options for the Purchase Order Id field.

Full schema: https://pipedream.com/apps/upkeep/actions/list-purchase-order-id-options.md

### `upkeep-list-team-id-options` — List Team Options (Read-only)

Retrieves available options for the Team field.

Full schema: https://pipedream.com/apps/upkeep/actions/list-team-id-options.md

### `upkeep-list-user-id-options` — List User Options (Read-only)

Retrieves available options for the User field.

Full schema: https://pipedream.com/apps/upkeep/actions/list-user-id-options.md

### `upkeep-update-purchase-order` — Update Purchase Order (Write)

Update a Purchase Order, See the docs

Full schema: https://pipedream.com/apps/upkeep/actions/update-purchase-order.md

## Triggers (7)

### `upkeep-new-custom-events` — New Custom Event (Instant)

Emit new event when a configured event occurs.

Full schema: https://pipedream.com/apps/upkeep/triggers/new-custom-events.md

### `upkeep-new-purchase-order` — New Purchase Order Event (Instant)

Emit new event when a purchase order is created.

Full schema: https://pipedream.com/apps/upkeep/triggers/new-purchase-order.md

### `upkeep-purchase-order-status-change` — New Purchase Order Status Change Event (Instant)

Emit new event when a purchase order status is changed.

Full schema: https://pipedream.com/apps/upkeep/triggers/purchase-order-status-change.md

### `upkeep-request-approved` — New Request Approved Event (Instant)

Emit new event when a request is approved.

Full schema: https://pipedream.com/apps/upkeep/triggers/request-approved.md

### `upkeep-new-request` — New Request Event (Instant)

Emit new event when a request is created.

Full schema: https://pipedream.com/apps/upkeep/triggers/new-request.md

### `upkeep-new-work-order` — New Work Order Event (Instant)

Emit new event when a work order is created.

Full schema: https://pipedream.com/apps/upkeep/triggers/new-work-order.md

### `upkeep-work-order-status-change` — New Work Order Status Change Event (Instant)

Emit new event when a work order status is changed.

Full schema: https://pipedream.com/apps/upkeep/triggers/work-order-status-change.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
