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

# Create and Assign Tasks Within FusionDesk Projects

> Add tasks to FusionDesk projects, assign them to team members, set due dates and priorities, and track completion status through to delivery.

Tasks are the building blocks of every project in FusionDesk. Each task represents a discrete unit of work — something that can be owned, tracked, and completed. By breaking project goals into tasks, you give your team clear action items, visible ownership, and measurable progress. This guide covers everything you need to create, manage, and close out tasks effectively.

## Creating a Task

<Steps>
  <Step title="Open a project">
    From the left sidebar, select **Projects** and click the project you want to add a task to.
  </Step>

  <Step title="Click Add Task">
    On the project board, click **+ Add Task** at the bottom of any column, or click the **New Task** button in the top-right corner of the project view.
  </Step>

  <Step title="Fill in the task details">
    Complete the following fields in the task creation panel:

    * **Title** — a short, action-oriented name for the task (e.g., *Write onboarding email copy*).
    * **Description** — additional context, acceptance criteria, or notes. Supports rich text, code blocks, and inline images.
    * **Assignee** — the team member responsible for completing the task.
    * **Due Date** — the date by which the task should be finished.
    * **Priority** — the urgency level: **Urgent**, **High**, **Medium**, or **Low**.
  </Step>

  <Step title="Save the task">
    Click **Create Task**. The task appears on the project board in the **To Do** column and the assignee receives a notification.
  </Step>
</Steps>

You can also create a task via the API by posting to the project's tasks endpoint:

```bash theme={null}
curl -X POST https://api.fusiondesk.in/v1/projects/proj_abc123/tasks \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Write onboarding email copy",
    "description": "Draft the three-email welcome sequence for new sign-ups.",
    "assignee_id": "usr_01",
    "priority": "high",
    "due_date": "2025-07-15"
  }'
```

A successful response returns the new task object:

```json theme={null}
{
  "id": "task_xyz789",
  "title": "Write onboarding email copy",
  "description": "Draft the three-email welcome sequence for new sign-ups.",
  "status": "todo",
  "priority": "high",
  "assignee_id": "usr_01",
  "project_id": "proj_abc123",
  "due_date": "2025-07-15",
  "created_at": "2025-06-01T10:30:00Z"
}
```

## Task Fields Reference

Every task in FusionDesk supports the following fields.

| Field           | Description                                                                                |
| --------------- | ------------------------------------------------------------------------------------------ |
| **Title**       | The name of the task. Keep it concise and action-oriented.                                 |
| **Description** | Rich text notes, context, or acceptance criteria for the task.                             |
| **Assignee**    | The team member responsible for completing the task. A task can have one primary assignee. |
| **Due Date**    | The target completion date. Overdue tasks are highlighted in red.                          |
| **Priority**    | The urgency level: **Urgent**, **High**, **Medium**, or **Low**.                           |
| **Status**      | The current stage of the task: **To Do**, **In Progress**, **Blocked**, or **Done**.       |

## Task Statuses

Each task moves through a defined set of statuses that reflect its current state. You can update a task's status by dragging it between columns on the board view, or by opening the task and selecting a new status from the **Status** dropdown.

<CardGroup cols={2}>
  <Card title="To Do" icon="circle-dashed">
    The task has been created but work has not yet started. This is the default status for all new tasks.
  </Card>

  <Card title="In Progress" icon="circle-half-stroke">
    A team member is actively working on the task. Move a task here as soon as work begins to give the team accurate visibility.
  </Card>

  <Card title="Blocked" icon="circle-xmark">
    The task cannot proceed due to a dependency, missing information, or an external blocker. Add a comment explaining the blocker so the team can help resolve it.
  </Card>

  <Card title="Done" icon="circle-check">
    The task is complete. Moving a task to **Done** logs a completion timestamp and notifies the project owner.
  </Card>
</CardGroup>

The API represents these statuses as lowercase strings: `todo`, `in_progress`, `blocked`, and `done`. Use these values when creating or updating tasks programmatically.

To update a task's status via the API:

```bash theme={null}
curl -X PUT https://api.fusiondesk.in/v1/tasks/task_xyz789 \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "in_progress"
  }'
```

## Adding Comments and Attachments to Tasks

Use comments to keep task-level discussions in context, and attachments to share relevant files without switching tools.

**To add a comment:**

1. Open the task detail panel.
2. Click the **Comment** field at the bottom of the panel.
3. Type your message. Use `@mentions` to notify specific team members.
4. Click **Post Comment**.

**To attach a file or link:**

1. Open the task detail panel.
2. In the **Attachments** section, click **+ Add Attachment**.
3. Choose **Upload File** to upload from your device, or **Paste Link** to attach a URL.

<Info>
  FusionDesk supports attachments up to 100 MB per file. For larger assets, paste a link to a cloud storage location such as Google Drive or Dropbox instead.
</Info>

## Bulk Actions on Tasks

When you need to update multiple tasks at once, use bulk actions to save time.

<Steps>
  <Step title="Select tasks">
    In the project list view, check the checkbox to the left of each task you want to update. To select all visible tasks, check the header checkbox.
  </Step>

  <Step title="Open the bulk actions toolbar">
    Once you have selected at least one task, the bulk actions toolbar appears at the bottom of the screen.
  </Step>

  <Step title="Choose an action">
    Select one of the available bulk actions:

    * **Reassign** — change the assignee for all selected tasks.
    * **Change Status** — move all selected tasks to a new status.
    * **Set Priority** — update the priority level on all selected tasks.
    * **Delete** — permanently remove all selected tasks.
  </Step>

  <Step title="Confirm the action">
    For destructive actions like **Delete**, FusionDesk displays a confirmation prompt. Review the count of affected tasks, then click **Confirm** to proceed.
  </Step>
</Steps>

## Retrieving and Deleting Tasks

To fetch all tasks for a project, use the project's tasks endpoint:

```bash theme={null}
curl https://api.fusiondesk.in/v1/projects/proj_abc123/tasks \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

To retrieve a single task by its ID:

```bash theme={null}
curl https://api.fusiondesk.in/v1/tasks/task_xyz789 \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

To permanently delete a task:

```bash theme={null}
curl -X DELETE https://api.fusiondesk.in/v1/tasks/task_xyz789 \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

<Note>
  FusionDesk sends task notifications to assignees when a task is created, reassigned, updated, or moved to **Done**. Team members can manage their notification preferences under **Profile → Notification Settings** to control how and when they receive task alerts — including email digests, in-app notifications, and integrations with Slack or Microsoft Teams.
</Note>
