> For the complete documentation index, see [llms.txt](https://docs.airops.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.airops.com/docs/de/integrationen/overview/integrations/craft-cms.md).

# Craft CMS

Integrieren Sie Ihren Workflow mit Craft CMS

Der Schritt „Craft CMS-Integration“ ermöglicht es Ihnen, Ihre AirOps-Workflows mit Ihrer Craft CMS-Instanz zu verbinden. Diese native Integration bietet umfassende Funktionen zur Verwaltung von Einträgen und Assets direkt aus Ihren Workflows heraus.

## Überblick

Craft CMS ist ein flexibles, benutzerfreundliches Content-Management-System, das für die Erstellung individueller digitaler Erlebnisse entwickelt wurde. Durch die Verbindung von Craft CMS mit AirOps können Sie die Erstellung, Veröffentlichung und Verwaltung von Assets und Inhalten in Ihren Craft-Projekten automatisieren.

## Authentifizierung

Bevor Sie die Craft CMS-Integration in Ihren Workflows verwenden, müssen Sie zunächst Ihr Craft CMS-Konto in den AirOps-Einstellungen verbinden:

1. Navigieren Sie zu **Einstellungen > Integrationen**
2. Suchen Sie den Craft-CMS-Bereich und klicken Sie auf „Konfigurieren“
3. Geben Sie Ihren **GraphQL-Token** — ein Token mit Schreibberechtigungen, das in Ihrem Craft CMS-Kontrollpanel unter **GraphQL > Tokens**
4. Geben Sie Ihren **Site-URL** — die Basis-URL Ihrer Craft-CMS-Instanz (z. B. `https://example.com`)
5. Geben Sie optional einen **Standard-Author-ID** — die numerische ID des Craft-CMS-Benutzers, der standardmäßig als Autor von Einträgen zugewiesen wird. Einzelne Aktionen können diesen Wert überschreiben

{% hint style="info" %}
Ihr GraphQL-Token muss über Berechtigungen zum Lesen und Schreiben von Einträgen und Assets in den Bereichen verfügen, die Sie verwenden möchten.
{% endhint %}

## Verfügbare Aktionen

### Eintragsverwaltung

* **Eintrag erstellen** — einen neuen Eintrag zu einem Craft-CMS-Bereich hinzufügen
* **Eintrag aktualisieren** — die Felder, den Status oder die Metadaten eines vorhandenen Eintrags ändern
* **Eintrag abrufen** — einen einzelnen Eintrag anhand der ID oder des Slugs abrufen
* **Einträge auflisten** — mehrere Einträge aus einem Bereich mit optionalen Filtern abrufen
* **Eintrag löschen** — einen Eintrag dauerhaft entfernen

### Asset-Verwaltung

* **Asset abrufen** — ein einzelnes Asset anhand der ID abrufen
* **Assets auflisten** — Assets aus einem Volume mit optionalen Filtern abrufen
* **Asset an Eintrag anhängen** — vorhandene Assets mit dem Asset-Feld eines Eintrags verknüpfen
* **Asset löschen** — ein Asset dauerhaft aus einem Volume entfernen

## Aktionsparameter

### Eintrag erstellen

1. **Abschnitt** (erforderlich) — der Abschnitt-Handle, zu dem der Eintrag gehört (z. B. `blog`, `news`)
2. **Eintragstyp** — der Handle des Eintragstyps (z. B. `default`, `article`). Standardmäßig `default`
3. **Titel** — der Titel des Eintrags
4. **Slug** — der URL-Slug für den Eintrag
5. **Status** — Eintragsstatus: `live` oder `deaktiviert`
6. **Veröffentlichungsdatum** — das Datum, an dem der Eintrag veröffentlicht werden soll (ISO-8601-Format)
7. **Ablaufdatum** — das Datum, an dem der Eintrag ablaufen soll (ISO-8601-Format)
8. **Benutzerdefinierte Felder** — ein JSON-Objekt mit Werten benutzerdefinierter Felder, nach Feld-Handle geordnet
9. **Autor-ID** — die numerische ID des Autors des Eintrags. Überschreibt die in den Anmeldedaten festgelegte Standard-Author-ID

### Eintrag aktualisieren

1. **Eintrags-ID** (erforderlich) — die numerische ID des zu aktualisierenden Eintrags
2. **Abschnitt** — der Abschnitt-Handle, zu dem der Eintrag gehört
3. **Eintragstyp** — der Handle des Eintragstyps
4. **Titel** — der Titel des Eintrags
5. **Slug** — der URL-Slug für den Eintrag
6. **Status** — Eintragsstatus: `live` oder `deaktiviert`
7. **Veröffentlichungsdatum** — das Datum, an dem der Eintrag veröffentlicht werden soll
8. **Ablaufdatum** — das Datum, an dem der Eintrag ablaufen soll
9. **Benutzerdefinierte Felder** — ein JSON-Objekt mit Werten benutzerdefinierter Felder, nach Feld-Handle geordnet
10. **Autor-ID** — die numerische ID des Autors des Eintrags. Überschreibt die in den Anmeldedaten festgelegte Standard-Author-ID

### Eintrag abrufen

1. **Suche nach** (erforderlich) — wie der Eintrag identifiziert werden soll: `id` oder `Slug`
2. **Suchwert** (erforderlich) — der zu suchende ID- oder Slug-Wert
3. **Eintragstyp** — der Handle des Eintragstyps, verwendet zum Erstellen benutzerdefinierter Feldfragmente
4. **Felder** — kommagetrennte Liste benutzerdefinierter Feld-Handles, die in die Antwort aufgenommen werden sollen (z. B. `heroImage,body`)

### Einträge auflisten

1. **Abschnitt** — der Abschnitt-Handle, nach dem gefiltert werden soll
2. **Eintragstyp** — der Handle des Eintragstyps, verwendet zum Erstellen benutzerdefinierter Feldfragmente
3. **Felder** — kommagetrennte Liste benutzerdefinierter Feld-Handles, die in die Antwort aufgenommen werden sollen
4. **Suche** — eine Suchabfrage, um Einträge zu filtern
5. **Limit** — die maximale Anzahl der zurückzugebenden Einträge
6. **Versatz** — die Anzahl der zu überspringenden Einträge (für die Paginierung)

### Eintrag löschen

1. **Eintrags-ID** (erforderlich) — die numerische ID des zu löschenden Eintrags

### Asset abrufen

1. **Asset-ID** (erforderlich) — die numerische ID des abzurufenden Assets

### Assets auflisten

1. **Volume** — der Volume-Handle, nach dem Assets gefiltert werden sollen (z. B. `images`, `documents`)
2. **Suche** — eine Suchabfrage, um Assets zu filtern
3. **Limit** — die maximale Anzahl der zurückzugebenden Assets

### Asset an Eintrag anhängen

1. **Eintrags-ID** (erforderlich) — die numerische ID des Eintrags, an den Assets angehängt werden sollen
2. **Abschnitt** (erforderlich) — der Abschnitt-Handle, zu dem der Eintrag gehört
3. **Eintragstyp** — der Handle des Eintragstyps
4. **Feld-Handle** (erforderlich) — der Handle des Assets-Feldes im Eintrag (z. B. `heroImage`, `images`)
5. **Asset-IDs** (erforderlich) — kommagetrennte Liste der anzuhängenden Asset-IDs (z. B. `123,456`). Ersetzt alle vorhandenen Assets im Feld
6. **Autor-ID** — die numerische ID des Autors des Eintrags. Überschreibt die in den Anmeldedaten festgelegte Standard-Author-ID

### Asset löschen

1. **Asset-ID** (erforderlich) — die numerische ID des zu löschenden Assets

## Häufige Anwendungsfälle

* Automatisches Erstellen und Veröffentlichen von Blogeinträgen aus KI-generierten Inhalten
* Eintragsstatus basierend auf Workflow-Bedingungen in großen Mengen aktualisieren
* Generierte oder hochgeladene Bilder als Hero-Assets an Einträge anhängen
* Einträge anhand des Slugs abrufen, um vorhandene Inhalte zu ergänzen oder umzuschreiben
* Content-Pipelines aufbauen, die Einträge als Entwurf erstellen und nach der Prüfung veröffentlichen
* Abgelaufene oder veraltete Einträge und Assets programmgesteuert bereinigen

{% hint style="info" %}
Hinweis: Die Craft-CMS-Integration erfordert ein GraphQL-Token mit entsprechenden Berechtigungen. Stellen Sie sicher, dass Ihr Token Zugriff auf die Bereiche und Volumes gewährt, die Sie verwenden möchten.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.airops.com/docs/de/integrationen/overview/integrations/craft-cms.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
