> 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/entwickler/tools.md).

# Tools

Die Referenz der AirOps-MCP-Servertools: Gib Claude, Cursor und anderen KI-Assistenten programmgesteuerten Zugriff auf AEO-Analysen, Brand Kits, Grids, Knowledge Bases, Playbooks und Workflows in deinem AirOps wo

Der AirOps MCP-Server gibt KI-Assistenten wie Claude und Cursor programmatischen, KI-nativen Zugriff auf deinen AirOps-Workspace. Diese Seite listet die Werkzeuge auf, die er für den Zugriff auf deine Daten und deren Verwaltung bereitstellt, organisiert in mehrere Bereiche: **AEO** (Answer Engine Optimization) für KI-Sichtbarkeitsanalysen, Prompt-Einrichtung und Berichte, **Markenverwaltung** zur Verwaltung von Markenidentität, Schreibstil und visuellen Assets, **Grids** zum programmatischen Lesen, Schreiben und Erstellen von Grid-Daten, **Wissensdatenbanken** für semantische Suche und Dokumentenaufnahme sowie **Playbooks und Workflows** zum Prüfen von Definitionen, Überprüfen von Feedback und Ausführen von Arbeit.

Listen- und Abrufwerkzeuge unterstützen Filterung, Feldauswahl, Sortierung und Paginierung, wo anwendbar. Schreibwerkzeuge dokumentieren ihre erforderlichen Felder in jedem Abschnitt.

## Plan-Zugriff

Ressourcenwerkzeuge erfordern einen kostenpflichtigen Workspace. Testversionen des bezahlten Tarifs bleiben berechtigt. Kostenlose Workspaces können sich verbinden, Werkzeuge entdecken und verwenden `list_workspaces`, aber Anfragen für ihre Daten führen zu einer Planbeschränkung. Wenn du sowohl zu kostenlosen als auch zu kostenpflichtigen Workspaces gehörst, wähle für Ressourcenabfragen und Änderungen einen kostenpflichtigen Workspace.

## Workspace & Brand Kit

### `list_workspaces`

Alle Workspaces auflisten, auf die du Zugriff hast.

**Gibt zurück:** Workspace-ID, Name, Slug und Abonnementstufe.

| Parameter     | Werte             |
| ------------- | ----------------- |
| **Filter**    | name, tier        |
| **Sortieren** | name, created\_at |

***

### `list_brand_kits`

Alle Brand Kits auflisten, auf die du Zugriff hast. Gibt zurück `brand_management_enabled` und `aeo_enabled` Flags für jedes Brand Kit, damit du weißt, welche Funktionen verfügbar sind.

* Verwenden `get_brand_kit` für Brand Kits mit `brand_management_enabled: true`
* Verwenden `get_insights_settings` für Brand Kits mit `aeo_enabled: true`

**Gibt zurück:** Brand-Kit-ID, Name, Beschreibung, URL, Workspace-Name, `brand_management_enabled`und `aeo_enabled`.

| Parameter     | Werte                                                                              |
| ------------- | ---------------------------------------------------------------------------------- |
| **Filter**    | workspace\_name, brand\_name, brand\_url, brand\_management\_enabled, aeo\_enabled |
| **Sortieren** | brand\_name, created\_at                                                           |

***

### `get_brand_kit`

Ein bestimmtes Brand Kit anhand der ID für Markenverwaltung und Inhaltserstellung abrufen. Gibt Markenidentität, Schreibstil und zugehörige Entitäten zurück.

**Erfordert:** `id`

**Gibt zurück:** Markenname, URL, Beschreibung, Schreibpersona, Schreibton, Status und Zeitstempel. Enthält optional zugehörige Entitäten mit verschachtelten Daten.

| Parameter   | Werte                                                                                                                                                                                                                               |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Enthält** | product\_lines, product\_lines.competitors, audiences, audiences.writing\_rules, content\_types, content\_types.content\_samples, content\_types.writing\_rules, regions, regions.writing\_rules, writing\_rules, custom\_variables |

***

### `get_insights_settings`

AEO-Insights-Konfiguration für ein Brand Kit abrufen. Gibt die Informationen zurück, die für die Verwendung beliebiger AEO- und Analysewerkzeuge benötigt werden.

**Erfordert:** `id`

**Gibt zurück:** Brand-Kit-ID, Name, URL, Länder, AEO-Status, Prompt-Anzahl, Kundenbeschreibung, Wettbewerber mit Domain-URLs und Personas.

***

### `update_brand_kit`

Die Basisfelder eines Brand Kits aktualisieren. Es werden nur die angegebenen Felder geändert.

**Erfordert:** `brand_kit_id`

**Änderbare Felder:** `Markenname`, `brand_url`, `brand_about`, `writing_persona`, `writing_tone`

***

### `list_topics`

Für ein Brand Kit konfigurierte Themen auflisten.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** Themen-ID, Name und Farbe.

| Parameter     | Werte             |
| ------------- | ----------------- |
| **Filter**    | Name              |
| **Sortieren** | name, created\_at |

***

### `create_topic`

Ein neues Thema für ein Brand Kit erstellen. Themen gruppieren verfolgte Prompts und Analyseansichten nach Thema.

**Erfordert:** `brand_kit_id`, `Name`

**Optionale Felder:** `color`

***

### `update_topic`

Den Namen oder die Farbe eines Themas aktualisieren. Vorhandene Prompt-Zuordnungen bleiben dem Thema zugeordnet.

**Erfordert:** `brand_kit_id`, `topic_id`

**Felder:** `Name`, `color`

***

### `delete_topic`

Ein Thema aus einem Brand Kit löschen.

**Erfordert:** `brand_kit_id`, `topic_id`

{% hint style="warning" %}
Das Löschen eines Themas kann die Prompt-Organisation und Berichtsansichten beeinflussen. Bestätige das Thema und die Auswirkungen auf nachgelagerte Prozesse, bevor du dieses Werkzeug aufrufst.
{% endhint %}

***

### `list_personas`

Für ein Brand Kit konfigurierte Personas auflisten.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** Persona-ID, Titel und Beschreibung.

| Parameter     | Werte              |
| ------------- | ------------------ |
| **Filter**    | title              |
| **Sortieren** | title, created\_at |

***

### `publish_brand_kit`

Den aktuellen Entwurf eines Brand Kits veröffentlichen, damit Änderungen aktiv werden. Alle Änderungen, die über `update_brand_kit` und `manage_brand_kit_*` werden auf einen Entwurf angewendet. Durch das Veröffentlichen wird der Entwurf aktiviert und daraus ein neuer Entwurf erstellt.

**Erfordert:** `brand_kit_id`

{% hint style="warning" %}
Vor dem Veröffentlichen immer die Bestätigung des Benutzers einholen. Dadurch werden alle ausstehenden Änderungen live geschaltet.
{% endhint %}

***

### `create_brand_kit_recap_entry`

Einen Recap-Eintrag aufzeichnen, der die während einer MCP-Sitzung vorgenommenen Änderungen am Brand Kit zusammenfasst. Verwende dies einmal gegen Ende einer Sitzung, die das Brand Kit geändert hat, mit Belegen wie Quell-URLs, Seitennamen oder kurzen Zitaten in `body_markdown`.

**Erfordert:** `brand_kit_id`, `title`

**Optionale Felder:** `body_markdown`

**Gibt zurück:** Recap-Eintrag-ID, Titel, Quelle und Erfolgsmeldung.

***

## Verwaltung des Brand Kits

Werkzeuge zum Erstellen und Aktualisieren von Brand-Kit-Entitäten. Jedes Werkzeug unterstützt sowohl das Erstellen (weglassen `id`) als auch das Aktualisieren (angeben `id`)-Vorgänge. Beim Aktualisieren werden nur die angegebenen Felder geändert.

{% hint style="info" %}
Änderungen werden in einem **Entwurf**. Verwenden Sie `publish_brand_kit` gespeichert, um sie aktiv zu machen.
{% endhint %}

### `manage_brand_kit_product_line`

Eine Produktlinie für ein Brand Kit erstellen oder aktualisieren.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `URL`, `details`, `positioning`, `ideal_customer_profile`

***

### `manage_brand_kit_competitor`

Einen Wettbewerber für ein Brand Kit erstellen oder aktualisieren. Wettbewerber müssen mit mindestens einer Produktlinie verknüpft sein.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `domain`, `product_line_ids` (mindestens einer erforderlich)

***

### `manage_brand_kit_audience`

Eine Zielgruppe für ein Brand Kit erstellen oder aktualisieren.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `Beschreibung`

***

### `manage_brand_kit_region`

Eine Region für ein Brand Kit erstellen oder aktualisieren.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `Beschreibung`, `icon_name` (Flaggen-Icon, z. B., `flag-us`)

***

### `manage_brand_kit_content_type`

Einen Inhaltstyp für ein Brand Kit erstellen oder aktualisieren. Bei der Erstellung kannst du eine `sample_url` angeben, um den Inhaltstyp zu initialisieren. Das System wird die URL auslesen und KI verwenden, um Felder automatisch zu generieren.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `template_outline`, `cta_text`, `cta_url`, `header_case` (Title Case, Sentence Case, benutzerdefiniert), `header_case_custom_value`, `sample_url` (nur bei Erstellung)

***

### `manage_brand_kit_content_sample`

Ein Inhaltsbeispiel für ein Brand Kit erstellen oder aktualisieren. Bei der Erstellung wird die Beispiel-URL asynchron verarbeitet, um Inhalte zu extrahieren.

**Erfordert:** `brand_kit_id`

**Felder:** `URL` (bei Erstellung erforderlich), `content_type_id` (bei Erstellung erforderlich), `Inhalt` (nur bei Aktualisierung), `audience_ids`, `region_ids`

***

### `manage_brand_kit_writing_rule`

Eine Schreibregel für ein Brand Kit erstellen oder aktualisieren. Regeln können global sein oder auf einen einzelnen Inhaltstyp, eine Zielgruppe oder eine Region beschränkt sein (gegenseitig ausschließend). Die Einschränkung wird nur bei der Erstellung festgelegt.

**Erfordert:** `brand_kit_id`

**Felder:** `Text` (bei Erstellung erforderlich), `content_type_id` (nur bei Erstellung), `audience_id` (nur bei Erstellung), `region_id` (nur bei Erstellung)

***

### `manage_brand_kit_custom_variable`

Eine benutzerdefinierte Variable für ein Brand Kit erstellen oder aktualisieren. Benutzerdefinierte Variablen werden für die meisten Anwendungsfälle nicht empfohlen. Verwende stattdessen Regionen, Zielgruppen, Inhaltstypen oder Schreibregeln.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `value` (bei Erstellung erforderlich)

***

### `create_brand_kit_direct_upload`

Einen Direkt-Upload für visuelle Brand-Kit-Assets wie Logos, visuelle Beispiele und Schriftdateien starten. Das Werkzeug gibt eine vorab signierte Upload-URL, Upload-Header und eine `signed_id` zur Übergabe an das entsprechende Verwaltungswerkzeug für visuelle Assets zurück.

**Erfordert:** `brand_kit_id`, `filename`, `content_type`, `byte_size`, `checksum`

**Gibt zurück:** `signed_id`, `upload_url`und `upload_headers`.

***

### `manage_brand_kit_palette`

Eine Farbpalette für einen Brand-Kit-Entwurf erstellen oder aktualisieren.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich)

***

### `manage_brand_kit_palette_color`

Eine Farbe innerhalb einer Brand-Kit-Palette erstellen oder aktualisieren.

**Erfordert:** `brand_kit_id`

**Felder:** `palette_id` (bei Erstellung erforderlich), `Name` (bei Erstellung erforderlich), `value` (bei Erstellung erforderlich), `usage_instructions`

***

### `manage_brand_kit_logo_variant`

Eine Logo-Variante für einen Brand-Kit-Entwurf erstellen oder aktualisieren. Hänge eine Datei an mit `signed_id` von `create_brand_kit_direct_upload` oder mit einer öffentlichen `file_url`.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `background_color`, `usage_instructions`, `signed_id`, `file_url`

***

### `manage_brand_kit_logo_size`

Empfohlene Logo-Abmessungen und Nutzungsanweisungen erstellen oder aktualisieren.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `width`, `height`, `usage_instructions`

***

### `manage_brand_kit_font`

Eine Brand-Kit-Schriftart erstellen oder aktualisieren. Hänge eine Schriftdatei an mit `signed_id` von `create_brand_kit_direct_upload` oder mit einer öffentlichen `file_url`.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `usage_instructions`, `google_font_link`, `signed_id`, `file_url`

***

### `manage_brand_kit_type_size`

Eine Typografiegröße erstellen oder aktualisieren, die einer Brand-Kit-Schriftart zugeordnet ist.

**Erfordert:** `brand_kit_id`

**Felder:** `font_id`, `Name` (bei Erstellung erforderlich), `weight`, `size`, `line_height`, `usage_instructions`

***

### `manage_brand_kit_usage_rule`

Eine Nutzungsregel für ein Brand Kit erstellen oder aktualisieren. `applies_to` wird bei der Erstellung festgelegt und kann später nicht geändert werden.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `applies_to` (bei Erstellung erforderlich)

***

### `manage_brand_kit_visual_use_case`

Einen visuellen Anwendungsfall erstellen oder aktualisieren, eine benannte Gruppe visueller Beispiele mit gemeinsamen Anweisungen.

**Erfordert:** `brand_kit_id`

**Felder:** `Name` (bei Erstellung erforderlich), `instructions`

***

### `manage_brand_kit_visual_example`

Ein visuelles Beispiel für ein Brand Kit erstellen oder aktualisieren. Visuelle Beispiele müssen einem visuellen Anwendungsfall zugeordnet sein. Hänge ein Bild an mit `signed_id` von `create_brand_kit_direct_upload` oder mit einer öffentlichen `file_url`.

**Erfordert:** `brand_kit_id`

**Felder:** `visual_use_case_id` (bei Erstellung erforderlich), `title` (bei Erstellung erforderlich), `sample_url`, `usage_instructions`, `signed_id`, `file_url`

***

### Einen Brand-Kit-Entwurf bearbeiten <a href="#suggest_brand_kit_edits" id="suggest_brand_kit_edits"></a>

Verwenden `update_brand_kit` für Basisfelder und das passende `manage_brand_kit_*` Werkzeug für zugehörige Entitäten. Fasse die geplanten Änderungen zusammen und hole die Bestätigung des Benutzers ein, bevor du sie anwendest.

Diese Werkzeuge schreiben direkt in den Entwurf. Lies den Entwurf zurück, um das Ergebnis zu überprüfen, und teile dem Benutzer mit, dass die Änderungen noch nicht aktiv sind. Bitte um explizite Bestätigung, bevor du `publish_brand_kit`; das Veröffentlichen ist eine separate Aktion, die alle ausstehenden Änderungen aktiv macht.

Die frühere `suggest_brand_kit_edits` interaktives Überprüfungswerkzeug ist nicht mehr verfügbar.

***

## AEO-Prompts & -Antworten

### `list_aeo_prompts`

Verfolgte KI-Prompts für ein Brand Kit auflisten.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** Prompt-ID, Text, Schlüsselwort, ob die Marke erwähnt wird, Volumen, Themen-ID, Zeitstempel, mention\_rate, citation\_rate und Trends.

| Parameter        | Werte                                                                                      |
| ---------------- | ------------------------------------------------------------------------------------------ |
| **Filter**       | text, strategy, brand\_mentioned, topic\_id, prompt\_volume, mention\_rate, citation\_rate |
| **Sortieren**    | text, created\_at, prompt\_volume, mention\_rate, citation\_rate                           |
| **Enthält**      | topic, tags                                                                                |
| **Datumsfilter** | start\_date, end\_date, providers, countries, personas                                     |

***

### `create_aeo_prompt`

Einen neuen verfolgten AEO-Prompt für ein Brand Kit erstellen. Hintergrundaufträge analysieren den Prompt, extrahieren Schlüsselwörter und berechnen nach der Erstellung Volumenmetriken.

**Erfordert:** `brand_kit_id`, `Text`, `topic_id`

**Optionale Felder:** `Länder`, `persona_ids`, `platforms`

{% hint style="warning" %}
Das Erstellen von Prompts kann das Antwortvolumen beeinflussen. Bestätige den Prompt-Text, das Thema und die Zuordnungen mit dem Benutzer, bevor du dieses Werkzeug aufrufst.
{% endhint %}

***

### `get_prompt_answers`

KI-Antworten für einen bestimmten Prompt abrufen.

**Erfordert:** `prompt_id`

**Gibt zurück:** Antwort-ID, Text (gekürzt), Anbieter, Land, brand\_mentioned, brand\_cited, Zeitstempel und die schreibgeschützten `intent_stage` (`awareness`, `consideration`, `evaluation`, `purchase`, oder `null`).

| Parameter     | Werte               |
| ------------- | ------------------- |
| **Filter**    | countries, personas |
| **Sortieren** | created\_at         |
| **Enthält**   | persona             |

***

### `get_answer`

Eine bestimmte KI-Antwort per ID mit vollem Textinhalt abrufen.

**Erfordert:** `id`

**Gibt zurück:** Vollständiger Antworttext (nicht gekürzt), Anbieter, Land, brand\_mentioned, brand\_cited, schreibgeschützte `intent_stage`, und optional Zitationen, Erwähnungen und Persona-Details.

| Parameter   | Werte                        |
| ----------- | ---------------------------- |
| **Enthält** | citations, mentions, persona |

Verwende dies nach `get_prompt_answers` , um den vollständigen Antworttext mit Zitations-URLs und Positionen abzurufen.

***

### `list_answers`

KI-Antworten über ein Brand Kit hinweg mit Filtern für Datumsbereich, Anbieter, Länder, Personas und andere AEO-Dimensionen auflisten. Verwende dies, wenn du Antworten über viele Prompts hinweg statt Antworten zu einem einzelnen Prompt benötigst.

**Erfordert:** `brand_kit_id`

Jede Antwort enthält die schreibgeschützten `intent_stage`, oder `null` , wenn keine Klassifizierung verfügbar ist.

***

## AEO-Einrichtung und Prompt-Verwaltung

### `create_aeo_persona`

Eine neue AEO-Persona für ein Brand Kit erstellen. Personas repräsentieren die Nutzerperspektiven, die verwendet werden, um KI-Suchanfragen zu simulieren.

**Erfordert:** `brand_kit_id`, `title`, `Beschreibung`

**Optionale Felder:** `add_to_all_prompts`

***

### `add_aeo_region`

Einen ISO-Alpha-2-Ländercode zu den konfigurierten AEO-Regionen eines Brand Kits hinzufügen.

**Erfordert:** `brand_kit_id`, `country_code`

**Optionale Felder:** `add_to_all_prompts`

***

### `list_tags`

Für ein Brand Kit konfigurierte AEO-Tags auflisten.

**Erfordert:** `brand_kit_id`

| Parameter     | Werte             |
| ------------- | ----------------- |
| **Filter**    | Name              |
| **Sortieren** | name, created\_at |

***

### `create_aeo_tag`

Einen neuen AEO-Tag in einem Brand Kit erstellen. Tags sind vom Benutzer definierte Bezeichnungen, die auf Prompts angewendet werden können.

**Erfordert:** `brand_kit_id`, `Name`

**Optionale Felder:** `color`

***

### `update_aeo_tag`

Den Namen oder die Farbe eines AEO-Tags aktualisieren. Vorhandene Prompt-Zuordnungen bleiben erhalten.

**Erfordert:** `brand_kit_id`, `tag_id`

**Felder:** `Name`, `color`

***

### `delete_aeo_tag`

Einen AEO-Tag aus einem Brand Kit löschen und aus jedem Prompt entfernen, der ihn verwendet.

**Erfordert:** `brand_kit_id`, `tag_id`

{% hint style="warning" %}
Diese Aktion löscht den Tag dauerhaft und entfernt seine Prompt-Zuordnungen. Bestätige den Tag und die Auswirkungen, bevor du sie aufrufst.
{% endhint %}

***

### `bulk_update_aeo_prompt_tags`

Ein oder mehrere Tags für eine Gruppe von AEO-Prompts in einer Transaktion hinzufügen oder entfernen.

**Erfordert:** `brand_kit_id`, `prompt_ids`, `operation`, `tag_ids`

**Vorgänge:** `hinzufügen`, `entfernen`

***

### `update_aeo_prompt_assignments`

Entwurfsänderungen für Zuordnungen für einen oder mehrere AEO-Prompts vorbereiten. Zuordnungen umfassen Länder, Personas und Plattformen. Änderungen werden erst live, wenn `commit_aeo_prompt_assignments` ausgeführt wird.

**Erfordert:** `brand_kit_id`, `Prompts`

**Prompt-Felder:** `prompt_id`, `Länder`, `persona_ids`, `platforms`

***

### `get_aeo_prompt_assignments_status`

Den aktuellen Entwurfsstatus der Prompt-Zuordnungen für ein Brand Kit prüfen. Verwende dies, um zu prüfen, ob ein Entwurf existiert, ob er Änderungen enthält und ob das Übertragen das Antwortlimit des Workspaces überschreiten würde.

**Erfordert:** `brand_kit_id`

***

### `commit_aeo_prompt_assignments`

Den aktuellen Entwurf der Prompt-Zuordnungen live übernehmen. Dadurch werden die live-Länder-, Persona- und Plattformzuordnungen durch den Entwurfsstatus ersetzt.

**Erfordert:** `brand_kit_id`

{% hint style="warning" %}
Dies betrifft die live-AEO-Tracking-Zuordnungen. Bestätige dies mit dem Benutzer, bevor du es übernimmst.
{% endhint %}

***

### `discard_aeo_prompt_assignments`

Den aktuellen Entwurf der Prompt-Zuordnungen verwerfen und aus den live-Zuordnungen einen neuen Entwurf erstellen.

**Erfordert:** `brand_kit_id`

{% hint style="warning" %}
Dadurch werden alle ausstehenden Zuordnungsänderungen im gemeinsamen Entwurf verworfen, einschließlich nicht gespeicherter UI-Änderungen. Bestätige dies mit dem Benutzer, bevor du es aufrufst.
{% endhint %}

***

## Zitationen & Domains

Verwenden `prompt_type` mit Operator `EQUALS` und Wert `brand` oder `category` , um danach zu filtern, ob der Prompt deine Marke nennt. Verwende `brand_mentioned` mit Operator `EQ` und Wert `true` oder `false` , um danach zu filtern, ob die zitierende Seite deine Marke erwähnt.

Die älteren `brand_mentioned EQUALS brand/category` und `brand_referenced EQ true/false` Filter werden weiterhin als Kompatibilitätsaliase akzeptiert. Bevorzuge die obigen expliziten Namen; sie haben Vorrang, wenn sowohl alte als auch neue Filter angegeben werden. Der `brand_mentioned` Filter auf `list_aeo_prompts` bezieht sich weiterhin auf den Prompt-Text.

### `list_aeo_citations`

Zitationen (URLs) mit Kennzahlen für ein Brand Kit auflisten. Zeigt einzelne URLs, die in KI-Antworten zitiert werden.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** URL, Domainname, Domainkategorie, Zitationsanzahl, Zitationsanteil, Zitationsrate, Einflusswert, Seitentyp, Markenstimmung, Trends und Social-Metadaten, sofern verfügbar.

Die `Social` Das Objekt identifiziert die Plattform und enthält `Inhalt` und `Konto` Hüllen mit Metadaten, Kennzahlen und Synchronisierungsstatus. Es ist `null` wenn kein unterstützter Social-Datensatz vorhanden ist. Das Konto kann `null` sein, wenn Inhalte ohne zugehöriges Konto existieren. Ausstehende oder fehlgeschlagene Erfassung kann Metadaten unvollständig lassen.

YouTube-Inhaltsmetadaten umfassen `duration_seconds`, `format`und `sponsorship_status`. Die Dauer kann `null`; Format und Sponsoring-Status verwenden `unknown` , wenn nicht verfügbar.

| Parameter        | Werte                                                                                                                                 |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Filter**       | domain\_category, domain\_id, topic\_id, prompt\_type, brand\_mentioned, page\_type, brand\_sentiment, mentioned\_competitor\_domains |
| **Sortieren**    | citation\_count, citation\_share, citation\_rate, influence\_score                                                                    |
| **Datumsfilter** | start\_date, end\_date, providers, countries, personas                                                                                |

**Domainkategorien:** Eigene, Wettbewerber, Social, Communities, Bewertungen, Medien, Bildung, Marktplätze, Produkte, Affiliates, Sonstige

***

### `get_aeo_citation`

Details und Prompts abrufen, die eine bestimmte URL zitieren.

**Erfordert:** `brand_kit_id`, `id` (die Zitations-/URL-ID)

**Gibt zurück:** URL-Details, Zitationskennzahlen, Aufschlüsselung des Einflusswerts, Seitentyp, Markenstimmung, erwähnte Wettbewerber und dieselbe `Social` Hülle zurückgegeben von `list_aeo_citations`.

***

### `list_aeo_domains`

In KI-Antworten zitierte Domains für ein Brand Kit auflisten. Nach Domain aggregiert mit Zitationskennzahlen.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** Domain-ID, Name, Kategorie, Logo-URL, Zitationsanzahl, URL-Anzahl, Zitationsanteil, Zitationsrate und Trends.

| Parameter        | Werte                                                                                     |
| ---------------- | ----------------------------------------------------------------------------------------- |
| **Filter**       | domain\_category, topic\_id, prompt\_type, brand\_mentioned, page\_type, brand\_sentiment |
| **Sortieren**    | citation\_count, citation\_share, citation\_rate                                          |
| **Datumsfilter** | start\_date, end\_date, providers, countries, personas                                    |

***

## Beobachtete AEO-Anzeigen & Werbetreibende

Anzeigen, die AirOps in ChatGPT- und Google-AI-Mode-Antworten für deine verfolgten Prompts beobachtet. Diese Werkzeuge fragen beobachtete Anzeigendaten ab, die von [Anzeigen](/docs/de/insights/ads.md), einschließlich **Anzeigenbibliothek**, daher ist keine Verbindung zu einem ChatGPT-Ads-Konto erforderlich.

{% hint style="info" %}
Die Abdeckung ist auf Anzeigen beschränkt, die AirOps in seiner eigenen Antwortsammlung gesehen hat. Diese Zahlen beschreiben weder die vollständige Marktabdeckung noch die Zielabsicht, Auslieferung von Impressionen oder Werbeausgaben.
{% endhint %}

### `list_aeo_ads`

Beobachtete Anzeigen in ChatGPT- und Google-AI-Mode-Antworten für ein Brand Kit auflisten. Jede Zeile repräsentiert eine Plattform und ein beobachtetes Creative-Paar. Dasselbe Creative auf zwei Plattformen erzeugt zwei Zeilen, jeweils mit eigenen Aktivitätszählern.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** Anbieter, beobachtete Creative-ID, beobachtete Familien-ID, Werbetreibendername, Domain, Typ und Logo, Anzeigentitel und -text, Erscheinungen, Antworten, Prompts, Häufigkeit, first\_seen, last\_seen und days\_active.

| Parameter        | Werte                                                        |
| ---------------- | ------------------------------------------------------------ |
| **Filter**       | topic\_id, prompt\_id, prompt\_type                          |
| **Datumsfilter** | start\_date, end\_date, providers, countries, personas, tags |

**Werbetreibendertypen:** eigene, Wettbewerber, sonstige

`list_aeo_ads` enthält standardmäßig beide unterstützten Anbieter. Übergebe `providers: ["chat_gpt"]` oder `providers: ["google_ai_mode"]` , um den Umfang einzugrenzen. Verwende `prompt_type EQUALS brand/category` für die Prompt-Klassifizierung; der frühere `brand_mentioned` Prompttyp-Filter bleibt ein Kompatibilitätsalias.

***

### `get_aeo_ad`

Eine beobachtete Anzeige abrufen, einschließlich ihres Creative-Bildes und der Ziel-URL.

**Erfordert:** `brand_kit_id`, `id` (die `observed_creative_id` zurückgegeben von `list_aeo_ads`)

**Gibt zurück:** Anbieter, beobachtete Creative-ID, beobachtete Familien-ID, Werbetreibendername, Domain, Typ und Logo, Anzeigentitel, Text, image\_url, target\_url, first\_seen, last\_seen und days\_active.

Übergib den Anbieter der Zeile als ein einzelnes Element `Anbieter` Array zusammen mit seiner Creative-ID, zum Beispiel `providers: ["google_ai_mode"]`. Detailanfragen verwenden standardmäßig ChatGPT, wenn kein Anbieter angegeben ist, und erfordern einen einzelnen Anbieter, wenn einer angegeben wird.

Die von ... gemeldeten Fensterkennzahlen `list_aeo_ads` (Aufrufe, Antworten, Prompts, Häufigkeit) werden hier nicht zurückgegeben.

***

### `list_aeo_advertisers`

Werbetreibende auflisten, die in ChatGPT- und Google AI Mode-Antworten für ein Brand Kit beobachtet wurden. Jede beobachtete Anzeige wird dem Werbetreibenden zugeordnet, der sie geschaltet hat, identifiziert durch die kanonische Domain.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** Werbetreibenden-ID, Name, Domain, Typ, Logo-URL, Anzahl eindeutiger Anzeigen, Aufrufe, Antworten, Prompts, first\_seen und last\_seen.

| Parameter        | Werte                                                                                             |
| ---------------- | ------------------------------------------------------------------------------------------------- |
| **Filter**       | topic\_id, prompt\_id, prompt\_type                                                               |
| **Sortieren**    | advertiser\_name, advertiser\_domain, ads, appearances, answers, prompts, first\_seen, last\_seen |
| **Datumsfilter** | start\_date, end\_date, providers, countries, personas, tags                                      |

Die Ergebnisse werden nach der Anzahl eindeutiger Anzeigen sortiert, die produktivsten zuerst, sofern Sie nicht **Sortieren**. Verwenden Sie `list_aeo_ads` für die einzelnen Anzeigen hinter den Zählwerten jedes Werbetreibenden.

***

## Playbooks und Feedback

Lesen Sie Playbook-Definitionen, prüfen Sie Session-Ausgaben und Prüferkommentare und führen oder veröffentlichen Sie Playbooks mit Ihren vorhandenen Workspace-Berechtigungen. Für das Veröffentlichen und Ausführen ist eine Benutzer-OAuth-Authentifizierung erforderlich. Ausführungen können Workspace-Guthaben verbrauchen und die im Playbook konfigurierten Aktionen ausführen.

### `list_playbooks`

Bearbeitbare Playbooks auflisten, einschließlich Metadaten zu Entwurf und aktiver Version.

**Erfordert:** `workspace_id`

**Optional:** `search` (title), `page` (Standard 1), `per_page` (Standard 20, Maximum 50).

### `get_playbook`

Lesen Sie die Konfiguration und Definition eines Playbooks als Markdown. Integrationsverweise legen keine Anmeldedaten offen.

**Erfordert:** `playbook_id`

**Optional:** `version_number`. Lassen Sie es weg, um den aktuellen Entwurf zu lesen (**Latest**); geben Sie eine Nummer an, um eine unveränderliche veröffentlichte Version zu lesen.

### `list_playbook_sessions`

Sessions in umgekehrt chronologischer Reihenfolge auflisten.

**Erfordert:** `workspace_id`

**Optional:** `playbook_id`, `Status`, `search` (Session- oder Erstellername), `page` (Standard 1), `per_page` (Standard 20, Maximum 50). Archivierte Sessions verwenden den öffentlichen Status `archived`.

### `get_playbook_session`

Session-Metadaten und eine Seite mit Ereignissen prüfen, einschließlich Text, Tool-Ergebnissen, Artefakten und Abschlussstatus.

**Erfordert:** `session_id`

**Optional:** `after_id` (event cursor), `limit` (Standard 20, Maximum 50).

Übergeben Sie das zurückgegebene `next_after_id` als `after_id` um fortzufahren, bis es `null`. Textvorschauen sind auf 2.000 Zeichen begrenzt; `content_truncated: true` zeigt an, dass weiterer Text vorhanden ist. Verwenden Sie `read_playbook_output` für die vollständige Ausgabe.

### `read_playbook_output`

Lesen Sie eine Textausgabe in zeichenbasierten Seiten. Kollaborative Textartefakte spiegeln den aktuellen Editorinhalt wider, einschließlich nach dem Lauf vorgenommener Bearbeitungen. Binäre Artefakte werden nicht unterstützt.

**Erfordert:** `session_id` und genau eines von `event_id` oder `artifact_path`. Artefaktpfade müssen eine Datei unter `artifacts/external/`.

**Optional:** `offset` (Standard 0), `max_chars` (Standard 20.000, Maximum 200.000).

**Gibt zurück:** `Inhalt`, `offset`, `total_chars`und `next_offset`. Übergeben Sie `next_offset` zurück als `offset` bis es `null`.

### `list_artifact_comments`

Lesen Sie Prüferkommentare mit Autor, Zeitstempeln, Auflösungsstatus und verfügbarem Anker- oder Kontext des umliegenden Textes.

**Erfordert:** `session_id`

**Optional:** `artifact_path` um die Ergebnisse auf ein Artefakt zu beschränken.

Verwenden Sie die Kommentare zusammen mit `read_playbook_output` um Feedback im Kontext zu prüfen. Vorschläge mit nachverfolgten Änderungen werden separat gezählt in `suggestions_count`; sie sind keine Kommentar-Threads. Dieses Tool liest Feedback, ohne es zu ändern.

### `publish_playbook`

Veröffentlichen Sie den aktuellen Entwurf als neue aktive Version.

**Erfordert:** `playbook_id` und Benutzer-OAuth-Authentifizierung.

**Optional:** `notes` für die veröffentlichte Version.

**Gibt zurück:** Die ID der aktiven Version und die Versionsmetadaten. Bestätigen Sie den Entwurf und die Absicht zur Veröffentlichung, bevor Sie dieses Tool aufrufen; durch die Veröffentlichung wird der ausstehende Entwurf aktiv.

### `run_playbook`

Starten Sie eine asynchrone Session. Jeder Aufruf startet einen neuen Lauf.

**Erfordert:** `playbook_id` und Benutzer-OAuth-Authentifizierung.

**Optional:** `inputs` nach Eingabenamen geordnet, `Meldung`und `version_number`.

Standardmäßig wird damit der aktuelle Entwurf ausgeführt (**Latest**). Übergeben Sie `version_number` um eine bestimmte veröffentlichte Version auszuführen. Das Ausführen eines Entwurfs veröffentlicht ihn nicht. Bestätigen Sie vor dem Start die beabsichtigte Version, die Eingaben und die Ausführung.

**Gibt zurück:** `session_id`, `session_uuid`, Status und Versionsinformationen. Fragen Sie `get_playbook_session`, und lesen Sie dann bei Bedarf Ausgaben und Kommentare.

## Workflows

Ausführbare Workflows auflisten und Läufe mit Ihren Workspace-Berechtigungen starten oder prüfen. Läufe können Guthaben verbrauchen und die konfigurierten Aktionen des Workflows ausführen.

### `list_workflows`

Veröffentlichte Workflows auflisten, die Sie ausführen können. Nur-Entwurf-, gelöschte, Agent- und Legacy-Ressourcen sind ausgeschlossen.

**Erfordert:** `workspace_id`

**Optional:** `search`, `page` (Standard 1), `per_page` (Standard 20, Maximum 50).

### `run_workflow`

Starten Sie eine asynchrone Ausführung. Jeder Aufruf startet einen neuen Lauf.

**Erfordert:** `workflow_id`

**Optional:** `inputs` nach Eingabename und `version_number`.

Standardmäßig wird die aktive veröffentlichte Version verwendet. Übergeben Sie `version_number` um eine andere veröffentlichte Version auszuwählen. Bestätigen Sie vor dem Start den beabsichtigten Workflow, die Eingaben und die Ausführung.

**Gibt zurück:** `execution_id`, Status und Workflow-/Versionsinformationen.

### `get_workflow_execution`

Prüfen Sie den Status, die Ausgabe oder den Fehler eines Laufs.

**Erfordert:** `execution_id` zurückgegeben von `run_workflow`.

Fragen Sie dieses Tool wiederholt ab, um den Lauf durch Zustände wie `ausstehend`, `running`, `review_needed`, `success`, `Fehler`, oder `cancelled`. Eine zurückgegebene Ausführungs-ID bedeutet, dass der Lauf gestartet wurde; prüfen Sie den Status, bevor Sie die Ausgabe als vollständig betrachten.

## Beispiel: einen Playbook-Lauf überprüfen

1. Finden Sie das Playbook mit `list_playbooks` und prüfen Sie seine Definition mit `get_playbook`.
2. Finden Sie eine Session mit `list_playbook_sessions`, und lesen Sie dann seine Ereignisse mit `get_playbook_session`.
3. Lesen Sie den vollständigen Text mit `read_playbook_output` und Prüferfeedback mit `list_artifact_comments`.
4. Fassen Sie die Ausgabe und das ungelöste Feedback für den Prüfer zusammen.

## Page Analytics

### `list_pages`

Seiten mit AEO-, Google-Search-Console- und GA4-Kennzahlen auflisten.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** Für jede Seite: URL, Ordnerpfad, primäres Keyword und Kennzahlen:

* **AEO:** citations\_count, citation\_rate, prompts\_count und Trends
* **GSC:** Klicks, Impressionen, CTR, Position und Trends
* **GA4:** Traffic, Sitzungen, Engagement, durchschnittliches Sitzungs-Engagement und Trends
* **Agent Analytics:** `user_browse` (Besuche durch KI-Agenten), `ai_training` (Training Crawls) und `ai_search` (Websuche-Crawls)

Agent Analytics muss zuerst verbunden werden. Seine drei Zählwerte unterstützen das Filtern und Sortieren für die ausgewählten Daten, ohne Änderungsvarianten. Verwenden Sie `list_aeo_agent_analytics` für Total Crawls und tägliche Aufschlüsselungen.

| Parameter        | Werte                                                                                                  |
| ---------------- | ------------------------------------------------------------------------------------------------------ |
| **Filter**       | Beliebiges Kennzahlenfeld, url, folder\_name, primary\_keyword, session\_source, session\_medium       |
| **Sortieren**    | Alle Kennzahlenfelder, url, folder\_name                                                               |
| **Smart-Filter** | almost\_page\_one, losing\_clicks, rankings\_slipping, losing\_ai\_visibility, citation\_rate\_decline |

**Smart-Filter** (statt manueller Filterung verwenden):

| Filter                  | Beschreibung                                       |
| ----------------------- | -------------------------------------------------- |
| `almost_page_one`       | Seiten mit Ranking #11-20 (Quick Wins für Seite 1) |
| `losing_clicks`         | Abnehmende Klicks bei stabiler Position            |
| `rankings_slipping`     | Im Laufe der Zeit abnehmende Position              |
| `losing_ai_visibility`  | AEO-Zitationen verlieren                           |
| `citation_rate_decline` | KI-Autorität verlieren bei stabilem SEO            |

***

### `create_page`

Fügen Sie eine Seite zu den AEO-Seiten eines Brand Kits hinzu. AirOps normalisiert die URL, prüft, ob sie zur konfigurierten AEO-Domain des Brand Kits gehört, und verlangt, dass sie innerhalb dieses Brand Kits eindeutig ist.

**Erfordert:** `brand_kit_id`, `URL`

**Gibt zurück:** Seiten-ID, Brand-Kit-ID, AEO-Domain-ID, normalisierte URL, verfolgter Status, Erstellungszeitstempel und eine Bestätigungsnachricht.

Bestätigen Sie die URL und das Brand Kit vor dem Erstellen der Seite mit dem Benutzer. Prüfen Sie das Ergebnis mit `list_pages` gefiltert nach URL. Dadurch wird die Seite zu AirOps hinzugefügt; Inhalte werden nicht in ein CMS veröffentlicht.

***

### `get_page_details`

Detaillierte Kennzahlen für eine bestimmte Seite abrufen.

**Erfordert:** `id`

**Gibt zurück:** URL, Ordner, primäres Keyword, Zitationsanteil, Zitationsrate, Anzahl eindeutiger zitierter Fragen, GSC-Kennzahlen (Klicks, Impressionen, Position, CTR) und alle Trends.

| Parameter         | Werte                  |
| ----------------- | ---------------------- |
| **Datumsbereich** | start\_date, end\_date |

***

### `get_page_prompts`

KI-Prompts abrufen, die auf eine bestimmte Seite verweisen.

**Erfordert:** `brand_kit_id`, `web_page_id`

**Gibt zurück:** Prompt-ID, Text, Keyword, topic\_id, Volumen, Gesamtzahl der Antworten, Antworten mit Zitationen, Zitationsrate, Erwähnungsrate und Trends.

| Parameter         | Werte                                  |
| ----------------- | -------------------------------------- |
| **Filter**        | Anbieter, Länder, Personas, topic\_ids |
| **Enthält**       | topic                                  |
| **Datumsbereich** | start\_date, end\_date                 |

***

## Agent Analytics

### `list_aeo_agent_analytics`

Tägliche Bot-Anfragen an die verfolgten Seiten des Brand Kits auflisten. [Connect Agent Analytics](/docs/de/insights/onsite/traffic.md) bevor Sie diese Daten abfragen.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** Zeilen mit `date`, `platform`, `crawl_type`und `count`. Die Crawl-Typen sind `ai_search`, `ai_training`, `user_browse`und `andere`. Zeilen ohne Anfragen werden ausgelassen.

| Parameter         | Werte                                                                       |
| ----------------- | --------------------------------------------------------------------------- |
| **Datumsbereich** | `start_date`, `end_date`                                                    |
| **Filter**        | `platform`, `crawl_type`, oder ein einzelner `web_page_id` von `list_pages` |
| **Sortieren**     | `date` (Standard), `count`, oder `-count`                                   |
| **Paginierung**   | `page`, `per_page` (standardmäßig 25, maximal 100)                          |

Lesen Sie jede Seite, bevor Sie die Zählwerte addieren. Die Agent Analytics **Gesamt-Crawls** Zusammenfassung zählt Such- und Trainings-Crawls für verfolgte KI-Engines. Die **Seiten** Spalte Total Crawls der Tabelle zählt jede Plattform und jeden Crawl-Typ für diese Seite. Verwenden Sie den [API-Berechnungsleitfaden](/docs/de/entwickler/api.md#agent-analytics) für das exakte Engine-Set, Diagramm-Rezepte und das Verhalten an Datumsgrenzen.

## Analysen

### `query_analytics`

Analysen mit flexiblen Kennzahlen, Dimensionen und Filtern abfragen. BI-ähnliche Oberfläche für benutzerdefinierte Analysen.

**Erfordert:** `brand_kit_id`, `metrics`

**Gibt zurück:** Abfrageergebnisse mit den angeforderten Kennzahlen, nach Dimensionen gruppiert, plus Metadaten.

**Metriken:**

| Metrik               | Beschreibung                                           |
| -------------------- | ------------------------------------------------------ |
| `mention_rate`       | % der Antworten, die die Marke erwähnen (0-100)        |
| `share_of_voice`     | Markenerwähnungen vs. Wettbewerber (0-100)             |
| `citation_rate`      | % der Antworten, die die Markendomain zitieren (0-100) |
| `citation_share`     | Markenzitate vs. alle Zitate (0-100)                   |
| `citation_count`     | Absolute Zitationsanzahl                               |
| `sentiment_score`    | Durchschnittliches Sentiment (0-100)                   |
| `average_position`   | Durchschnittliches Ranking in Antwortlisten            |
| `answer_count`       | Insgesamt analysierte Antworten                        |
| `first_mention_rate` | %, in denen die Marke zuerst erwähnt wird (0-100)      |

**Dimensionen** (max. 3):

| Dimension         | Beschreibung                       |
| ----------------- | ---------------------------------- |
| `date`            | Nach Zeitraum gruppieren           |
| `Anbieter`        | Nach KI-Anbieter gruppieren        |
| `topic`           | Nach verfolgbarem Thema gruppieren |
| `Wettbewerber`    | Nach Wettbewerber gruppieren       |
| `country`         | Nach Region/Land gruppieren        |
| `persona`         | Nach Kunden-Persona gruppieren     |
| `domain`          | Nach zitierter Domain gruppieren   |
| `domain_category` | Nach Zitierquellentyp gruppieren   |

| Parameter         | Werte                                                            |
| ----------------- | ---------------------------------------------------------------- |
| **grain**         | täglich, wöchentlich, monatlich, insgesamt (Standard: insgesamt) |
| **Datumsbereich** | start\_date, end\_date (Standard: letzte 7 Tage)                 |
| **Filter**        | Anbieter, Themen, Länder, Personas, brand\_mentioned             |
| **Limit**         | max. Zeilen (Standard 100, max. 1000)                            |
| **order\_by**     | benutzerdefinierte Sortierung (z. B. "citation\_count DESC")     |

***

### `get_sentiment_theme_answers`

Antworten hinter einem Sentiment-Thema abrufen, damit Sie Quellantworttext und Beispiele für dieses Thema prüfen können.

**Erfordert:** `brand_kit_id`, `sentiment_theme_id`

**Optionale Felder:** `start_date`, `end_date`, `Anbieter`, `Länder`, `topic_ids`, `persona_ids`, `page`, `per_page`

***

### `analytics_chart`

{% hint style="info" %}
**Interaktive App:** Dieses Tool rendert ein Diagramm in der Unterhaltung. Verfügbar in **Codex über das AirOps-Plugin, Claude Web und Claude Desktop**.
{% endhint %}

Analysen abfragen und als interaktives Diagramm anzeigen. Gibt Daten mit einem UI-Verweis zur Visualisierung zurück.

**Erfordert:** `brand_kit_id`, `metrics`

**Gibt zurück:** Diagrammdaten mit interaktiver Visualisierung, die in der Unterhaltung gerendert wird.

| Parameter         | Werte                                                             |
| ----------------- | ----------------------------------------------------------------- |
| **chart\_type**   | Linie, Balken, Kreis, Fläche (Standard: Linie)                    |
| **metrics**       | Wie query\_analytics                                              |
| **dimensions**    | Wie query\_analytics (max. 2 für Liniendiagramme mit Gruppierung) |
| **grain**         | täglich, wöchentlich, monatlich, insgesamt                        |
| **Datumsbereich** | start\_date, end\_date                                            |
| **Filter**        | Anbieter, Themen, Länder, Personas, brand\_mentioned              |
| **title**         | Optionaler Diagrammtitel                                          |

**Einschränkungen:**

* Nur Kennzahlen mit derselben Skala können gemeinsam dargestellt werden (Prozentsatz, Anzahl oder Position)
* Flächen- und Balkendiagramme unterstützen einzelne Kennzahlen mit einzelnen Dimensionen
* Liniendiagramme unterstützen bis zu 2 Dimensionen, aber bei Verwendung von 2 nur eine einzelne Kennzahl

***

## Reports

### `list_reports`

Gespeicherte Analyseberichte auflisten.

**Erfordert:** `brand_kit_id`

**Gibt zurück:** Berichts-ID, Name, created\_at, updated\_at.

| Parameter     | Werte                          |
| ------------- | ------------------------------ |
| **Filter**    | Name                           |
| **Sortieren** | name, created\_at, updated\_at |
| **Enthält**   | modules                        |

***

### `get_report`

Einen bestimmten Bericht anhand der ID abrufen.

**Erfordert:** `brand_kit_id`, `id`

**Gibt zurück:** Berichts-ID, Name, Zeitstempel. Mit `includes: ['modules']`, werden vollständige Modulkonfigurationen zurückgegeben.

***

## Grids

Tools zum programmgesteuerten Lesen, Schreiben, Erstellen und Ausführen von AirOps Grids. Verwenden Sie diese, um Daten zu befüllen, Spalten zu verwalten, Workflow-Läufe auszulösen und Ergebnisse abzurufen.

### `create_grid`

Erstellen Sie ein neues leeres, allgemeines Grid mit einem leeren Blatt. Verwenden Sie `add_grid_column` um Spalten hinzuzufügen, und `write_grid` um Zeilen hinzuzufügen.

**Erfordert:** `Name`

**Optionale Felder:** `workspace_id`

***

### `create_grid_sheet`

Erstellen Sie ein neues Blatt innerhalb eines bestehenden Grids.

**Erfordert:** `grid_id`, `Name`

***

### `list_grids`

Grids auflisten, auf die der authentifizierte Benutzer Zugriff hat. Verwenden Sie `includes: ["grid_tables.grid_columns"]` um die Tabellen- und Spaltenstruktur zu erhalten, die für andere Grid-Tools benötigt wird.

**Gibt zurück:** Grid-ID, Name, Workspace-ID und optional Tabellen- und Spaltendetails (ID, Titel, Datentyp, Position).

| Parameter     | Werte                          |
| ------------- | ------------------------------ |
| **Filter**    | name, workspace\_id            |
| **Sortieren** | name, updated\_at, created\_at |
| **Enthält**   | grid\_tables.grid\_columns     |

***

### `read_grid`

Zeilen aus einer Grid-Tabelle lesen. Gibt Zeilen als Objekte mit Spaltentiteln als Schlüsseln zurück.

**Erfordert:** `grid_id`, `grid_table_id`

**Gibt zurück:** Grid-Metadaten, Spalten (mit Schreibbarkeit-Flag) und Zeilendaten mit Paginierungsinformationen.

Playbook-Spalten enthalten außerdem `playbook_id` und `artifacts`, wobei jedes Artefakt `Name` und `artifact_type`. Verwenden Sie diese Namen, wenn Sie die Ausgabe einer Playbook-Spalte auf eine andere Ausführungsspalte abbilden.

| Parameter             | Gib     | Standard | Beschreibung                                                    |
| --------------------- | ------- | -------- | --------------------------------------------------------------- |
| `filters`             | array   | none     | Nach Spaltenwerten filtern                                      |
| `filters[].column_id` | integer | none     | Zu filternde Spalten-ID                                         |
| `filters[].operator`  | string  | none     | CONTAINS, NOT\_CONTAINS, EMPTY, NOT\_EMPTY, =, !=, >=, <=, >, < |
| `filters[].value`     | string  | none     | Filterwert (für EMPTY/NOT\_EMPTY nicht erforderlich)            |
| `column_ids`          | array   | all      | In den Ergebnissen zu berücksichtigende Spalten-IDs             |
| `limit`               | integer | 50       | Zeilen pro Seite (1–100)                                        |
| `offset`              | integer | 0        | Zeilenversatz für die Paginierung                               |
| `truncate`            | integer | 0        | Maximale Zeichen pro Zelle (0 = keine Kürzung)                  |

***

### `read_grid_cell`

Lesen Sie den vollständigen Wert einer einzelnen Grid-Zelle. Verwenden Sie dies, wenn `read_grid` eine lange Zelle kürzt, z. B. einen vollständigen Artikel, ein Briefing, ein JSON-Payload oder ein HTML-Feld.

**Erfordert:** `grid_id`, `grid_table_id`, `row_id`, `column_id`

**Gibt zurück:** Spaltentitel, vollständiger Wert und Werttyp.

***

### `write_grid`

Zeilen in einer Grid-Tabelle erstellen oder aktualisieren. Maximal 1000 Zeilen pro Aufruf.

**Erfordert:** `grid_id`, `grid_table_id`, `mode`, `rows`

| Parameter | Gib    | Beschreibung                                                                                             |
| --------- | ------ | -------------------------------------------------------------------------------------------------------- |
| `mode`    | string | `create` um neue Zeilen hinzuzufügen, `update` um vorhandene Zeilen zu ändern                            |
| `rows`    | array  | Zeilenobjekte mit Spaltentiteln als Schlüsseln. Für `update` mode, einschließen `__id` mit der Zeilen-ID |

**Gibt zurück:** `rows_created` (Erstellungsmodus) oder `rows_updated` und `cells_updated` (Aktualisierungsmodus).

{% hint style="info" %}
Werte können Zeichenketten, Zahlen, Boolesche Werte, Arrays oder Objekte sein. Arrays und Objekte werden als JSON gespeichert. Spaltentitel müssen exakt mit den vorhandenen Grid-Spalten übereinstimmen. Verwenden Sie `add_grid_column` zuerst, um neue Spalten zu erstellen.
{% endhint %}

***

### `run_grid_rows`

Die Ausführung einer oder mehrerer Grid-Zeilen auslösen. Dadurch werden für jede angegebene Zeile alle Workflow-(App-Ausführungs-)Spalten in Abhängigkeitsreihenfolge ausgeführt. Die Ausführung ist asynchron — dieses Tool gibt sofort mit Ausführungsmetadaten zurück.

**Erfordert:** `grid_id`, `grid_table_id`, `grid_row_ids`

| Parameter      | Gib   | Beschreibung                                 |
| -------------- | ----- | -------------------------------------------- |
| `grid_row_ids` | array | IDs der auszuführenden Grid-Zeilen (max. 50) |

**Gibt zurück:** Ausführungsmetadaten, einschließlich der Zeilen-Ausführungs-IDs, mit denen abgefragt werden kann `get_grid_row_execution_status`.

{% hint style="info" %}
Maximal 50 Zeilen pro Aufruf. Verwenden Sie `get_grid_row_execution_status` um Fortschritt und Abschluss zu prüfen.
{% endhint %}

***

### `get_grid_row_execution_status`

Prüfen Sie den Status von Grid-Zeilenausführungen. Verwenden Sie dies nach `run_grid_rows` um auf den Abschluss abzufragen.

**Erfordert:** `grid_id`, `row_execution_ids`

| Parameter           | Gib   | Beschreibung                                      |
| ------------------- | ----- | ------------------------------------------------- |
| `row_execution_ids` | array | IDs der zu prüfenden Zeilenausführungen (max. 50) |

**Gibt zurück:** Gesamtstatus und Spaltendetails für jede Ausführung.

***

### `add_grid_column`

Fügen Sie einer Grid-Tabelle eine neue Spalte hinzu. Verwenden Sie dies vor `write_grid` wenn Sie in eine Spalte schreiben müssen, die noch nicht existiert.

**Erfordert:** `grid_id`, `grid_table_id`, `title`, `data_type`

| Parameter   | Gib     | Beschreibung                                                                                                  |
| ----------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| `title`     | string  | Spaltentitel                                                                                                  |
| `data_type` | string  | text, number, datetime, markdown, url, html, image\_from\_url, json, single\_select, playbook, app\_execution |
| `position`  | integer | Optionale Spaltenposition (wird am Ende angehängt, falls weggelassen)                                         |

**Gibt zurück:** ID, Titel, Datentyp und Position der erstellten Spalte.

Für eine Playbook-Spalte verwenden Sie `data_type: "playbook"` und geben Sie `playbook_id`. Für eine Workflow-Spalte verwenden Sie `data_type: "app_execution"` und geben Sie `workflow_id`. Konfigurieren Sie `inputs` nach Eingabename. Jede Zuordnung erfordert `Typ` und `value`.

Beim Zuordnen aus einer Playbook-Spalte, `value` ist die Quellspalten-ID im selben Blatt, und `artifact_name` ist der genaue Artefaktname:

```json
{
  "article": {
    "type": "column",
    "value": 123,
    "artifact_name": "Final Article"
  }
}
```

Dieses Beispiel ist ein `inputs` Objekt. Kopieren Sie den Artefaktnamen von `read_grid`, oder aus den `artifacts` Metadaten, die zurückgegeben werden, wenn `add_grid_column` die Quell-Playbook-Spalte erstellt.

***

### `update_grid_column`

Aktualisieren Sie den Titel, Datentyp oder die Playbook-/Workflow-Eingabezuordnungen einer Grid-Spalte.

**Erfordert:** `grid_id`, `grid_table_id`, `grid_column_id`, und mindestens eines von `title`, `data_type`, oder `inputs`

**Gibt zurück:** Grid- und Blatt-IDs sowie die ID, der Titel, der Datentyp und die Position der aktualisierten Spalte. Playbook- und Workflow-Spalten enthalten außerdem ihre Konfigurationsdetails.

Beim Übergeben `inputs` ersetzt die gesamte Eingabezuordnung. Schließen Sie jede Eingabe ein, die Sie beibehalten möchten. Das Tool kann eine Spalte nicht neu positionieren oder ändern, welches Playbook oder welcher Workflow ausgeführt wird.

***

### `delete_grid_column`

Löschen Sie eine Grid-Spalte und ihre abhängigen Workflow-Ausgabe- oder Playbook-Artefaktspalten.

**Erfordert:** `grid_id`, `grid_table_id`, `grid_column_id`

**Gibt zurück:** `grid_id`, `grid_table_id`und `deleted_column_ids` für alle betroffenen Spalten.

{% hint style="warning" %}
Überprüfen Sie abhängige Spalten vor dem Löschen. Das Löschen ist blockiert, solange Zeilenausführungen für das Blatt laufen.
{% endhint %}

***

### Beispiel: Grid-Daten-Workflow

Ein typischer programmgesteuerter Workflow mit Grid-Tools:

1. **Ermitteln:** Aufrufen `list_grids` mit Includes, um das Grid und seine Spaltenstruktur zu finden
2. **Vorbereiten:** Aufrufen `add_grid_column` um fehlende Spalten zu erstellen
3. **Befüllen:** Aufrufen `write_grid` mit Modus `create` um Zeilen hinzuzufügen
4. **Ausführen:** Aufrufen `run_grid_rows` um die Workflow-Spalten der Zeile auszulösen, dann abzufragen `get_grid_row_execution_status` bis zum Abschluss
5. **Abrufen:** Aufrufen `read_grid` um die Ergebnisse abzurufen
6. **Aktualisieren:** Optional aufrufen `write_grid` mit Modus `update` um Daten zurückzuschreiben

***

## Wissensdatenbanken

### `list_knowledge_bases`

Listen Sie alle Knowledge Bases auf, auf die Sie Zugriff haben. Knowledge Bases speichern Dokumente für die semantische Suche.

**Gibt zurück:** Knowledge-Base-ID, Name, Workspace-ID, Status und Dokumentanzahl. Nur Knowledge Bases mit dem Status `ready` können durchsucht werden.

| Parameter     | Werte                                |
| ------------- | ------------------------------------ |
| **Filter**    | workspace\_name, name, workspace\_id |
| **Sortieren** | name, created\_at                    |

***

### `knowledge_base_manage`

Erstellen oder aktualisieren Sie eine Knowledge Base. Lassen Sie `knowledge_base_id` weg, um eine neue Knowledge Base zu erstellen; geben Sie es an, um eine bestehende zu aktualisieren.

**Felder:** `knowledge_base_id`, `Name`, `workspace_id`

**Bei der Erstellung erforderlich:** `Name`, sowie `workspace_id` wenn der Benutzer Zugriff auf mehrere Workspaces hat.

**Gibt zurück:** Knowledge-Base-ID, Name, Workspace-ID, Status, Dokumentanzahl und ob sie erstellt wurde.

***

### `search_knowledge_base`

Suchen Sie mithilfe semantischer Ähnlichkeit in einer Knowledge Base nach relevanten Inhalten.

**Erfordert:** `knowledge_base_id`, `query`

**Parameter:** `top_k` (Anzahl der Ergebnisse, 1-20, Standard 5)

**Gibt zurück:** Passende Inhalte nach Relevanz sortiert.

***

### `knowledge_base_create_direct_upload`

Starten Sie den zweistufigen Datei-Upload-Workflow für die Aufnahme in die Knowledge Base. Das Tool gibt eine vorab signierte Upload-URL, die erforderlichen Header und eine `signed_id`.

**Erfordert:** `knowledge_base_id`, `filename`, `content_type`, `byte_size`, `checksum`

**Gibt zurück:** `signed_id`, `upload_url`und `upload_headers`.

***

### `knowledge_base_add_file`

Registrieren Sie eine hochgeladene Datei in einer Knowledge Base nach `knowledge_base_create_direct_upload`. Das Dokument wird zur Indexierung in die Warteschlange gestellt.

**Erfordert:** `knowledge_base_id`, `signed_id`, `Name`, `document_type`

**Optionale Felder:** `metadata`

**Gibt zurück:** Erstellte Dokument-IDs und ausstehender Status.

***

### `knowledge_base_add_urls`

Nehmen Sie eine oder mehrere Webseiten gesammelt in eine Knowledge Base auf. Jede URL wird zu einem separaten Dokument und wird asynchron indexiert.

**Erfordert:** `knowledge_base_id`, `urls`

**Optionale Felder:** `metadata`

**Gibt zurück:** Erstellte Dokument-IDs und ausstehender Status.

***

### `knowledge_base_get_status`

Rufen Sie den Indexierungsstatus der Knowledge Base und die Status pro Dokument ab. Verwenden Sie dies nach dem Hinzufügen von Dateien oder URLs.

**Erfordert:** `knowledge_base_id`

**Optionale Felder:** `document_ids`, `cursor`, `items`

***

### `knowledge_base_get_document`

Rufen Sie ein Knowledge-Base-Dokument anhand der ID ab, einschließlich Dokumentmetadaten und extrahiertem Inhalt, sofern verfügbar.

**Erfordert:** `knowledge_base_id`, `document_id`

***

### `knowledge_base_update_document_metadata`

Ersetzen Sie die für Benutzer sichtbaren Metadaten eines Dokuments. Metadaten sind ein Key/Value-Objekt mit einer Ebene und können in Suchfiltern der Knowledge Base verwendet werden.

**Erfordert:** `knowledge_base_id`, `document_id`, `metadata`

***

### `knowledge_base_delete_document`

Löschen Sie ein einzelnes Dokument dauerhaft aus einer Knowledge Base.

**Erfordert:** `knowledge_base_id`, `document_id`

{% hint style="warning" %}
Diese Aktion kann nicht rückgängig gemacht werden. Bestätigen Sie dies mit dem Benutzer, bevor Sie ein Dokument löschen.
{% endhint %}

***

### `knowledge_base_delete`

Löschen Sie eine Knowledge Base und alle ihre Dokumente dauerhaft.

**Erfordert:** `knowledge_base_id`

{% hint style="warning" %}
Dies löscht die Knowledge Base, alle Dokumente und die zugrunde liegenden Vektoren. Bestätigen Sie dies mit dem Benutzer, bevor Sie es aufrufen.
{% endhint %}

***

## Abfrageoptionen

Alle Listen-Tools unterstützen:

| Option          | Beschreibung                                                                   |
| --------------- | ------------------------------------------------------------------------------ |
| **Filter**      | Einschränken nach Feldwerten (EQUALS, CONTAINS, EQ, NEQ, GT, LT, GEQ, LEQ, IN) |
| **Enthält**     | Verwandte Daten in einem Aufruf anfordern                                      |
| **Felder**      | Bestimmte zurückzugebende Felder auswählen                                     |
| **Sortieren**   | Sortieren nach unterstützten Feldern (Präfix `-` für absteigend)               |
| **Paginierung** | Ergebnisse steuern mit `page` und `per_page` (max. 100)                        |

***

## KI-Anbieter

Verfügbare Anbieterwerte zum Filtern:

* `chat_gpt`
* `gemini`
* `perplexity`
* `google_ai_mode`
* `google_ai_overview`


---

# 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/entwickler/tools.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.
