Skip to content

Status Discovery Guide

Overview

Beads can preserve your exact ClickUp statuses (like "UAT", "TESTING") during bidirectional sync.

Quick Start

1. Discover Statuses

Run the discovery script to map your ClickUp statuses:

python scripts/detect_clickup_statuses.py --list-id YOUR_LIST_ID

This will: - Fetch all statuses from your ClickUp list - Suggest beads mappings (open/in_progress/closed) - Prompt you to approve each mapping - Update your config automatically

2. Review Config

Check .beads/integrations/clickup/config.yaml:

field_mapping:
  status:
    clickup_to_beads:
      "UAT": in_progress
      "TESTING": in_progress
    beads_categories:
      in_progress: ["UAT", "TESTING", "IN PROGRESS"]

3. Sync and Verify

bd sync

Your custom statuses are now preserved during sync!

How It Works

Smart Preservation: - When syncing FROM ClickUp: Stores original status (e.g., "UAT") - When syncing TO ClickUp: Uses stored status if category matches - If category changes (in_progress → closed), uses config mapping

Example: 1. ClickUp task: "UAT" → beads: "in_progress" (stores "UAT") 2. Update in beads: still "in_progress" → ClickUp: "UAT" (preserved!) 3. Close in beads: "closed" → ClickUp: "COMPLETE" (mapped, not "UAT")