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

# Quickstart: First Pipeline in Minutes

> Connect a source, sync to your warehouse, and enable catalog plus quality — first Zwiron pipeline in minutes.

This guide walks you through creating your first Zwiron pipeline — from connecting your source and destination to watching data flow.

<Info>You'll need a Zwiron account. [Sign up for free](https://zwiron.com/login?mode=signup) — no credit card required. You get a **14-day trial** with a **1 GB** sample data-transfer cap. After that, subscribe to **Individual** (\$79/mo) in the app or talk to us for **Enterprise**. See [Billing → Free trial](/platform/billing#free-trial).</Info>

***

## Step 1 — Choose how your pipeline runs

Zwiron pipelines run in one of two modes. Pick the one that fits your setup:

<Tabs>
  <Tab title="Hosted (no setup)">
    Your pipeline runs on Zwiron's infrastructure. Nothing to install — just connect your source and destination and go.

    **Use this when** your source and destination are cloud services reachable over the internet (e.g. Snowflake, BigQuery, RDS with a public endpoint, any SaaS API).

    Skip to **Step 2** — no agent needed.
  </Tab>

  <Tab title="Agent (your network)">
    A lightweight binary runs inside your network. Synced row data stays on your side — source to destination inside your infrastructure.

    **Use this when** your database is in a private VPC, on-premises, or compliance requires sync to stay in your network.

    Run this on the server where your data lives:

    ```bash theme={null}
    curl -fsSL https://raw.githubusercontent.com/zwiron/agent/main/install.sh | sudo sh
    sudo zwiron-agent install --token <YOUR_TOKEN>
    ```

    Find your token in **Settings → Agents → New Agent**. Full options: [Agent installation guide](/getting-started/install-agent).
  </Tab>
</Tabs>

***

## Step 2 — Create a Source Connection

1. Go to **Connections** in the sidebar
2. Click **New Connection**
3. Choose your source (e.g. Postgres)
4. Enter your connection credentials
5. Click **Test Connection** — Zwiron will verify connectivity through your agent
6. Click **Save**

***

## Step 3 — Create a Destination Connection

Repeat the same steps for your destination (e.g. Snowflake or BigQuery).

***

## Step 4 — Create a Pipeline

<Tip>On a trial account, pick **sample tables**. Total data transfer is capped at **1 GB**. Profile your source connection first so Zwiron can estimate sizes before the sync starts. Syncs stop at the cap — there is no next-cycle overage bill.</Tip>

1. Go to **Jobs** in the sidebar
2. Click **New Job**
3. Select your source connection
4. Select which tables or streams to sync
5. Select your destination connection
6. Choose a sync mode:
   * **Full Refresh** — copies everything every run
   * **Incremental** — only syncs new or changed rows
   * **CDC** — streams changes in real time (requires CDC-capable source)
7. Set a schedule (e.g. every hour, every 6 hours, daily)
8. Click **Save & Run**

***

## Step 5 — Watch it run

Click into your job to see:

* Tables being synced
* Rows transferred
* Errors (if any)
* Last run time and next scheduled run

***

## What's next?

<CardGroup cols={2}>
  <Card title="Agent installation options" icon="server" href="/getting-started/install-agent">
    Docker, Kubernetes, bare metal
  </Card>

  <Card title="Sync modes explained" icon="arrows-rotate" href="/concepts/sync-modes">
    Full refresh, incremental, CDC
  </Card>

  <Card title="Transforms" icon="filter" href="/concepts/transforms">
    Filter, rename, and cast columns
  </Card>

  <Card title="All connectors" icon="plug" href="/connectors/overview">
    See every supported source and destination
  </Card>
</CardGroup>
