> ## Documentation Index
> Fetch the complete documentation index at: https://trigger-features-scheduled-tasks.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Writing tasks: Introduction

> Tasks are the core of Trigger.dev. They are long-running processes that are triggered by events.

Before digging deeper into the details of writing tasks, you should read the [fundamentals of tasks](/v3/tasks-overview) to understand what tasks are and how they work.

## Writing tasks

| Topic                                                  | Description                                                                                                               |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| [Logging](/v3/logging)                                 | View and send logs and traces from your tasks.                                                                            |
| [Errors & retrying](/v3/errors-retrying)               | How to deal with errors and write reliable tasks.                                                                         |
| [Wait](/v3/wait)                                       | Wait for periods of time or for external events to occur before continuing.                                               |
| [Concurrency & Queues](/v3/queue-concurrency)          | Configure what you want to happen when there is more than one run at a time.                                              |
| [Versioning](/v3/versioning)                           | How versioning works.                                                                                                     |
| [Machines](/v3/machines)                               | Configure the CPU and RAM of the machine your task runs on                                                                |
| [Idempotency](/v3/idempotency)                         | Protect against mutations happening twice.                                                                                |
| [Reattempting & Replaying](/v3/reattempting-replaying) | You can reattempt a task that has failed all of its attempts. You can also replay a task with a new version of your code. |
| [Notifications](/v3/notifications)                     | Send realtime notifications from your task that you can subscribe to from your backend or frontend.                       |
| [Rollbacks](/v3/rollbacks)                             | Rollback code inside a task when errors happen to provide transactional guarantees.                                       |
| [Using APIs](/v3/using-apis)                           | How to use APIs from within your tasks.                                                                                   |
| [Trigger filters](/v3/trigger-filters)                 | Prevent unwanted filters where the payload doesn't match your filter.                                                     |
| [Middleware](/v3/middleware)                           | Middleware can wrap the task run function.                                                                                |
| [Automated tests](/v3/automated-tests)                 | Write automated tests in code.                                                                                            |
