# Blober Concepts: Providers & Workflows

> Understand Blober's core concepts, storage providers, workflows, transfers, and tasks, and how they work together to move your files.

This section explains the core concepts behind Blober's design. Understanding these will help you use the app effectively.

## Workflows

A **workflow** is a saved configuration that defines:

1. **Source** - Where files come from (provider + path + credentials)
2. **Destination** - Where files go (provider + path + credentials)
3. **Action** - What to do (copy, move, sync, delete)

Workflows are templates that can be run multiple times. Each run creates a task.

See [Workflows Guide](/kb/docs/desktop-app/workflows) for details.

## Tasks

A **task** is a single execution of a workflow. When you start a workflow, Blober creates a task that:

* Enumerates files matching the source criteria
* Processes each file according to the action
* Tracks progress (files, bytes, status)
* Logs operations and errors

Tasks have states: pending, running, paused, completed, failed, cancelled.

See [Progress Guide](/kb/docs/desktop-app/progress) for details.

## Actions

An **action** defines what happens to source files:

| Action     | Description                    | Source Files After |
| ---------- | ------------------------------ | ------------------ |
| **Copy**   | Duplicate files to destination | Unchanged          |
| **Move**   | Transfer files to destination  | Deleted            |
| **Sync**   | Mirror source to destination   | Unchanged          |
| **Delete** | Remove files from source       | Deleted            |

## Path Templates

**Path templates** let you organize destination files dynamically using placeholders:

```plaintext
{file_created_date}/{filename}
```

This creates a date-based folder structure automatically.

Available variables include:

* `{filename}`, `{filename_no_ext}`, `{file_ext}`
* `{file_created_date}`, `{file_modified_date}`
* `{current_date}`, `{current_datetime}`
* `{file_size}`, `{file_size_mb}`
* `{file_dir}`

See [Workflows Guide](/kb/docs/desktop-app/workflows#path-templates) for the full list, or the [complete path-template guide](/kb/articles/blober-path-templates-complete-guide/) for worked examples.

## Source Filters

**Filters** control which files are included in a transfer:

* **Include patterns:** `*.jpg`, `*.{png,gif}`
* **Exclude patterns:** `*.tmp`, `.DS_Store` (entered in the dedicated Exclude Pattern field)
* **Folder patterns:** `documents/**`

Filters use glob syntax for flexible matching.

`{file_dir}` is the relative directory beneath a selected source folder. It is empty for directly selected files and for files at the selected folder's root. See [how the file\_dir variable works](/kb/articles/blober-file-dir-path-template/) for detailed cases.

## Deduplication

**Deduplication** is a destination setting that decides what happens when a file already exists at the destination: skip it, overwrite it, or keep both. Not every destination supports it, and it compares the destination path rather than file contents.

See [Deduplication](/kb/docs/getting-started/deduplication/) for the policies, where the control appears, and how it differs from resuming a task.

## Credentials

Each provider requires **credentials** to authenticate with the service:

* **API Keys:** AWS, Wasabi, Backblaze (key ID + secret)
* **Connection Strings:** Azure Blob
* **OAuth:** Google Drive, Google Photos (browser authorization)

Credentials are stored securely in your local database and never sent to Blober's servers.