> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Update opportunity

> Updates one opportunity by ID.

`highlevel.updateOpportunity` updates one opportunity by ID.

```ts automations/highlevel-update-opportunity.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { highlevel } from "automate.ax/highlevel"

export default automation("Update opportunity", () => {
  markSignificant(
    highlevel.updateOpportunity({
      id: "yWQobCRIhRguQtD2llvk",
    }),
  )
})
```

## Input

| Field             | Type                                      | Required | Description                            |
| ----------------- | ----------------------------------------- | -------- | -------------------------------------- |
| `id`              | `string`                                  | Yes      | HighLevel id value.                    |
| `pipelineId`      | `string`                                  | No       | pipeline Id                            |
| `name`            | `string`                                  | No       | HighLevel name value.                  |
| `pipelineStageId` | `string`                                  | No       | HighLevel pipeline stage id value.     |
| `status`          | `open \| won \| lost \| abandoned \| all` | No       | HighLevel status value.                |
| `monetaryValue`   | `number`                                  | No       | Opportunity monetary value.            |
| `assignedTo`      | `string`                                  | No       | HighLevel assigned to value.           |
| `customFields`    | `object[]`                                | No       | Update custom fields to opportunities. |

Automate.ax supplies the connected sub-account's location ID. Optional second argument `{ account }` selects a named HighLevel binding.

## Output

| Field         | Type     | Required | Description                  |
| ------------- | -------- | -------- | ---------------------------- |
| `opportunity` | `object` | No       | HighLevel opportunity value. |

This action calls `PUT /opportunities/{id}` with HighLevel API version `2021-07-28` and requires `opportunities.write`. HighLevel validation and permission errors fail the action. Rate limits honor the provider's retry timing.
