> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Uppdatera status

## Översikt

Verktyget **Uppdatera status** låter agenten ange en eller flera [dynamiska variabler](/docs/sv/eleven-agents/customization/personalization/dynamic-variables) medan ett samtal pågår. Precis som andra [systemverktyg](/docs/sv/eleven-agents/customization/tools/system-tools) ändrar det endast samtalets interna status — det anropar aldrig ett externt API eller en funktion på klientsidan.

Använd det för att registrera information medan ett samtal utvecklas, till exempel för att markera att ett samtal ska eskaleras, lagra ett värde som användaren har angett eller beräkna ett värde baserat på andra dynamiska variabler.

Om du vill tillämpa statusuppdateringar vid en fast punkt i ett [workflow](/docs/sv/eleven-agents/customization/agent-workflows), i stället för när LLM:n anropar ett verktyg, använder du en [nod för att uppdatera status](/docs/sv/eleven-agents/customization/agent-workflows#update-state-node). Den accepterar samma statusuppdateringar.

## Funktioner

* **Flera uppdateringar per anrop**: Ett enda verktygsanrop kan tilldela upp till 50 dynamiska variabler samtidigt.
* **Uttrycksbaserade värden**: Varje värde är resultatet av ett uttryck som kan kombinera konstanter, befintliga dynamiska variabler, värden som LLM:n hämtar från samtalet och operatorer.
* **LLM-extrahering endast vid behov**: Verktyget ber bara LLM:n att extrahera parametrar för de uppdateringar som kräver det. Uppdateringar som helt bygger på konstanter och/eller befintliga dynamiska variabler lägger inte till några parametrar i funktionsanropet.
* **Omedelbar tillgänglighet**: När verktyget har körts är de uppdaterade dynamiska variablerna tillgängliga för resten av samtalet — senare uppmaningar, andra verktygsanrop och åsidosättningar kan alla referera till dem, precis som till vilken annan dynamisk variabel som helst.

## Så fungerar det

Varje statusuppdatering tilldelar resultatet av ett uttryck till en dynamisk variabel:

```text
variable_name = expression
```

Ett uttryck är en av följande typer, och uttryck kan kapslas i varandra för att skapa mer komplex logik:

| Typ                  | Beskrivning                                                                                                         |
| -------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Konstant             | Ett fast sträng-, tal-, booleskt eller null-värde.                                                                  |
| Dynamisk variabel    | Det aktuella värdet för en annan dynamisk variabel.                                                                 |
| LLM-extraherat värde | Ett värde som LLM:n härleder från samtalet och som matchar en typ du definierar (sträng, tal eller booleskt värde). |
| Logisk operator      | `and`, `or` eller ett villkorsuttryck (`if` / `then` / `else`) som kombinerar andra uttryck.                        |
| Jämförelseoperator   | `=`, `≠`, `>`, `<`, `≥`, `≤`, som jämför två uttryck.                                                               |
| Aritmetisk operator  | `+`, `-`, `×`, `÷`, som kombinerar två numeriska uttryck (eller stränguttryck för `+`).                             |

Följande statusuppdatering anger till exempel `should_escalate` till `true` om LLM:n bedömer att användaren är frustrerad, eller om en dynamisk variabel `retry_count` redan är större än 3:

```text
should_escalate = (llm: "User sounds frustrated with the conversation") OR (retry_count > 3)
```

> **Note**
>
> Om en statusuppdatering inte kan beräknas — till exempel vid division med noll — returnerar verktygsanropet ett
> fel och ingen av uppdateringarna i anropet tillämpas.

## Konfiguration

### Steg 1: Lägg till verktyget

Gå till agentens konfigurationssida. Klicka på **Lägg till verktyg** i avsnittet **Verktyg** och välj **Uppdatera status**.

### Steg 2: Definiera statusuppdateringar

Ange följande för varje statusuppdatering:

* **Variabelnamn**: Den dynamiska variabel som ska tilldelas.
* **Uttryck**: Värdet som ska tilldelas, uppbyggt av värde- och operatortyperna som beskrivs ovan. Värden kan kapslas för att skapa mer komplexa uttryck.
* **Obligatorisk**: När detta är inaktiverat kan LLM:n utelämna värdena som uppdateringen förlitar sig på. Uppdateringen hoppas då över och variabeln behåller sitt aktuella värde.

Du kan definiera upp till 50 statusuppdateringar för ett enskilt verktyg.

### Steg 3: Konfigurera beskrivningen (valfritt)

Du kan ange en anpassad beskrivning som vägleder LLM:n om när verktyget ska anropas. Om fältet lämnas tomt används en standardbeskrivning som är optimerad för verktyget.

## Användningsområden

* **Eskaleringmarkeringar**: Ange en dynamisk variabel (till exempel `should_escalate`) som ett efterföljande system eller en affärsregel kontrollerar, enligt exemplet i [Genesys-integrationsguiden](/docs/sv/eleven-agents/customization/integrations/genesys#configure-escalation).
* **Registrera extraherad information**: Lagra ett värde som användaren har angett (ett ordernummer, en inställning, en vald avdelning) som en dynamisk variabel för användning senare i samtalet.
* **Härledda värden**: Beräkna ett värde från andra dynamiska variabler, till exempel genom att öka en räknare eller kombinera två variabler till en.

**Syfte**: Låt agenten uppdatera en eller flera dynamiska variabler baserat på konversationen, utan att anropa ett externt API.

**Utlösande villkor**: LLM:en ska anropa det här verktyget när:

* Konversationen innehåller information som bör registreras (t.ex. en eskaleringsflagga, ett valt alternativ eller ett värde som användaren har angett)
* En konfigurerad tillståndsuppdatering beror på ett värde som LLM:en måste bedöma eller extrahera från konversationen

**Parametrar**:

Funktionens parametrar beror på hur verktyget är konfigurerat. Varje konfigurerad tillståndsuppdatering som använder ett värde extraherat av en LLM lägger till en egenskap i schemat. Egenskapen får namnet på uppdateringens dynamiska variabel och typen `string`, `number` eller `boolean`. Tillståndsuppdateringar som enbart bygger på konstanter eller andra dynamiska variabler lägger inte till några parametrar.

**Format för funktionsanrop**:

```json
{
  "type": "function",
  "function": {
    "name": "update_state",
    "arguments": "{\"should_escalate\": true}"
  }
}
```

**Implementering**: Agenten utvärderar varje konfigurerat uttryck med de extraherade parametrarna och konversationens aktuella dynamiska variabler, och tilldelar sedan resultaten till motsvarande dynamiska variabler. Ingen extern begäran skickas.

## Vanliga frågor

#### Gör det här verktyget några externa anrop?

Nej. Precis som alla systemverktyg ändrar Uppdatera status endast samtalets interna status. Det
anropar inte ett externt API eller en funktion på klientsidan.

#### Kräver ett anrop till det här verktyget alltid att LLM:n extraherar parametrar?

Nej. Verktyget ber bara LLM:n att extrahera en parameter för statusuppdateringar vars uttryck
innehåller ett LLM-extraherat värde. Om alla konfigurerade uppdateringar bygger på konstanter och/eller
befintliga dynamiska variabler, tar funktionsanropet inga parametrar.

#### Var kan jag använda de dynamiska variabler som verktyget anger?

Överallt där du kan använda en dynamisk variabel: systemuppmaningar, första meddelanden, verktygsparametrar och
rubriker samt åsidosättningar. Se [Dynamiska variabler](/docs/sv/eleven-agents/customization/personalization/dynamic-variables) för mer information.

#### Kan jag konfigurera det här verktyget via API:et?

Uppdatera status kan för närvarande konfigureras via agentpanelen. Stöd för API och SDK är inte
tillgängligt ännu.