# Update User — Ramp (Sandbox Version)

> Update fields on an existing Ramp Sandbox user (role, department, location, direct manager). Run the List Users action to find the user ID, List Departments and List Locations for related IDs. Example: to move a user into a department…

- Key: `ramp_sandbox-update-user`
- Type: Action (Write)
- Version: 0.0.2
- App: Ramp (Sandbox Version) (`ramp_sandbox`) — https://pipedream.com/apps/ramp-sandbox.md
- This page (HTML): https://pipedream.com/apps/ramp-sandbox/actions/update-user
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/ramp_sandbox/actions/update-user/update-user.mjs

## Description

Update fields on an existing Ramp Sandbox user (role, department, location, direct manager). Run the **List Users** action to find the user ID, **List Departments** and **List Locations** for related IDs. Example: to move a user into a department, pass their User ID plus a Department ID from **List Departments**; you can also set `role` (e.g. `BUSINESS_USER`), location, or direct manager. [See the documentation](https://docs.ramp.com/developer-api/v1/api/users#patch-developer-v1-users-user-id)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `userId` | `string` | Yes | The ID of the user to update — a UUID, e.g. bcc1e4ca-d38a-4cc9-98fc-e6c2066ad0ae. Run the List Users action to find this value. |
| `role` | `string` | No | New role for the user. |
| `departmentId` | `string` | No | New department ID — a UUID, e.g. fffe6c22-698f-4dc5-b2b1-b35f86947d90. Run the List Departments action to find valid IDs. |
| `locationId` | `string` | No | New location ID — a UUID, e.g. 961c6f01-5719-4f4c-8fef-4096a031f32a. Run the List Locations action to find valid IDs. |
| `directManagerId` | `string` | No | New direct manager user ID — a UUID, e.g. bcc1e4ca-d38a-4cc9-98fc-e6c2066ad0ae. Run the List Users action to find valid IDs. |

## Run it

**MCP**

```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": "ramp_sandbox",
      },
    },
  },
)

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

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "ramp_sandbox-update-user",
  arguments: {
    userId: "User ID",
    role: "Role",
  },
})
```

**TypeScript**

```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: "ramp_sandbox-update-user",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    ramp_sandbox: { authProvisionId: "apn_xxxxxxx" },
    userId: "User ID",
    role: "Role",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "ramp_sandbox-update-user",
    "configured_props": {
      "ramp_sandbox": { "authProvisionId": "apn_xxxxxxx" },
      "userId": "User ID",
      "role": "Role"
    }
  }'
```

---

- App: https://pipedream.com/apps/ramp-sandbox.md · All apps: https://pipedream.com/apps
