*Workflows › Reference › Events › CRM*

# Opportunity updated

> Starts a run when «Opportunity updated» happens in Filmo. The run receives the opportunity in `trigger_opportunity` and the details of the event in `trigger_event`.

## About this event

| Property | Value |
| --- | --- |
| Source | Filmo |
| Section of the editor | CRM › Opportunities |
| Record | Opportunity |
| Variable | `trigger_opportunity` |

## Changes

An update event can start a run only when one of these fields changed: set it in «changedField».

| Field | Description |
| --- | --- |
| `amount` | Amount changed |
| `company` | Company changed |
| `contact` | Contact changed |
| `currency` | Currency changed |
| `expectedCloseDate` | Expected close date changed |
| `name` | Name changed |
| `owner` | Owner changed |

More in [Triggers](https://docs.filmo.io/workflows/triggers).

EVENT `filmo.opportunity.updated`

## Configuration

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `event` | string | Yes | The event this trigger waits for: `filmo.opportunity.updated`. |
| `filter` | condition | No | The trigger's gate: «only when…». A condition evaluated against the event and the record before the run is created; if it is not met, no run is created. If absent, there is no filter and the event passes. If present, it must be complete, with the variable chosen: saving a half-configured filter is rejected. |
| `changedField` | string | No | Only for update events («Only when … changes»): one of the fields the event declares as changeable. It passes only when that field changed. If absent, any update passes. For those events the editor offers this instead of the filter. |

## What the run receives

| Name | Type | Description |
| --- | --- | --- |
| `trigger_opportunity` | object | Opportunity |
| `trigger_opportunity.id` | string | Id |
| `trigger_opportunity.identifier` | string | Identifier |
| `trigger_opportunity.name` | string | Name |
| `trigger_opportunity.status` | enum<string> | Status `open`, `won`, `lost` |
| `trigger_opportunity.pipelineId` | string | Pipeline id |
| `trigger_opportunity.stageId` | string | Stage id |
| `trigger_opportunity.amount` | number | Amount |
| `trigger_opportunity.currency` | string | Currency |
| `trigger_opportunity.contactId` | string | Contact id |
| `trigger_opportunity.companyId` | string | Company id |
| `trigger_opportunity.ownerStaffId` | string | Owner id |
| `trigger_opportunity.expectedCloseDate` | string | Expected close date |
| `trigger_event` | object | The event. The same envelope arrives with every event. |
| `trigger_event.name` | string | Name |
| `trigger_event.entityType` | string | Entity type |
| `trigger_event.entityId` | string | Entity id |
| `trigger_event.entityName` | string | Entity name |
| `trigger_event.actionCode` | string | Action code |
| `trigger_event.origin` | enum<string> | Source `neo`, `workflow`, `api`, `mcp`, `integration` |
| `trigger_event.actor` | object | Author |
| `trigger_event.actor.kind` | string | Type |
| `trigger_event.actor.id` | string | Id |
| `trigger_event.actor.name` | string | Name |
| `trigger_event.changes` | object | Changes |
| `trigger_event.changes.name` | boolean | Name changed |
| `trigger_event.changes.amount` | boolean | Amount changed |
| `trigger_event.changes.currency` | boolean | Currency changed |
| `trigger_event.changes.expectedCloseDate` | boolean | Expected close date changed |
| `trigger_event.changes.contact` | boolean | Contact changed |
| `trigger_event.changes.company` | boolean | Company changed |
| `trigger_event.changes.owner` | boolean | Owner changed |

---

Canonical URL: https://docs.filmo.io/workflows/reference/events/filmo-opportunity-updated  
Last updated: 2026-10-25