> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frayme.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Approve, decline or run a workflow action

> The decision rail: recommendation, Approve, Decline with a reason, workflow actions, confirmations, and what happens next.

export const Clip = ({id, caption}) => <Frame caption={caption}>
    <video controls muted playsInline preload="metadata" className="w-full aspect-video rounded-xl" poster={`/videos/guides/${id}.poster.png`} src={`/videos/guides/${id}.mp4`} />
  </Frame>;

export const Shot = ({id, alt, caption}) => <Frame caption={caption}>
    <img className="block dark:hidden rounded-lg" src={`/images/guides/${id}.light.png`} alt={alt} loading="lazy" decoding="async" />
    <img className="hidden dark:block rounded-lg" src={`/images/guides/${id}.dark.png`} alt={alt} loading="lazy" decoding="async" />
  </Frame>;

<Clip id="analyst/claim-review-approve" caption="Claim a case, read the evidence, approve, confirm the high-risk approval." />

## The decision rail

The rail is live only while you hold the claim. It shows the **Workflow recommendation**, the actions, the decline reason and a note.

<Shot id="analyst/decide-01-rail" alt="Decision rail disabled before claiming" caption="Disabled until you claim; every control shows the hint Claim case to take action." />

The recommendation is one of **Approve — low risk**, **Enhanced due diligence — review** or **Decline — likely fraud**, with a short explanation from the workflow.

## Approve

**Approve** (or `⌘↵`) approves the case. When the risk score is above 75, Frayme asks **Confirm High-Risk Approval** first. When a KYB case still has pending child cases, it asks **Finish pending sub-cases?** because approving the parent closes them.

<Shot id="analyst/decide-05-confirm-high-risk" alt="Confirm High-Risk Approval dialog" caption="High-risk approvals are confirmed and logged." />

## Decline

**Decline** (or `⌘D`) needs a reason or a note. Pick one under **Decline reason (required to decline)**; the list is maintained in **Settings → Decline Reasons**.

<Shot id="analyst/decide-02-reason-select" alt="Decline reason list" caption="Reasons your tenant defined." />

Declining with neither a reason nor a note shows **Reason required**.

<Clip id="analyst/decline-with-reason" caption="Pick a reason, add a note, decline." />

<Shot id="analyst/decide-03-decline-disabled" alt="Reason required toast" caption="A reason or a note is mandatory." />

## Workflow actions

When the Review node declares custom outcomes, they appear under **Workflow actions** as buttons, for example **Escalate to senior**. Clicking one routes the case along that branch of the flow instead of approving or declining; the case leaves your queue and continues in the workflow.

<Shot id="analyst/decide-04-workflow-actions" alt="Workflow actions section" caption="Actions declared by the engineers on the Review node." />

## Decision note

**Decision note** is optional context for the audit trail. It is stored with the decision and shown in the timeline.

## After you decide

A toast confirms **Approved** or **Declined**, the decision and your note are written to the timeline, a `case.decided` event goes to your webhook endpoint, and the console moves to the next case that no one else holds. When nothing is left it shows **No pending cases**.

<Shot id="analyst/decide-07-approved" alt="An approved case, read-only" caption="Approved: the case is now read-only." />

<Shot id="analyst/decide-08-declined" alt="A declined case with its reason" caption="Declined, with the reason recorded." />

Two errors you may see: **Couldn't sync this approval to Sumsub** means the identity provider was unavailable and nothing was finalised, so try again; a conflict means the case was decided or timed out meanwhile, and the console reloads it.

## Undo?

Decisions are final for analysts. A senior analyst or manager can [override the decision](/guides/analyst/console-override), which records a new audited decision on top of yours.
