*Workflows › Reference › Actions › Services*

# Create internal service

> Reserves staff or vehicles in the planner for a job that is not invoiced, such as maintenance or training.

## At a glance

| Property | Value |
| --- | --- |
| Domain | `internalServices` |
| Group in the editor | Services › Services |
| Runs as | The owner of the workflow, with their permissions |
| Permission | Edit access to Services. Administrators always pass; a module outside the plan blocks everyone. |
| Destructive | No: the public MCP catalogue does not mark it as destructive |
| Also available in | REST API, MCP (`filmo_internal_services_create`) |

ACTION `internalServices.create`

## Inputs

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `title` | string | Yes | **Name.** It is how it appears in the planner. E.g.: Warehouse maintenance. |
| `startDate` | string | Yes | Starts |
| `endDate` | string | Yes | **Ends.** At least 15 minutes after the start. |
| `assignedStaffIds` | string[] | No | **Assigned staff.** The people who stay busy in the planner during that time. |
| `description` | string | No |  |
| `serviceId` | string | No | **Catalogue service.** If the job corresponds to a catalogue service, choose it here. |
| `serviceType` | enum<string> | No | Staff if your team provides it, Fleet if it is vehicles, General for the rest. `crew`, `fleet`, `general` |
| `projectId` | string | No | **Project.** The project this job belongs to, if any. |
| `assignedVehicleIds` | string[] | No | **Assigned vehicles.** The vehicles that stay busy in the planner during that time. |
| `qty` | number | No | **Resources needed.** How many people or vehicles it needs. If you assign fewer, it stays partially assigned. |

## Outputs

| Name | Type | Description |
| --- | --- | --- |
| `internalServiceId` | string |  |
| `title` | string |  |

---

Canonical URL: https://docs.filmo.io/workflows/reference/actions/internalservices-create  
Last updated: 2026-10-25