*Workflows › Reference › Events › Services*

# Internal service updated

> Starts a run when «Internal service updated» happens in Filmo. The run receives the internal service in `trigger_internalService` and the details of the event in `trigger_event`.

## About this event

| Property | Value |
| --- | --- |
| Source | Filmo |
| Section of the editor | Services › Services |
| Record | Internal service |
| Variable | `trigger_internalService` |

## Changes

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

| Field | Description |
| --- | --- |
| `endDate` | End date changed |
| `project` | Project changed |
| `service` | Service changed |
| `startDate` | Start date changed |
| `status` | Status changed |
| `title` | Title changed |

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

EVENT `filmo.internalService.updated`

## Configuration

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `event` | string | Yes | The event this trigger waits for: `filmo.internalService.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_internalService` | object | Internal service |
| `trigger_internalService.id` | string | Id |
| `trigger_internalService.title` | string | Title |
| `trigger_internalService.description` | string | Description |
| `trigger_internalService.serviceType` | string | Service type |
| `trigger_internalService.status` | string | Status |
| `trigger_internalService.startDate` | string | Start date |
| `trigger_internalService.endDate` | string | End date |
| `trigger_internalService.serviceId` | string | Service id |
| `trigger_internalService.serviceName` | string | Service name |
| `trigger_internalService.projectId` | string | Project id |
| `trigger_internalService.projectName` | string | Project name |
| `trigger_internalService.assignedStaffCount` | number | Assigned people |
| `trigger_internalService.assignedVehiclesCount` | number | Assigned vehicles |
| `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.title` | boolean | Title changed |
| `trigger_event.changes.status` | boolean | Status changed |
| `trigger_event.changes.startDate` | boolean | Start date changed |
| `trigger_event.changes.endDate` | boolean | End date changed |
| `trigger_event.changes.service` | boolean | Service changed |
| `trigger_event.changes.project` | boolean | Project changed |

---

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