> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://contentful.com/developers/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/developers/docs/_mcp/server.

# Automations guide

> Learn more about the technical details on using the Automations feature for enablement and maintenance.

## Overview

The following guide provides a detailed technical deep dive into the [Automations](https://www.contentful.com/help/ai-automations/automations/automations-overview/) feature. This resource is intended for admins and developers responsible for implementing, managing or extending automations.

### How references work

Automations allow you to `get` data from one step to another using JSON path–based references and Handlebars expressions. This enables dynamic workflows where outputs from earlier steps (for example, an `entry ID`) are reused in later actions in that automation.

Each step in an automation produces a JSON response. You can reference values from that response in subsequent steps.

* References use JSON path–like syntax.
* Values are inserted using handlebars expression: `{{ $... }}`.

> **Info**
>
> Only required when changing values of a string.

* The structure of the data closely follows responses from the Content Management API (CMA).

### Example

If a previous step creates an entry, its response might look like:

```
{
  "sys": {
    "id": "bZjA7EvZ",
    "type": "Entry"
  }
}
```

To reference the created entry ID in a later step:

`{{$.steps._____stepId____.sys.id}}`

![Automations copy step id](/developers/docs/_fern-img/1311023dcce1260e710b2f5bf36d0d7ef250701c5a7260a12a5a0ec870c9f9c3.webp)

### Syntax

A typical reference follows this structure:

<table>
  <tr>
    <th>
      Part
    </th>

    <th>
      Description
    </th>
  </tr>

  <tr>
    <td>
      $.
    </td>

    <td>
      Root object of the entire automation. Groups output of steps and trigger
    </td>
  </tr>

  <tr>
    <td>
      steps or trigger
    </td>

    <td>
      Steps root object containing all step outputs or information about the trigger that started the automation
    </td>
  </tr>

  <tr>
    <td>
      stepId
    </td>

    <td>
      Unique ID of the step (from Network tab)
    </td>
  </tr>

  <tr>
    <td>
      path-to-value
    </td>

    <td>
      JSON path to the desired value
    </td>
  </tr>
</table>

### Automation actions

All actions map to Content Management API endpoints.

The result of the underlying CMA call becomes the output of the automation action and can be referenced in later steps.

More details for each action can be found in the linked CMA documentation.

### AI Actions

* [cma.aiAction.invoke](/references/content-management-api/ai-actions/invoke-an-ai-action)

### App Actions

* [cma.appActionCall.createWithResult](/references/content-management-api/app-action-calls/trigger-an-action)

### Component Types

* [cma.componentType.get](/references/content-management-api/entries/get-an-entry)

* [cma.componentType.getMany](/references/content-management-api/entries/get-all-entries-of-a-space)

* Limitations: `getMany` returns max 100 entries.

### Entries

* [cma.entry.get](/references/content-management-api/entries/get-an-entry)

* [cma.entry.create](/references/content-management-api/entries/create-an-entry)

* [cma.entry.patch](/references/content-management-api/entries/patch-an-entry)

* [cma.entry.delete](/references/content-management-api/entries/delete-an-entry)

* [cma.entry.publish](/references/content-management-api/entries/publish-an-entry)

* [cma.entry.unpublish](/references/content-management-api/entries/unpublish-an-entry)

* [cma.entry.archive](/references/content-management-api/entries/archive-an-entry)

* [cma.entry.unarchive](/references/content-management-api/entries/unarchive-an-entry)

### Workflows

* [cma.workflow.create](/references/content-management-api/workflows/create-a-workflow)

* [cma.workflow.update](/references/content-management-api/workflows/update-a-workflow)

* [cma.workflow.complete](/references/content-management-api/workflows/complete-a-workflow)

## Further reading

* [Help Center](https://www.contentful.com/help/ai-automations/automations/automations-overview/)
* [Automations CMA](/references/content-management-api/workflow-definitions/get-all-workflow-definitions)