# ClickUp Task Creation ## CLI Script ```bash uv run python scripts/create_clickup_task.py --name "LINKS - keyword" --client "Client Name" \ --category "Link Building" --due-date 2026-03-18 --tag mar26 --time-estimate 2h \ --field "Keyword=keyword" --field "IMSURL=https://example.com" --field "LB Method=Cora Backlinks" \ --dependency TASK_ID ``` ## Defaults - Priority: High (2) - Assignee: Bryan (10765627) - Status: "to do" - Due date format: YYYY-MM-DD - Tag format: mmmYY (e.g. feb26, mar26) ## Custom Fields Any field can be set via `--field "Name=Value"`. Dropdowns are auto-resolved by name (case-insensitive). ## Stage Field (Required for ClickUp Runner) Every task must have a **Stage** set or the runner will skip it. Set Stage to the first stage for the task type: | Task Type | Initial Stage | |-----------|---------------| | Content Creation | `run_cora` | | On Page Optimization | `run_cora` | | Press Release | `draft` | | Link Building | `run_cora` | ## Task Types ### Link Building - **Prefix**: `LINKS - {keyword}` - **Work Category**: "Link Building" - **Stage**: `run_cora` - **Required fields**: Keyword, IMSURL - **LB Method**: default "Cora Backlinks" - **CLIFlags**: only add `--tier1-count N` when count is specified - **BrandedPlusRatio**: default to 0.7 - **CustomAnchors**: only if given a list of custom anchors - **time estimate**: 2.5h ### On Page Optimization - **Prefix**: `OPT - {keyword}` - **Work Category**: "On Page Optimization" - **Stage**: `run_cora` - **Required fields**: Keyword, IMSURL - **time estimate**: 3h - ### Content Creation - **Prefix**: `CREATE - {keyword}` - **Work Category**: "Content Creation" - **Stage**: `run_cora` - **Required fields**: Keyword - **time estimate**: 4h ### Press Release - **Prefix**: `PR - {keyword}` - **Work Category**: "Press Release" - **Stage**: `draft` - **Required fields**: Keyword, IMSURL - **PR Topic**: if not provided, ask if there is a topic. it can be blank if they respond with none. - **time estimate**: 1.5h - **Headline tone trigger words**: By default, the PR writer assumes the company already offers the capability (awareness tone). To get announcement-style headlines (Announces, Launches, Introduces), include one of these words in the task name or PR Topic: - **Introduces** -- company is introducing something new - **New Product** -- new product or service launch - **Launch** -- launching something new - **Actual News** -- explicit override for announcement tone ## Chat Tool The `clickup_create_task` tool provides the same capabilities via CheddahBot UI. Arbitrary custom fields are passed as JSON via `custom_fields_json`. ## Dependencies and Due Dates When a CREATE (NEW) task exists, LINKS and PR tasks that need the new page URL should be **blocked by** the CREATE task using `--dependency`. Their due date should be **one week after** the CREATE task's due date. For example, if CREATE is due 4/9, the LINKS and PR tasks should be due 4/16. OPT tasks already have a URL, so LINKS paired with an OPT does **not** need a dependency -- just the +1 week due date offset. ## Client Folder Lookup Tasks are created in the "Overall" list inside the client's folder. Folder name is matched case-insensitively.