> 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.

# Procedurer

## Översikt

En procedur innehåller instruktioner för en specifik uppgift. Varje procedur har en utlösare som beskriver när den gäller och innehåll som beskriver vad som ska göras. När en konversation matchar utlösaren läser agenten in proceduren.

Använd procedurer när din agent behöver hantera många olika uppgifter. Ett exempel är en kundsupportagent, där varje procedur täcker en typ av ärende: återbetalningar, identitetsverifiering, kontoåterställning eller felsökning av anslutningar.

![Fliken Procedurer i agentens
kontrollpanel](/docs/_fern-img/38b190b7a08cb9e628da309a86c5e4b315eabccf238a41d5d3a6c2646aba11af.webp)

## Typer av procedurer

Det finns två typer av procedurer:

* **[Friformsprocedurer](/docs/sv/eleven-agents/customization/procedures/free-form-procedures)** skrivs som instruktioner på naturligt språk som agenten tolkar och anpassar efter situationen.
* **[Strukturerade procedurer](/docs/sv/eleven-agents/customization/procedures/structured-procedures)** är en ordnad lista med typade steg som agenten kör på samma sätt varje gång.

Du kan använda båda typerna i samma agent. Agenten väljer relevant procedur utifrån dess utlösare, oavsett typ.

> **Tip**
>
> Procedurer kan anropa varandra. En friformsprocedur anropar en annan procedur med en [inline- referens](/docs/sv/eleven-agents/customization/procedures/free-form-procedures#inline-references),
> och en strukturerad procedur anropar en annan strukturerad procedur med ett
> [delprocedur](/docs/sv/eleven-agents/customization/procedures/structured-procedures#sub-procedure)-
> steg. Ett vanligt mönster är att behålla öppen hantering i en friformsprocedur och lämna över de
> delar som måste köras på samma sätt varje gång till en strukturerad procedur.

En agent kan ha procedurer, ett [workflow](/docs/sv/eleven-agents/customization/agent-workflows) eller båda. När båda finns är varje procedur tillgänglig från varje punkt i workflowet; en procedur kan inte begränsas till specifika workflownoder. De flesta agenter byggs kring det ena eller andra sättet, men de kan kombineras.

## När du ska använda procedurer

Varje agent har en [systemprompt](/docs/sv/eleven-agents/best-practices/prompting-guide). Procedurer och [workflows](/docs/sv/eleven-agents/customization/agent-workflows) är två sätt att lägga till struktur ovanpå den, och en agent kan använda båda. Välj en utgångspunkt baserat på hur mycket konversationen kan variera.

| Krav                                                     | Använd                                                                                         | Varför                                                                                                                                                               |
| -------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Enkel proof of concept-agent                             | Endast systemprompt                                                                            | Snabbast att konfigurera och iterera på, men en enda prompt blir svårhanterlig när agentens omfattning växer.                                                        |
| Uppgift där agenten kan anpassa formulering och ordning  | [Friformsprocedur](/docs/sv/eleven-agents/customization/procedures/free-form-procedures)       | Håller hela konversationen i en LLM:s kontext, så att agenten kan anpassa formulering och ordning samt hantera oväntade vändningar. Använder mer av kontextfönstret. |
| Uppgift vars steg måste köras på samma sätt varje gång   | [Strukturerad procedur](/docs/sv/eleven-agents/customization/procedures/structured-procedures) | Varje steg körs i den ordning du anger, på samma sätt varje gång, och du skriver den som en kort lista med steg.                                                     |
| Full kontroll över komplexa förgreningar och specialfall | [Workflow](/docs/sv/eleven-agents/customization/agent-workflows)                               | Körs som en graf av underagenter som du själv utformar och kopplar ihop, med full kontroll över förgreningar och modellen som används i varje steg.                  |

Friformsprocedurer är standardvalet. De går snabbast att skriva, läses som ett dokument så att icke-tekniska team kan ansvara för dem, och agenten kan återhämta sig när en konversation avviker från manuset. Välj en strukturerad procedur när kostnaden för ett överhoppat eller omordnat steg är hög, till exempel vid autentisering, eskalering eller en finansiell transaktion. Välj ett workflow när du behöver routningslogik eller kontroll över modellen per steg som ingen av procedurtyperna erbjuder.

## Hantera procedurer

Kontrollpanelen är det rekommenderade sättet att skapa procedurer. Använd CLI eller API för att hantera procedurer programmatiskt eller integrera dem i distributionsverktyg.

#### Skapa via kontrollpanelen

Öppna din agent i [kontrollpanelen](https://elevenlabs.io/app/agents) och välj sedan **Procedurer**.
Använd **+** för att skapa en friformsprocedur eller strukturerad procedur. Procedurer kan grupperas i mappar
från samma meny. Se
[Friformsprocedurer](/docs/sv/eleven-agents/customization/procedures/free-form-procedures)
och
[Strukturerade procedurer](/docs/sv/eleven-agents/customization/procedures/structured-procedures)
för vägledning om hur du skapar dem.

#### Hantera via CLI

[ElevenLabs CLI](/docs/sv/eleven-agents/operate/cli) hanterar procedurer med
kommandogruppen `elevenlabs agents procedures`. Ange först `ELEVENLABS_API_KEY` i din miljö.

```bash
# List the procedures on a branch
elevenlabs agents procedures list \
  --agent-id agent_7101k5zvyjhmfg983brhmhkd98n6 \
  --branch-id agtbranch_0901k4aafjxxfxt93gd841r7tv5t

# Create a procedure
elevenlabs agents procedures create \
  --agent-id agent_7101k5zvyjhmfg983brhmhkd98n6 \
  --branch-id agtbranch_0901k4aafjxxfxt93gd841r7tv5t \
  --json '{"name": "Refund request", "type": "free_form", "trigger": "When the user asks to refund an order", "content": "Ask for the order ID."}'

# Publish every changed procedure draft on the branch
elevenlabs agents update \
  --agent-id agent_7101k5zvyjhmfg983brhmhkd98n6 \
  --branch-id agtbranch_0901k4aafjxxfxt93gd841r7tv5t \
  --json '{"version_description": "Publish refund procedure"}'
```

Använd `elevenlabs agents procedures drafts` för att läsa, uppdatera eller förkasta ett utkast, och
`elevenlabs agents procedures remove` för att förbereda en borttagning. Lägg till `--schema` i valfritt kommando för att se
dess in- och utmatningskontrakt.

#### Hantera via API

Utkast till procedurer följer [livscykeln för agentversioner ](/docs/sv/eleven-agents/operate/versioning#drafts). De är per användare och per gren, så varje
teammedlem har separata utkast på varje gren. Publicering sparar dina procedurändringar i en ny
oföränderlig agentversion på den grenen. Andra användares utkast påverkas inte.

Svar för agentkonfigurationer innehåller procedurmetadata som ID:n, namn, typer och
utlösare, men inte procedurkroppar eller utkast. Använd procedurändpunkterna för att läsa och redigera
hela innehållet. Alla procedurändpunkter är kapslade under
`/v1/convai/agents/{agent_id}/branches/{branch_id}`.

### Skapa eller uppdatera ett utkast

Skapa en procedur med `POST /procedures`. Uppdatera den med
`PATCH /procedures/{procedure_id}/draft`, inklusive `name`, `content`, `type` och `trigger`
i varje begäran. `type` måste matcha procedurens befintliga typ.

Använd `GET /procedures/{procedure_id}/draft` för att läsa opublicerade ändringar. Om du inte har något utkast
returnerar ändpunkten den publicerade versionen.

### Publicera ändringarna

Publicera utkasten genom att skapa en ny agentversion med
[Uppdatera agent](/docs/sv/api-reference/agents/update). En begäran publicerar varje ändrat
procedurutkast på grenen, för båda procedurtyperna. Om grenen har strukturerade
procedurer valideras och kompileras de vid publicering (stegen omvandlas till den form som
agenten kör) och eventuella fel returneras. Om valideringen godkänns publiceras agentkonfigurationen.
Du behöver inte kompilera något själv.

Följ de typspecifika instruktionerna för
[friformsprocedurer](/docs/sv/eleven-agents/customization/procedures/free-form-procedures#manage-a-free-form-procedure)
eller
[strukturerade procedurer](/docs/sv/eleven-agents/customization/procedures/structured-procedures#manage-a-structured-procedure).

### Förkasta eller ta bort en procedur

`DELETE /procedures/{procedure_id}/draft` förkastar opublicerade redigeringar och återställer den
publicerade versionen. Om proceduren aldrig har publicerats tas den bort.

`DELETE /procedures/{procedure_id}` förbereder borttagning av en publicerad procedur. Publicera
ändringen med samma flöde.

Se [API-referensen för procedurer](/docs/sv/api-reference/agents/procedures/) för fullständiga scheman för
ändpunkterna.

## Begränsningar

* En procedurs innehåll är begränsat till 50 000 tecken.
* Agenten behåller de fem senast startade procedurerna i kontexten. När fler har startats i en och samma konversation tas innehållet, inline-verktygen och kunskapsbasdokumenten för de äldsta friformsprocedurerna bort från prompten. Håll procedurer fokuserade och använd delprocedurer så att få är aktiva samtidigt.
* Du kan inte ändra en procedurs typ efter att du har skapat den. Om du vill konvertera mellan friform och strukturerad skapar du en ny procedur och uppdaterar alla referenser till den.
* Procedurer tillhör en agent. De kan inte delas mellan agenter eller lagras som resurser på arbetsytenivå.
* När du duplicerar en agent kopieras dess procedurer i stället för att delas. Kopiorna får nya procedur-ID:n, så referenser i den duplicerade agenten måste använda dessa nya ID:n.
* Procedurer kan inte begränsas till specifika workflownoder. När en agent har båda är varje procedur tillgänglig från varje nod.
* Strukturerade procedurer kan inte referera till kunskapsbasdokument.