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

# Reviewing Submissions

> The review-achievement flow for manual-approval actions: queue, approve, reject

Some actions require human approval — e.g. image uploads for a UGC campaign, free-text answers for quality control, or achievement claims with verifiable evidence. Nudj has a dedicated **review flow** (#1195) for admins to work through these submissions.

## Where to find it

Admin panel -> Engagement -> **Review Queue** (or via individual action analytics).

***

## Queue view

Pending submissions show up as rows with:

* Member (username + profile link)
* Action (which challenge, which action)
* Submission preview (thumbnail for images, excerpt for text)
* Submitted at timestamp

***

## Approve / reject

Click a row to open the full submission:

<Tabs>
  <Tab title="Approve" icon="check">
    Marks the submission valid. Member's action counts as complete; any attached reward distributes.
  </Tab>

  <Tab title="Reject" icon="xmark">
    Member's action fails. They can retry (if the challenge allows) or the challenge fails for them.
  </Tab>

  <Tab title="Message" icon="envelope">
    Send a short message to the member with the decision — useful for explaining rejections.
  </Tab>
</Tabs>

***

## Bulk review

Select multiple rows and bulk-approve / bulk-reject. Useful for clearing out a backlog after a big UGC campaign.

<Warning>
  Bulk reject is permanent per-member. Make sure you're actually rejecting, not just batch-clearing stale data. Use archive for the latter.
</Warning>

***

## Configuring review-required actions

Moderation on an action is a config flag in the action editor. See [Rich Media Actions](/admin-guide/challenges/rich-media-actions) for image moderation, and question-actions for free-text moderation settings.

***

## Best practices

<Tip>
  **Set an SLA** internally — e.g. "we'll review submissions within 24 hours". Tell members in the challenge description. They expect feedback.
</Tip>

<Tip>
  Use the **message** action for rejections — a one-line explanation beats a silent no. Members who understand "why" are more likely to try again.
</Tip>

<Tip>
  For high-volume UGC, use **object detection** (automated) instead of manual review — faster, cheaper, and scales.
</Tip>
