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

# Overview

> Learn about FileFeed's automated file processing workflows

## What are Automated Flows?

Automated Flows allow you to set up file processing workflows that run automatically without manual intervention. Files are processed based on triggers like file uploads, scheduled intervals, or external system events.

## Key Benefits

<Columns cols={2}>
  <Card title="Hands-off Processing" icon="robot">
    Set up once and let FileFeed handle file processing automatically.
  </Card>

  <Card title="Multiple Triggers" icon="bolt">
    Process files based on uploads, schedules, or external events.
  </Card>

  <Card title="Scalable Processing" icon="chart-line">
    Handle large volumes of files with automatic scaling.
  </Card>

  <Card title="Integration Ready" icon="plug">
    Connect with SFTP, APIs, and other external systems.
  </Card>
</Columns>

## How it Works

1. **Configure the Flow** - Set up your processing rules and triggers
2. **Define Input Sources** - Specify where files come from (SFTP, API, etc.)
3. **Set Processing Rules** - Define how files should be processed
4. **Configure Outputs** - Specify where processed data should go
5. **Monitor & Manage** - Track processing status and manage flows

## Supported Integrations

* **SFTP (Inbound)** - Senders upload files to dedicated SFTP folders per connection
* **Email (Inbound)** - Senders email files to a dedicated inbound address per connection; FileFeed validates the message and runs the attachment through the pipeline
* **API (Outbound)** - Your backend pushes JSON data via the multipart upload API
* **Webhooks** - Receive notifications when files are processed
* **Cloud Storage** - Coming soon

## Flow Types

### Scheduled Flows

Process files at regular intervals (hourly, daily, weekly, etc.)

### Event-driven Flows

Process files when specific events occur (file upload, API call, etc.)

### Continuous Flows

Monitor directories or endpoints continuously for new files

## Architecture

### Inbound (SFTP)

```
SFTP Upload (per Connection)
  → FileFeed SFTP
    → Pipeline (Schema + Mappings + Transforms)
      → Processing & Validation
        → Webhook Event (signed)
          → Fetch processed data via API/SDK
            → Persist to your DB
```

### Inbound (Email)

```
Sender emails a file to {connection}@in.filefeed.io
  → FileFeed receives the message
    → Validate sender / attachment format / subject
      → Pipeline (Schema + Mappings + Transforms)  (first attachment)
        → Processing & Validation
          → Webhook Event (signed)
            → Fetch processed data via API/SDK
              → Persist to your DB
```

A rejected message (sender not allow-listed, disallowed attachment format,
subject-filter miss, or no attachment) is recorded as a **failed** pipeline run
so it's visible in **Dashboard → Pipeline Runs** alongside successful ones — see
[Email Flow](/automated-flows/email).

### Outbound (API)

```
Your Backend
  → POST /outbound/uploads (init)
    → PUT .../parts/:n (upload JSON chunks)
      → POST .../complete (combine & trigger)
        → Pipeline (Schema + Mappings + Transforms)
          → Processing & Validation
            → Webhook Event (signed)
              → Fetch processed data via API/SDK
                → Persist to your DB
```

<Tip>
  Respond quickly to webhooks and process asynchronously (queue/worker). Use the SDK to fetch full data pages.
</Tip>

## Next Steps

<CardGroup cols={2}>
  <Card title="SFTP Flow" icon="server" href="/automated-flows/sftp">
    Inbound: SFTP setup, webhooks, monitoring.
  </Card>

  <Card title="Email Flow" icon="envelope" href="/automated-flows/email">
    Inbound: email files to a dedicated address; sender/format/subject rules.
  </Card>

  <Card title="Outbound Flow" icon="arrow-up-from-bracket" href="/automated-flows/outbound">
    Push JSON data via API multipart uploads.
  </Card>

  <Card title="API Library" icon="code" href="/api-library/overview">
    Use the TypeScript SDK to sync data.
  </Card>
</CardGroup>

### Checklist

* [ ] Create Connection (SFTP / self-hosted SFTP / Email)
* [ ] Define Schema (JSON Schema `definition`)
* [ ] Create Pipeline (mappings & transforms; set `direction` to `inbound` or `outbound`)
* [ ] Register Webhook (store secret, verify signature)
* [ ] Upload data via SFTP (inbound) or API (outbound)
* [ ] Fetch processed data and persist
