# defineActions (/docs/api/actions/functions/defineActions)



```ts
function defineActions<Kinds>(definitions): ActionSet<Kinds>;
```

Declares named Actions. Parses every config with its kind's `configSchema` now, so a bad
config fails at startup rather than on the first Decision that selects it.

## Type Parameters [#type-parameters]

| Type Parameter               |
| ---------------------------- |
| `Kinds` *extends* `KindById` |

## Parameters [#parameters]

| Parameter     | Type                      |
| ------------- | ------------------------- |
| `definitions` | `ActionEntries`\<`Kinds`> |

## Returns [#returns]

[`ActionSet`](/docs/api/actions/type-aliases/ActionSet)\<`Kinds`>

## Throws [#throws]

ActionBuildError naming the Action id: an empty id, an unknown kind, or the first
problem with a config.
