# Beslutninger og godkjenninger

Be om et utfall — godkjenn, avslå, eller endringer — og la arbeidsflyten din forgrene seg på det uten å lese etiketter.

## Beslutninger og godkjenninger

Mange forespørsler finnes for å få akkurat én ting: et ja, et nei, eller et «ikke sånn». Beslutningsspørsmålet fanger det utfallet i en form arbeidsflyten din kan forgrene seg direkte på, uten å gjette hvilket felt som holdt svaret.

<h2 id="why">Hvorfor et eget spørsmål</h2>

<p>
  Hvert valg har allerede en <a href="/no/requests/field-keys#option-keys">alternativnøkkel</a>, så en arbeidsflyt kan forgrene seg på
  hvilken som helst radioknapp. Det en arbeidsflyt ikke kan gjøre, er å vite, på tvers av alle skjemaer med en godkjenning, hvilken nøkkel
  som betyr «ja»: én forfatters radioknapp sier <code>sign_off</code>, en annens <code>approved</code>.
</p>

<p>
  <strong>Beslutningsspørsmålet</strong> fastsetter navnene. Det er et enkeltvalg-spørsmål med feltnøkkelen <code>decision</code>, hvis tre
  alternativer bærer alternativnøklene <code>approve</code>, <code>decline</code> og <code>changes</code>. Etikettene forblir dine å
  omformulere og oversette; nøklene under flytter seg aldri. Når mottakeren velger ett, avsluttes forespørselen med et{' '}
  <strong>utfall</strong>. Enhver radioknapp med feltnøkkelen <code>decision</code> hvis alternativer bærer disse tre nøklene, teller —
  presetet setter dem bare for deg.
</p>

<h2 id="insert">Legg til ett i skjemaet ditt</h2>

/</strong> i editoren og velg <strong>Beslutning</strong> — «Godkjenn, avslå, eller be om endringer».',
    },
    {
      title: 'Omformuler etikettene',
      description:
        'Du får et spørsmål med tittelen «Godkjenner du?» med valgene Godkjenn, Avslå, og Be om endringer. Skriv om hvilke som helst av dem til din egen ordlyd — «Signer av», «Avvis», «Send tilbake for redigering». Oversett dem som ethvert annet innhold.',
    },
    {
      title: 'Spør hvorfor, hvis du trenger det',
      description:
        'Et utfall alene forklarer sjelden seg selv. Legg til et langtekst-spørsmål etter det, og vis det bare for avslå og endringer med <a href="/no/building-forms/conditional-logic">betinget logikk</a>.',
    },
    {
      title: 'Publiser',
      description:
        'Forespørsler opprettet fra denne publiserte versjonen avsluttes med et utfall. Som enhver feltnøkkel eksisterer decision først når skjemaet er publisert.',
    },
  ]}
/>

> ⚠️ **Kun presetet gir et utfall**
> <p>
>     Utfallet leses fra spørsmålet hvis feltnøkkel er <code>decision</code>, og bare når det valgte alternativets nøkkel er en av de tre. En
>     radioknapp du bygger for hånd med alternativene merket Approve, Decline og Changes avleder nøyaktig disse nøklene, så den fungerer uten
>     presetet; en radioknapp med andre etiketter fungerer når du skriver inn de tre nøklene i{' '}
>     <a href="/no/requests/field-keys#option-keys">Nøkler-tabellen</a>.
>   </p>
>   <ul>
>     <li>
>       Slett ett av de tre alternativene, eller skriv om nøkkelen, og publisering advarer deg: «Beslutningsspørsmålet mangler et alternativ
>       for godkjenn, avslå eller be om endringer, så forespørsler kan fullføres uten utfall.» Alle tre må være der — en beslutning som bare
>       kan godkjenne, kan ikke avslå.
>     </li>
>     <li>
>       Et beslutningsspørsmål inne i en <a href="/no/building-forms/repeating-groups">gjentakende gruppe</a> er et vanlig spørsmål og
>       ignoreres for utfallet.
>     </li>
>   </ul>

<h2 id="values">De tre verdiene</h2>

<p>
  Disse tre verdiene er en offentlig kontrakt, som en feltnøkkel: en automatisering, en agent, og en regnearkformel leser dem alle.{' '}
  <strong>Legg til et fjerde alternativ, og å velge det er et vanlig svar, ikke et utfall</strong> — den forespørselen fullføres uten et
  utfall, i stedet for med en verdi mottakeren din aldri har hørt om.
</p>

<h2 id="where">Hvor utfallet dukker opp</h2>

```
{
  "id": "evt_...",
  "type": "request.completed",
  "test": false,
  "data": {
    "request": {
      "id": "kd7...",
      "externalId": "run-42",
      "status": "completed",
      "outcome": "changes",
      "context": { "case_id": "CASE-9" }
    },
    "answers": {
      "decision": "changes",
      "reason": "Please split the line items per site."
    }
  }
}
```

<p>
  Forgren deg på <code>data.request.outcome</code>. <strong>status</strong> sier om forespørselen ble fullført; <strong>outcome</strong>{' '}
  sier hva mottakeren bestemte. En utløpt eller kansellert forespørsel har en status og intet utfall, og det samme gjelder en fullført
  forespørsel på et skjema uten beslutningsspørsmål.
</p>

<h2 id="agents">Fra en agent</h2>

<p>
  MCP-verktøyet er <code>editor_insertDecisionQuestion</code>, som tar en tittel og de tre etikettene på skjemaets språk. En agent som ikke
  kan hoste et callback-endepunkt, poller <code>request_get</code> i stedet og leser <code>outcome</code> når statusen forlater{' '}
  <code>pending</code>. <a href="/no/developers/mcp-server#requests">Forespørsler på MCP-serveren →</a>
</p>

<div class="not-prose grid gap-3 sm:grid-cols-2">
  - [Callbacks og signering](/no/requests/callbacks) — Hele nyttelasten og hvordan du verifiserer den.
  - [Forespørsler-siden](/no/requests/managing-requests) — Filtrer etter utfall og følg én forespørsel.
  - [Betinget logikk](/no/building-forms/conditional-logic) — Spør om en grunn kun når det trengs.
  - [Spørsmålstyper](/no/building-forms/field-types) — Hvert annet spørsmål du kan stille.
</div>
