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

# automationKinds

> Trigger and step kinds, with each one's config JSON Schema. With `ids`, one entry per id, in order, null for an unknown kind or a version other than the current one. Without `ids`, every kind.

**Required scopes:** [`automations_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-automations_read)

## Arguments

**forTrigger** `String`

A trigger kind: each step's `availability` says whether an automation on it can use the step.

**ids** `[String!]`

Kinds such as `core.wait` or `core.wait@1`, at most 100.

## Returns

**automationKinds** `[\[AutomationKindInfo\]!](/docs/api-reference/v3/reference/automations/automation-kind-info)` *required*

A trigger or step kind: how editors present it, its default config, and the JSON Schema its config follows.

**fields**

**availability** `[AutomationStepAvailability](/docs/api-reference/v3/reference/automations/automation-step-availability)`

With `forTrigger`, whether an automation on that trigger can use the step; null otherwise and for triggers.

**fields**

**available** `Boolean!` *required*

Whether it can.

**reason** `String`

Why not, when it can't.

**category** `[AutomationStepCategory](/docs/api-reference/v3/reference/automations/automation-step-category)`

A step's category; null for a trigger.

**configJsonSchema** `[JSON!](/docs/api-reference/v3/reference/common/json)` *required*

The JSON Schema of the config for this kind and version. It never changes once published: a change that breaks it publishes a new version.

**defaultConfig** `[JSON!](/docs/api-reference/v3/reference/common/json)` *required*

The config a new trigger or step starts from.

**description** `String!` *required*

What it does.

**domain** `String`

The area it belongs to, such as `core` or `api`.

**domainTitle** `String!` *required*

The domain's display name.

**effects** `[\[AutomationEffectClass!\]!](/docs/api-reference/v3/reference/automations/automation-effect-class)` *required*

What it does outside the run.

**event** `String`

The event a trigger listens for; null for steps.

**exampleEvent** `[JSON](/docs/api-reference/v3/reference/common/json)`

A trigger's example event, the shape `trigger` has in expressions; null for steps.

**group** `String!` *required*

The folder editors list it under.

**hidden** `String`

Why editors don't offer the step for new automations; it stays valid in existing ones. Null when offered.

**icon** `String!` *required*

An icon name.

**id** `String!` *required*

The kind, such as `core.wait`.

**ports** `[\[AutomationPort!\]!](/docs/api-reference/v3/reference/automations/automation-port)` *required*

The ports a step's default config has; ports can depend on its config. Empty for a trigger, which always leaves by `next`.

**fields**

**id** `String!` *required*

The port's id, as `AutomationEdge.port` names it.

**label** `String!` *required*

What editors show.

**skippable** `Boolean!` *required*

Whether a step can be disabled (`AutomationStep.disabled`); false for a trigger.

**title** `String!` *required*

Its display name.

**type** `[AutomationKindType!](/docs/api-reference/v3/reference/automations/automation-kind-type)` *required*

Trigger or step.

**unavailableReason** `String`

Why a trigger can't start new automations; null when it can, and for steps.

**unchecked** `String`

Why diagnostics can't see inside the step, such as code or a raw HTTP call; null for checked kinds.

**version** `Int!` *required*

The kind's current version. New and saved automations use it; older configs are migrated up on save.

## Example

```graphql theme={null}
query {
  automationKinds(forTrigger: "...", ids: "...") {
    category
    configJsonSchema
    defaultConfig
    description
    domain
    domainTitle
    effects
    event
    # ...
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.