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

# Scheduling with Alan

> Use Alan to get intelligent assignment recommendations

Alan provides AI-powered scheduling recommendations to help you make better assignment decisions. When you need to assign work, Alan analyzes your team's availability, workload, and skills to suggest the best person for the job.

## How Alan helps with scheduling

### Intelligent recommendations

When you ask "Who should I assign this to?", Alan considers:

<CardGroup cols={2}>
  <Card title="Availability" icon="clock">
    Who has capacity and how many hours they have available
  </Card>

  <Card title="Workload" icon="list-check">
    Current commitments and how easy it is to interrupt them
  </Card>

  <Card title="Skills" icon="user-gear">
    Work type match (development, design, or QA)
  </Card>

  <Card title="Context" icon="brain">
    Leave status, past work on the client or project
  </Card>
</CardGroup>

### Contextual help

Alan provides scheduling recommendations in two ways:

1. **In the chat** - Ask assignment questions anywhere Alan is available
2. **Scheduling dialogs** - Click "Ask Alan" when scheduling work for task-specific recommendations

## Using Alan in scheduling dialogs

The best way to get scheduling help is through the "Ask Alan" panel in scheduling dialogs.

### Step 1: Open the scheduling dialog

When scheduling a help desk ticket, subtask, or block:

1. Click "Schedule" on the item
2. Look for the "Ask Alan" button or panel

### Step 2: Get recommendations

Alan automatically analyzes the work and suggests assignees:

* **Work type** is determined based on the task (dev, design, or QA)
* **Context** from the ticket or task is considered
* **Team availability** is checked in real-time

### Step 3: Review suggestions

Alan presents recommendations with:

* **Name and role** of each suggested person
* **Available hours** they have today/this week
* **Workload context** (e.g., "no urgent commitments", "has some tasks today")
* **Reason** why they're a good fit

### Step 4: Assign with one click

Each recommendation includes an action button:

* Click the button to instantly assign the work
* No need to navigate away from the chat
* The dialog updates with your selection

## Understanding workload tiers

Alan considers how easy it is to interrupt someone's current work using a 4-tier system:

| Tier       | Current Work              | Interruption | Example                               |
| ---------- | ------------------------- | ------------ | ------------------------------------- |
| **Tier 1** | Help desk tickets (P1/P2) | Hardest      | Working on urgent client issues       |
| **Tier 2** | Multi-day WIP tasks       | Hard         | Finishing a task started yesterday    |
| **Tier 3** | Single-day tasks          | Medium       | Has tasks scheduled for today         |
| **Tier 4** | New/future work only      | Easiest      | Only future work or nothing scheduled |

<Note>
  Alan prioritizes people in lower workload tiers (easier to interrupt) when multiple team members have similar availability.
</Note>

## Example scheduling questions

### Basic assignment

```
Who should I assign this development task to?
```

Alan responds with a ranked list of developers, showing availability and workload.

### Specific requirements

```
Who can take this 6-hour design task starting tomorrow?
```

Alan filters by work type (design) and considers who has 6+ hours available tomorrow.

### Client-specific work

```
Who should work on this Fargro ticket?
```

Alan considers team members who have worked with Fargro before and their current availability.

### Urgent work

```
I need someone for an urgent P1 ticket - who's available now?
```

Alan identifies team members with the lightest workload who can be interrupted.

## What Alan considers

### Availability calculation

Alan checks each team member's:

* **Scheduled hours** - Work already planned
* **Capacity** - Total billable hours available
* **Available hours** - Capacity minus scheduled work

### Leave and holidays

Team members on leave are:

* Excluded from top recommendations
* Still shown but flagged as "on leave"
* Not suggested for urgent work

### Work type matching

Alan only suggests team members whose work type matches the requirement:

* **Development** tasks → Developers
* **Design** tasks → Designers
* **QA** tasks → QA team members

<Tip>
  If you're not sure about the work type, ask Alan to help determine it: "Is this a dev or design task?"
</Tip>

## Priority and scheduling logic

### How priority affects scheduling

CharleOS uses a priority system to determine what gets scheduled first:

1. **Help desk tickets** (highest priority)
2. **WIP multi-day tasks** (should complete before starting new work)
3. **Single-day tasks** starting today
4. **New multi-day tasks** starting today
5. **Future work** (lowest priority)

Alan respects this hierarchy when making recommendations.

### Workload optimization

Alan aims to:

* **Balance workload** across the team
* **Minimize interruptions** to focused work
* **Match skills** to task requirements
* **Consider context** like client history

## Tips for better recommendations

<CardGroup cols={2}>
  <Card title="Use scheduling dialogs" icon="window">
    Get the best recommendations by using "Ask Alan" in scheduling dialogs where context is automatically provided
  </Card>

  <Card title="Be specific about timing" icon="calendar">
    Mention when the work needs to start: "today", "tomorrow", "next week"
  </Card>

  <Card title="Specify duration" icon="hourglass">
    Include estimated hours: "4-hour task" or "this will take 2 days"
  </Card>

  <Card title="Ask follow-ups" icon="comments">
    Refine recommendations by asking "What about Sarah?" or "Who else is available?"
  </Card>
</CardGroup>

## What if nobody's available?

When the team is at capacity, Alan will:

* Still provide recommendations based on best fit
* Note workload constraints in the explanation
* Suggest people with the lightest commitments
* Mention if someone is on leave but returning soon

You can then:

* Ask Alan to check specific future dates
* Inquire about rescheduling existing work
* Get suggestions for who has the least disruptive workload

## Scheduling in Slack

Alan's scheduling recommendations also work in Slack:

### Slash command

```
/alan Who should I assign help desk ticket #42 to?
```

### Direct message

```
I need to assign a 4-hour dev task - who's available?
```

<Warning>
  Slack responses don't include action buttons - you'll need to apply the assignment in CharleOS.
</Warning>

## Limitations

Alan provides recommendations but cannot:

* **Automatically apply assignments** - You must click the action button or manually assign
* **Modify schedules** - You must use the scheduling interface to make changes
* **Account for task dependencies** - You should consider if design must be done before dev
* **Optimize across multiple days** - Recommendations are based on current state

<Info>
  Future versions of Alan may include automatic scheduling, dependency awareness, and multi-day optimization. For now, Alan is your intelligent assistant providing recommendations you can apply with one click.
</Info>

## Next steps

<CardGroup cols={2}>
  <Card title="Schedule" icon="calendar" href="/user-guide/schedule">
    Learn more about the scheduling system
  </Card>

  <Card title="Tasks" icon="check-square" href="/user-guide/tasks">
    Understand task management
  </Card>

  <Card title="Help Desk" icon="headset" href="/user-guide/help-desk">
    Explore help desk workflows
  </Card>

  <Card title="Blocks" icon="box" href="/user-guide/blocks">
    Learn about recurring work blocks
  </Card>
</CardGroup>
