# Slash Commands (https://yapl.app/en/docs/user-guides/slack/slash-commands)

# Slash Commands

Once your Slack account is [linked](/docs/user-guides/slack/connecting-slack#auto-linking-by-email) to YAPL, use `/yapl` commands directly in Slack to check and update your work.

## Command Reference

| Command | What it does |
|---------|---------------|
| `/yapl link` | Link your Slack account to YAPL |
| `/yapl tasks me` | List your open tasks |
| `/yapl status "<plan>" "<task>" <status>` | Update a task's status |
| `/yapl assign "<plan>" "<task>" @user` | Assign a task to someone |
| `/yapl unassign "<plan>" "<task>" @user` | Remove someone from a task |
| `/yapl create-task "<plan>" "<name>"` | Create a task (experimental) |
| `/yapl delete-task "<plan>" "<task>"` | Delete a task (experimental) |

Plan and task names with spaces need quotes, for example `/yapl status "Office Renovation" "Pour foundation" done`. If a task name matches more than one task, YAPL asks you to use the task's WBS code instead.

### Task References

You can refer to a task by its name or its WBS code (for example `1.2`). WBS codes stay unique even when task names repeat.

### Mentioning People

`assign` and `unassign` need an `@mention`, not a plain name. Slack resolves the mention to a user, and YAPL then checks that person has a linked YAPL account. If they don't, YAPL tells you so instead of failing silently.

## What's Not a Slash Command

A few things can't be done from a slash command by design. They always link back to the YAPL planner instead:

- Schedule edits (dependencies, dates, duration)
- Creating, publishing, or deleting a plan

`create-task` and `delete-task` are marked experimental. They work, but scheduling details like dependencies and duration still need to be set in the planner afterward.

## Interactive Buttons and Modals

Notification messages in Slack, both channel posts and direct messages, include buttons for common actions, so you often don't need to type a command at all:

- **Update progress** opens a modal to change status, progress percentage, checklist items, or actual start and end dates. Fields that can't be edited from Slack, like a parent task's derived dates or effort-based progress, show up read-only with an explanation, and link to YAPL to edit.
- **Create task** opens a modal where you pick a plan, name the task, and optionally set an assignee, due date, and initial status.
- **Find YAPL task** is a global Slack shortcut that searches your assigned tasks by name and lets you jump straight to updating one.

Progress and checklist updates from Slack follow the same rules as the web app. For example, checking off every checklist item automatically completes the task, and a task using effort-based progress can't have its percentage set directly from either surface.

## App Home

Open the YAPL app's Home tab in Slack for a standing view of:

- Your open tasks, with quick links to update progress
- Upcoming milestones, with overdue ones flagged
- A shortcut to open YAPL directly

If your Slack account isn't linked yet, App Home shows a **Connect account** prompt instead.

## Link Unfurling

Paste a YAPL plan, task, or project URL into any Slack message, and YAPL expands it into a rich preview with the item's name and current status. No extra setup needed.

## Related Topics

- [Connecting Slack](/docs/user-guides/slack/connecting-slack): Link your account first.
- [Channel Notifications](/docs/user-guides/slack/channel-notifications): Where these messages come from.
- [Notification Preferences](/docs/user-guides/slack/notification-preferences): Tune your own message delivery.