# Werkzeuge · Support

> MCP-Tools für das Modul Support (Coworking): Tickets mit Fotos öffnen, die Warteschlange und Meine Tickets auflisten, sichten, zuweisen, lösen, interne Notiz, abbrechen, wieder öffnen, Fotos und Fristen, dazu die Konfiguration, wer antwortet und welche Frist pro Kategorie gilt.

Das Modul [Support](/espacos/suporte) über den Assistenten: Der Resident öffnet und verfolgt Tickets (mit Fotos), das Team sichtet die Warteschlange, antwortet, schreibt interne Notizen und löst Tickets, und der Administrator konfiguriert, wer antwortet und welche Fristen gelten. Die Rollen sind die der Oberfläche: Der Assistent tut nie mehr, als die angemeldete Person tun würde.

Jedes Tool hat ein Siegel: <span class="tool-kind tool-kind-read">Nur lesen</span> ändert nichts, <span class="tool-kind tool-kind-write">Ändert</span> legt sofort etwas an oder ändert es, und <span class="tool-kind tool-kind-confirm">Mit Bestätigung</span> handelt erst nach deinem Ja zu einer Zusammenfassung. Siehe [Geld und Bestätigung](/mcp/dinheiro-e-confirmacao).

## Kurz gesagt

| Tool | Was es tut | Mindestrolle | Typ |
|---|---|---|---|
| [`get_support_space_settings`](#get-support-space-settings) | Wie der Bereich funktioniert: Limits, Fristen und, für das Team, wer antwortet | Jede | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`get_support_overview`](#get-support-overview) | Die Warteschlange in Zahlen | Moderator oder Finanzen | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`list_support_tickets`](#list-support-tickets) | Die ganze Warteschlange, mit Filtern und Fristen | Moderator oder Finanzen | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`list_my_support_tickets`](#list-my-support-tickets) | Deine Tickets | Jede | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`get_support_ticket`](#get-support-ticket) | Ein Ticket mit der Unterhaltung und den Fotos | Jede (der Resident liest seine) | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`get_support_resource_open_count`](#get-support-resource-open-count) | Wie viele offene Tickets ein Element hat | Jede | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`create_support_ticket`](#create-support-ticket) | Öffnet ein Ticket, mit Fotos | Jede | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`update_support_ticket`](#update-support-ticket) | Sichtung: Status, Priorität, Kategorie, Zuständigkeit, Ort | Moderator oder Finanzen, und die Kategorie beantworten | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`add_support_comment`](#add-support-comment) | Kommentiert oder schreibt eine interne Notiz | Jede (die Notiz nur, wer antwortet) | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`cancel_support_ticket`](#cancel-support-ticket) | Bricht ein Ticket ab | Jede (der Resident seines) | <span class="tool-kind tool-kind-confirm">Mit Bestätigung</span> |
| [`reopen_support_ticket`](#reopen-support-ticket) | Öffnet ein Ticket wieder | Jede (der Resident sein gelöstes) | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`add_support_photo`](#add-support-photo) | Hängt ein Foto an | Jede | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`replace_support_photo`](#replace-support-photo) | Ersetzt ein Foto durch ein anderes | Jede | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`remove_support_photo`](#remove-support-photo) | Entfernt ein Foto | Jede | <span class="tool-kind tool-kind-confirm">Mit Bestätigung</span> |
| [`delete_support_comment`](#delete-support-comment) | Löscht eine Nachricht der Unterhaltung | Administrator | <span class="tool-kind tool-kind-confirm">Mit Bestätigung</span> |
| [`delete_support_ticket`](#delete-support-ticket) | Löscht ein Ticket und die Fotos | Administrator | <span class="tool-kind tool-kind-confirm">Mit Bestätigung</span> |

Nach Rolle sehen Eigentümer und Administrator alle 16; Moderator und Finanzen 14; das Mitglied 11. Das Team sind Eigentümer, Administrator, Moderator und Finanzen, aber **wer antwortet** (sichten, zuweisen, antworten, Notizen schreiben), ist nur, wer zur Auswahl der Kategorie gehört; **außerhalb davon lehnt die API mit einem übersetzten `403` ab**, und der Assistent sagt das. Siehe [Wer antwortet](/espacos/suporte#wer-antwortet).

Den Bereich legst du mit [`create_space`](/mcp/ferramentas-comunidade#create-space) und `module: "support"` an; [`update_space`](/mcp/ferramentas-comunidade#update-space) ändert nur, was du mitschickst.

## Die Konfiguration des Bereichs

Das Argument `support` von `create_space` und `update_space` akzeptiert (was du schickst, wird mit dem Bestehenden zusammengeführt):

| Feld | Typ | Beschreibung |
|---|---|---|
| `allow_urgent_flag` | wahr oder falsch | Der Resident kann „Es ist dringend“ setzen (wird zu hoher Priorität). Voreinstellung: ja |
| `max_open_per_member` | 0 bis 1000 | Offene Tickets pro Resident; 0 = kein Limit. Voreinstellung: 10 |
| `location_hint` | Text bis 200 | Der Hinweis im Feld „Ort“ |
| `default_assignee_id` | ID oder `null` | Wer neue Tickets erhält |
| `responders` | Objekt | Wer antwortet: `tags` (**Namen** der Tags), `group_ids`, `profile_ids` und `by_category` (die Auswahl jeder Kategorie, die die des Bereichs ersetzt). Eigentümer und Administrator antworten immer; ohne Auswahl antwortet das ganze Team |
| `sla.enabled` | wahr oder falsch | Schaltet die Fristen ein. Voreinstellung: ja |
| `sla.business_hours` | `{days, start, end}` | Wochentage (0 = Sonntag bis 6 = Samstag) und Uhrzeit `HH:MM`, in der Zeitzone der Community. Voreinstellung: Mo bis Fr, 09:00 bis 18:00. Ohne Feiertage |
| `sla.categories` | pro Kategorie | `first_response` und `resolution`, jeweils mit `value` (ganze Zahl) und `unit` (`hours` oder `days`). Voreinstellung: 4 Stunden und 1 Tag |

Die Kategorien sind `FACILITIES`, `CLEANING`, `EQUIPMENT`, `INTERNET`, `ACCESS`, `BILLING` und `OTHER`; die Arten `MAINTENANCE` und `REQUEST`; die Status `OPEN`, `IN_PROGRESS`, `WAITING_REQUESTER`, `RESOLVED` und `CANCELED`; die Prioritäten `LOW`, `NORMAL`, `HIGH` und `URGENT`.

## `get_support_space_settings`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Wie der Bereich funktioniert.** `allowUrgentFlag`, `maxOpenPerMember`, `locationHint`, `hasBookings` (ob `resource_id` verwendet werden kann) und `sla`. Das Team erhält außerdem `responders`, `defaultAssigneeId` und `canAnswerCategories` (die Kategorien, die **du** beantwortest); der Resident erhält nie `responders`. *Rolle: jede mit Zugriff auf den Bereich.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | Der Support-Bereich (`list_spaces`) |

## `get_support_overview`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Die Warteschlange in Zahlen:** `open`, `inProgress`, `waitingRequester`, `unassigned`, `mine`, `overdue` (Frist abgelaufen, Uhr läuft) und `total`. Ohne `space` werden alle Support-Bereiche zusammengezählt. *Rolle: Moderator oder Finanzen.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Nein | |

**Frag so:** *„Wie steht es um die Ticket-Warteschlange?“*

## `list_support_tickets`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Die ganze Warteschlange**, nach der jüngsten Aktivität oder nach Priorität. Mit eingeschalteten Fristen bringt jedes Ticket `sla` mit (`firstResponseDueAt`, `resolveDueAt`, `paused` und die lesbaren Daten in der Zeitzone der Community) und, für das Team, `sla.overdue`. Jeder Eintrag sagt, was du tun kannst (`canAnswer`, `canAssign`...). Der Resident nutzt `list_my_support_tickets`. *Rolle: Moderator oder Finanzen.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Nein | |
| `kind`, `status`, `priority`, `category` | Werte oben | Nein | Je ein Wert |
| `assignee_profile_id` | ID | Nein | Tickets dieser zuständigen Person |
| `unassigned` | wahr oder falsch | Nein | Nicht zugewiesen |
| `mine` | wahr oder falsch | Nein | Dir zugewiesen |
| `overdue` | wahr oder falsch | Nein | Frist abgelaufen und Uhr läuft (**Wartet auf Antwort** zählt nicht) |
| `due_today` | wahr oder falsch | Nein | Die nächste Frist fällt auf heute; nur in Bereichen mit Fristen |
| `requester_profile_id` | ID | Nein | Tickets dieser Person |
| `resource_id` | ID | Nein | Tickets dieses Elements der Buchungen |
| `q` | Text | Nein | Nummer, `#42` oder ein Teil des Titels |
| `sort` | `activity` oder `priority` | Nein | |
| `page`, `limit` | Zahlen | Nein | Seitenweise (bis 100) |

**Frag so:** *„Welche Tickets sind überfällig oder heute fällig?“*

## `list_my_support_tickets`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Die Tickets, die du geöffnet hast**, vom neuesten zum ältesten. *Rolle: jede mit Zugriff auf den Bereich.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Nein | |
| `kind`, `status`, `priority`, `category` | Werte oben | Nein | |
| `resource_id` | ID | Nein | |
| `q` | Text | Nein | |
| `page`, `limit` | Zahlen | Nein | |

## `get_support_ticket`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Ein Ticket mit der Zeitleiste:** Nachrichten, Änderungsverlauf, die internen Notizen (**nur für das Team**) und die Fotos als kurzlebige Links. Der Resident liest seine; das Team liest alle, auch außerhalb der Auswahl der Antwortenden. Ein fremdes Ticket: `404`. *Rolle: jede.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | Aus `list_support_tickets` oder `list_my_support_tickets` |

## `get_support_resource_open_count`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Der Duplikat-Hinweis.** Nur die Anzahl offener Tickets eines Raums, Arbeitsplatzes oder Geräts der Buchungen, ohne Titel oder Verfasser, um vor einem weiteren Ticket zu warnen. *Rolle: jede.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `resource_id` | ID | Ja | Aus `list_booking_resources` |

## `create_support_ticket`

<span class="tool-kind tool-kind-write">Ändert</span>

**Ein Ticket öffnen**, mit Fotos. Das Team wird über die E-Mail-Warteschlange benachrichtigt. Wer die Kategorie beantwortet, kann außerdem die `priority` festlegen und **im Namen eines Residenten** öffnen (`requester_profile_id`): Der Resident erhält eine E-Mail, daher zeigt der Assistent vorher, wer sie bekommt. Über dem Limit offener Tickets des Bereichs: `409`; über 10 Tickets pro Stunde: `429`. Derselbe Aufruf mit derselben `client_request_id` liefert dasselbe Ticket. *Rolle: jede mit Zugriff auf den Bereich.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | Der Support-Bereich |
| `kind` | `MAINTENANCE` oder `REQUEST` | Ja | |
| `category` | Kategorie | Ja | |
| `title` | Text | Ja | Bis 140 Zeichen |
| `description` | Text | Ja | Bis 10000 |
| `resource_id` | ID | Nein | Raum, Arbeitsplatz oder Gerät (`list_booking_resources`) |
| `location_text` | Text | Nein | Bis 120 Zeichen; gilt ohne Element |
| `urgent` | wahr oder falsch | Nein | Wird zu hoher Priorität, wenn der Bereich es erlaubt |
| `priority` | Priorität | Nein | Nur wer antwortet |
| `requester_profile_id` | ID | Nein | Nur wer antwortet: öffnet im Namen dieses Residenten |
| `photos` | Liste | Nein | Bis 5, jedes mit `image_url` oder `image_base64` (+ `image_type`) |
| `client_request_id` | Text | Nein | Verhindert Duplikate bei wiederholtem Tippen |

**Frag so:** *„Öffne ein Wartungsticket: Der Beamer in Raum 3 geht nicht an, hier ist das Foto.“*

## `update_support_ticket`

<span class="tool-kind tool-kind-write">Ändert</span>

**Die Sichtung.** Nur wer **die Kategorie** des Tickets **beantwortet**; außerhalb davon ein übersetzter `403`. Schicke nur, was sich ändert. `message` begleitet `RESOLVED` oder `WAITING_REQUESTER` als öffentliche Antwort, und der Resident erhält eine E-Mail; eine Zuweisung benachrichtigt die zuständige Person. `RESOLVED` und `CANCELED` gehen nur zurück auf `OPEN`. `URGENT` lässt sich nur hier festlegen. Jede Änderung erscheint in der Unterhaltung. *Rolle: Moderator oder Finanzen, und die Kategorie beantworten.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | |
| `status` | Status | Nein | |
| `priority` | Priorität | Nein | |
| `kind`, `category` | Werte | Nein | Die Kategorie wechselt nur zu einer, die du auch beantwortest |
| `assignee_profile_id` | ID oder `null` | Nein | Muss die Kategorie beantworten; `null` entfernt die Zuständigkeit |
| `resource_id` | ID oder `null` | Nein | Das Element der Buchungen |
| `location_text` | Text oder `null` | Nein | |
| `title` | Text | Nein | |
| `message` | Text | Nein | Zusammen mit `RESOLVED` oder `WAITING_REQUESTER` |

**Frag so:** *„Weise Ticket #42 Pedro zu und löse es mit dem Hinweis, dass wir die Lampe getauscht haben.“*

## `add_support_comment`

<span class="tool-kind tool-kind-write">Ändert</span>

**Kommentieren, mit Fotos.** Der Resident kommentiert seine Tickets (in **Wartet auf Antwort** geht es zurück auf **In Bearbeitung**; bei einem **gelösten** wird es **wieder geöffnet**); wer antwortet, ebenso, und der Resident erhält eine E-Mail (zwei Antworten innerhalb von 10 Minuten erzeugen nur eine E-Mail). Mit `internal: true` ist es eine **interne Notiz**: nur wer antwortet, darf das, der Resident sieht sie nie, und **es wird keine E-Mail verschickt**. Kommentare lassen sich nicht bearbeiten. *Rolle: jede (die Notiz nur, wer antwortet).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | |
| `body` | Text | Ja | Bis 10000 Zeichen |
| `internal` | wahr oder falsch | Nein | Interne Notiz |
| `photos` | Liste | Nein | Bis 5, wie bei `create_support_ticket` |

**Frag so:** *„Notiere intern bei Ticket #42, dass der Techniker am Donnerstag kommt.“*

## `cancel_support_ticket`

<span class="tool-kind tool-kind-confirm">Mit Bestätigung</span>

**Ein offenes Ticket abbrechen.** Wird **Abgebrochen**; nichts wird gelöscht. Der Resident bricht sein Ticket ab, solange es nicht gelöst ist; wer die Kategorie beantwortet, ebenso (etwa bei einem Duplikat). Gelöst oder bereits abgebrochen: `400`. *Rolle: jede, in den Grenzen oben.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | |

**Liefert:** beim ersten Aufruf die Zusammenfassung (Nummer, Titel, Status, Resident) und den Bestätigungscode.

## `reopen_support_ticket`

<span class="tool-kind tool-kind-write">Ändert</span>

**Wieder öffnen.** Der Resident öffnet sein **gelöstes** Ticket wieder, und das Team wird benachrichtigt; wer antwortet, öffnet auch ein **abgebrochenes** wieder. Anderer Status: `400`. Die Lösungsfrist beginnt neu. *Rolle: jede, in den Grenzen oben.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | |

## `add_support_photo`

<span class="tool-kind tool-kind-write">Ändert</span>

**Ein Foto anhängen** (JPEG, PNG oder WebP, bis 20 MB), privat gespeichert: Nur der Resident und das Team öffnen es. Bis 20 pro Ticket (`409` darüber). Der Resident bei seinem; wer antwortet, bei jedem. *Rolle: jede.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | |
| `image_url` oder `image_base64` | Link oder Text | Ja | Das Bild; `image_base64` mit `image_type` |

## `replace_support_photo`

<span class="tool-kind tool-kind-write">Ändert</span>

**Ein Foto ersetzen.** Das neue wird zuerst angehängt; danach wird das alte entfernt und die Datei gelöscht. Der Resident ersetzt die Fotos der Eröffnung und seiner Kommentare; wer antwortet, jedes. *Rolle: jede.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | |
| `photo_id` | ID | Ja | Aus `get_support_ticket` |
| `image_url` oder `image_base64` | Link oder Text | Ja | Das neue Bild |

## `remove_support_photo`

<span class="tool-kind tool-kind-confirm">Mit Bestätigung</span>

**Ein Foto entfernen** (die Datei wird endgültig gelöscht). Wer antwortet, entfernt jedes; der Resident die der Eröffnung und seiner Kommentare. *Rolle: jede, in den Grenzen oben.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | |
| `photo_id` | ID | Ja | Aus `get_support_ticket` |

**Liefert:** beim ersten Aufruf die Zusammenfassung und den Bestätigungscode.

## `delete_support_comment`

<span class="tool-kind tool-kind-confirm">Mit Bestätigung</span>

**Eine Nachricht der Unterhaltung löschen**, mit ihren Fotos. Die Einträge des Verlaufs werden nicht gelöscht. *Rolle: Administrator.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | |
| `comment_id` | ID | Ja | Aus `get_support_ticket` |

## `delete_support_ticket`

<span class="tool-kind tool-kind-confirm">Mit Bestätigung</span>

**Ein Ticket und seine Fotos löschen**; nichts wird anonymisiert oder aufbewahrt. Um ein Ticket wirklich abzuschließen, nutze `update_support_ticket` (Gelöst) oder `cancel_support_ticket`. *Rolle: Administrator.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `ticket_id` | ID | Ja | |

**Liefert:** beim ersten Aufruf die Zusammenfassung (Nummer, Titel, Status, Resident, Fotos) und den Bestätigungscode.

## Verwandte Artikel

- [Support](/espacos/suporte)
- [Rezepte](/mcp/receitas)
- [Buchungen und Terminbuchung](/mcp/ferramentas-reservas)
- [Geld und Bestätigung](/mcp/dinheiro-e-confirmacao)
