> AI agents: this is one page from Mammoth Analytics documentation. The index of all pages as Markdown is https://docs.mammoth.io/llms.txt. Append `.md` to any docs URL, or send `Accept: text/markdown`, to get Markdown.

# Send to destinations

> Send a View to Mammoth managed or external destinations (databases, SFTP, SharePoint, Tableau, REST API) after every pipeline run, with Auto-sync controls.

The **Export** button in the View toolbar connects your View to a destination that receives data automatically every time your pipeline runs. Once configured, the export becomes a task pinned to the end of your pipeline—no manual steps required.

The Export menu, titled with the View's name, has two tabs. Clicking a card opens the export form in the pipeline panel, where a summary row with a pencil icon lets you switch to another category or connector. The form footer has **Apply** and a read-only **Position** and **Update method** line with a pencil to edit them. Exports run as soon as you apply them.

| Tab | Who manages it | Use when |
| --- | --- | --- |
| **Mammoth Managed** | Mammoth provisions everything | You want zero infrastructure setup |
| **External Destinations** | You provide credentials | You have your own database or server |

![Export menu, Mammoth Managed tab, with the Send to Dataset, Live link, Google BigQuery and PostgreSQL cards](https://docs.mammoth.io/api/v1/images/20261009_003349_Export-menu-mammoth-managed.jpg)

![Export menu, External Destinations tab, listing the available connectors](https://docs.mammoth.io/api/v1/images/20261009_003354_Export-menu-external-destinations.jpg)

## Plan availability

What you can create depends on your plan. A card shows a plan label when your plan doesn't include that destination. Send to Dataset has no plan restriction. The free download options (CSV and XLSX) are covered in [Download options](https://docs.mammoth.io/learn/export-share/download-options). Live links, file exports, database exports, the managed databases, Tableau and REST API Export are each included on specific plans only; check the label on the card or contact support to find out which plan includes the destination you need.

A workspace that is over its managed-database limit gets an error when it creates a managed table.

## Mammoth managed destinations

Mammoth provisions and maintains these—no external credentials or infrastructure needed.

### Send to Dataset

Pushes the current View's output into another Dataset, which can be in a different Project. Use this to pass processed results downstream in a multi-stage pipeline. Unlike the **Mammoth Dataset** option in the Download dialog, this creates a persistent pipeline task that refreshes the Dataset on every run.

**To configure:**

1. Click **Export** → **Send to Dataset**.
2. Choose **New Dataset** or **Existing Dataset**.
   - **New Dataset:** Enter a name and pick a **Location** (a folder, which can be in another Project).
   - **Existing Dataset:** Select a Dataset from the picker.
3. Click **Next**.
4. On the second step, set the options for what is sent:
   - A filter condition, to send only matching rows.
   - **Include hidden columns**, to send columns hidden in the grid.
   - The column list, which maps each column to the destination. For an existing Dataset, **Hide already-mapped columns** helps you find the ones still to map.
   - **Update method**: **Replace** or **Combine**.
   - **Keep at end**, to keep the task at the end of the pipeline.
5. Click **Apply**.

Auto-sync for this task is switched from the step's options menu (see [Auto-sync](#auto-sync)).

![Send to Dataset form in the pipeline panel, steps 1 and 2](https://docs.mammoth.io/api/v1/images/20261009_003551_Export-send-to-dataset-steps-1-and-2.jpg)

### Live link

Generates a persistent URL that always serves the current View's data. The URL never changes—downstream systems can point to it once and always receive fresh data after each pipeline run.

**Characteristics:**

- No configuration fields—Mammoth generates the link automatically, as CSV without hidden columns
- One Live link per View
- Included only on some plans (see [Plan availability](#plan-availability))
- The URL is displayed on the task card with a **Copy** button
- Auto-sync controls whether the URL serves updated data after each pipeline run (default: ON)
- Live Link is always pinned to the end of the pipeline

See [Live links](https://docs.mammoth.io/learn/export-share/live-links) for details.


### Google BigQuery / PostgreSQL (Mammoth managed)

Mammoth provisions a fully managed **Google BigQuery** or **PostgreSQL** instance on demand—no credentials to configure, no infrastructure to manage.

Each appears as its own card on the Mammoth Managed tab, alongside Send to Dataset and Live link.

**To configure (same steps for both):**

1. Click **Export**, then click the **Google BigQuery** or **PostgreSQL** card under Mammoth Managed.
2. Enter the destination table name (auto-filled from your Dataset and View names).
3. Click **Next: Generate Table and Copy Credentials**.
4. Mammoth creates the table, showing progress messages as it works, then opens the **Database Credentials** dialog.
5. Use those credentials to connect your BI tool (Tableau, Power BI, Looker) directly:
   - **PostgreSQL**: host, port, username, password, database and table, with a **Copy all credentials** button.
   - **BigQuery**: the dataset and table, a **Service Account Email** to paste into tools such as Power BI, and a downloadable **Service Account JSON key** file. Keep the key secure.

![Mammoth Managed Google BigQuery export form with the table name field](https://docs.mammoth.io/api/v1/images/20261009_003533_Export-form-mammoth-managed-bigquery.jpg)

The managed database table is replaced in full on each pipeline execution (drop and recreate). Managed databases have no Keep-at-end option.

## External destinations

Connect Mammoth to your own infrastructure. You provide the credentials; Mammoth delivers the data after each pipeline run.

Some external destination types depend on your plan; see [Plan availability](#plan-availability).

**Supported destinations:**

| Destination | Default port or credential type | Typical use |
| --- | --- | --- |
| Google BigQuery | (JSON key file) | Cloud analytics, Looker integration |
| Elasticsearch | 9243 | Search index, operational dashboards |
| SQL Server | 1433 | Microsoft ecosystem, Power BI |
| MySQL | 3306 | Web application backend |
| PostgreSQL | 5432 | General-purpose database, Tableau/Power BI |
| Amazon Redshift | 5439 | AWS data warehouse |
| SFTP | 22 | Scheduled file delivery to external servers |
| SharePoint | (OAuth app) | Microsoft 365 file integration |
| Azure Blob Storage | (Azure AD app) | Cloud file storage |
| OneDrive | (Azure AD app) | Microsoft 365 file integration |
| Tableau Server/Cloud | (Personal Access Token) | Publish directly as a Tableau data source |
| REST API | (per endpoint) | Push data to any HTTP endpoint |

The footer of the export form shows the task's **Position** (default: end of pipeline) and **Update method**. Click the pencil icon to change them. See [Additional options](#additional-options).

### Google BigQuery (external)

BigQuery uses a JSON service account credentials file—not a username and password.

**Configuration steps:**

1. Upload your BigQuery service account JSON file. If you have saved more than one connection, pick one from the **Connection** dropdown; an icon next to it deletes a saved connection.
2. Enter the **Table Name**.
3. Select your **Project Name** from the searchable dropdown (populated from your credentials)—each entry represents a project/dataset pair.
4. Choose the **Update method** in the form footer (see below).
5. If using **Merge**, select the **Reference Column(s)** used as merge keys.
6. Optionally enable **Partitioning** (requires a DATE column in the View).

Mammoth also writes a reference table named `ref_<table>` alongside the data table in the BigQuery dataset.

**Update methods:**

| Method | Label in UI | Behaviour |
| --- | --- | --- |
| Replace | Replace | Deletes all existing rows and inserts fresh data on each run |
| Combine | Combine | Appends new rows to the existing table without modifying existing rows |
| Merge | Merge | Updates rows matching the reference column(s); inserts rows with no match |

When **Merge** is selected, you must also choose one or more **Reference columns**—these are the primary key columns used to match existing rows.

**Partitioning** (available when the View contains DATE columns):

- Tick the **Partitioning** checkbox and select a date column as the partition key.
- Choose the partition granularity: **Day**, **Month**, or **Year**.
- When editing an existing BigQuery export, the Partitioning checkbox is only enabled if the Update method is Replace. When creating a new export, Partitioning can be set up alongside Combine or Merge too.

![External Google BigQuery export form with Table Name, Project Name, partitioning and Replace, Combine or Merge update methods](https://docs.mammoth.io/api/v1/images/20260422_170508_ExternaldestnationBigQuery1.jpg)

### PostgreSQL, MySQL, SQL Server, Amazon Redshift

These four databases share the same configuration form.

**Fields:**

- **Host**—your database server hostname or IP address
- **Port**—pre-filled with the connector's default (3306 for MySQL, 5432 for PostgreSQL, 1433 for SQL Server, 5439 for Redshift)
- **Username**—database user with write permissions
- **Password**—database user password
- **Database**—name of the target database
- **Table name** (optional)—if left blank, Mammoth uses a default name derived from the Dataset and View

Column names longer than 63 characters make the export fail, so shorten them first.

**Important:** Whitelist Mammoth's IP address (`34.255.92.234`) in your database firewall before clicking **Validate Connection**. The required IP is shown at the top of the form.

Click **Validate Connection** to confirm Mammoth can reach your database (it creates and then drops a test table) before clicking **Apply**. Apply itself only checks that the required fields are filled in—it isn't blocked by a failed or skipped validation, so validating first is the only way to catch bad credentials before the export runs.

**Include hidden columns:** A checkbox appears if your View has columns that are hidden in the grid. Enable it to include those columns in the export output.

![External MySQL export form with an IP allowlist notice and Host, Port, Username, Password, Database and Table name fields](https://docs.mammoth.io/api/v1/images/20260422_170634_MySQLexternaldestinationformshowingIPwhitelist1.jpg)

### Elasticsearch

**Fields:**

- **Host**—your Elasticsearch server hostname
- **Port**—default 9243
- **Username**—Elasticsearch username
- **Password**—Elasticsearch password
- **Batch Size**—number of records per batch (default: 2,000)
- **Index Name**—name of the Elasticsearch index to write to
- **Connect Via**—HTTPS or HTTP (default: HTTPS)

**Important:** Whitelist Mammoth's IP address (`34.255.92.234`) in your Elasticsearch firewall before clicking **Validate Connection**.

Click **Validate Connection** to confirm Mammoth can reach your instance before clicking **Apply**—Apply itself isn't gated on a successful validation, so validating first is the only way to catch bad credentials before the export runs.

**Include hidden columns** is available if your View has hidden columns.

![External Elasticsearch export form with Host, Port, Username, Password, Batch Size, Index Name and Connect Via fields](https://docs.mammoth.io/api/v1/images/20260422_170732_ElasticsearchformshowingHostPortUsername1.jpg)

### SFTP

**Fields:**

- **Host**—SFTP server hostname
- **Port**—default 22
- **Username**—SFTP login
- **Password**—SFTP password
- **Directory** (optional)—destination folder on the server; defaults to the home directory
- **File Name**—name for the delivered file; auto-filled from the Dataset and View names
- **Randomize file name**—appends a random suffix to the filename to avoid overwriting previous deliveries

The SFTP form has no hidden-columns option and no **Validate Connection** button; hidden columns are not delivered.

![External SFTP export form with Host, Port, Username, Password, Directory, File Name and a Randomize file name checkbox](https://docs.mammoth.io/api/v1/images/20260422_170822_SFTPformshowingHostPortUsernamePasswordDirectory1.jpg)

### SharePoint

**Fields:**

- **Tenant ID**—your Microsoft Azure tenant ID
- **Client ID**—the app registration client ID
- **Client Secret**—the app registration client secret
- **Site URL**—your SharePoint site URL (e.g. `contoso.sharepoint.com/sites/MySite`)
- **Document Library** (optional)—the document library to place the file in
- **Folder Path** (optional)—subfolder path (e.g. `/General/Folder`)
- **File Name**—name for the delivered file

**Include hidden columns**—this checkbox always appears on the SharePoint form, regardless of whether the View has any hidden columns.

![External SharePoint export form with Tenant ID, Client ID, Client Secret, Site URL, Document Library and Folder Path fields](https://docs.mammoth.io/api/v1/images/20260422_170910_SharePointformshowingTenantID1.jpg)

### Azure Blob Storage

Authenticates via an Azure AD app registration, the same way as SharePoint and OneDrive.

**Fields:**

- **Tenant ID**—your Microsoft Azure tenant ID
- **Client ID**—the app registration client ID
- **Client Secret**—the app registration client secret
- **Storage Account Name**—e.g. `mystorageaccount`
- **Container Name**—e.g. `my-container`
- **Folder Path** (optional)—e.g. `exports/data`; defaults to the root of the container
- **File Name**—name for the delivered file

**Include hidden columns**—this checkbox always appears on the form, regardless of whether the View has any hidden columns.


### OneDrive

Authenticates via an Azure AD app registration, the same way as SharePoint and Azure Blob Storage.

**Fields:**

- **Tenant ID**—your Microsoft Azure tenant ID
- **Client ID**—the app registration client ID
- **Client Secret**—the app registration client secret
- **User ID**—the OneDrive account to deliver to, e.g. `user@contoso.com`
- **Folder Path** (optional)—e.g. `/Documents/Exports`; defaults to the root of the user's OneDrive
- **File Name**—name for the delivered file

**Include hidden columns**—this checkbox always appears on the form, regardless of whether the View has any hidden columns.


### Tableau Server/Cloud

Publishes the View's output directly as a Tableau data source, using a Personal Access Token rather than a username and password.

**Fields:**

- **Server URL**—e.g. `https://prod-apnortheast-a.online.tableau.com`
- **Site Name** (optional)—leave empty for the default site
- **Token Name**—the Personal Access Token's name
- **Token Secret**—the Personal Access Token's secret value
- **Project Name**—the Tableau project to publish into (defaults to `default`)
- **Datasource Name**—auto-filled from the Dataset and View names

This form has no "Include hidden columns" checkbox—hidden columns are never included in a Tableau publish.


### REST API Export

Pushes each pipeline run's data to any HTTP endpoint you specify, as a POST, PUT, or PATCH request.

**Fields:**

- **Base URL**—e.g. `https://api.example.com/v1`
- **Authentication**—choose one:
  - **None**
  - **API Key**—Key Name (header name, e.g. `X-API-Key`) and Key Value
  - **Bearer**—Bearer Token
  - **Basic**—Username and Password
  - **OAuth 2.0**—Client ID, Client Secret, Authorization URL, and Token URL
- **Endpoint path**—e.g. `/v1/records`
- **HTTP method**—POST, PUT, or PATCH
- **Wrap path** (optional)—wraps the row data under this key in the request body; pre-filled with `records`
- **Batch size**—number of rows sent per request (default: 1,000, maximum 10,000)
- **Advanced Settings**:
  - **Timeout (sec)**—request timeout (default: 30)
  - **Verify SSL Certificate**—on by default; turn off only for endpoints with self-signed certificates

Mammoth refuses to send to a URL that resolves to a private or reserved IP address, so the endpoint must be publicly reachable. If the endpoint answers with a 5xx error, Mammoth retries up to 3 times; for a 429 (rate limited) response it retries up to 5 times. OAuth 2.0 uses the authorization-code flow.


## Additional options

The footer of every export form shows a read-only **Position** and **Update method** line. Click the pencil icon to edit them.

### Position (keep at end)

By default the export task sits at the end of the pipeline, so it always runs after all transformation tasks. Mammoth keeps it there automatically. Change it only if you need the export at a specific position (rare). Live link and the managed databases have no position option.

### Update method

Controls how data is written to the destination on each run:

- **Send to Dataset**: **Replace** or **Combine**.
- **External Google BigQuery**: **Replace**, **Combine** or **Merge**. See the [external Google BigQuery section](#google-bigquery-external) for the full table.

## Auto-sync

Every export destination has an **Auto-sync** setting, shown as ON or OFF on its task card and switched from the step's options menu. When ON (the default), the destination receives updated data automatically after each pipeline execution. When OFF, data is held until you release it manually from the Monitor panel.

**When to turn Auto-sync off:**

- You need to review output before it reaches a downstream system
- A compliance process requires human sign-off before data delivery
- You're testing pipeline changes and don't want production destinations updated yet

Each export destination can be paused independently—for example, you can keep Auto-sync ON for a Live Link while holding a database export pending for review.


## Monitor

The **Monitor** panel (opened from its icon in the left sidebar) tracks exports and pipeline health across up to four tabs:

**Needs Attention**—everything currently waiting on you, with an orange badge count. Within this tab:
- An **Errors** section.
- A **Pending** section lists items with new data waiting to be released—including destinations with Auto-sync OFF that have new pipeline output. Each item shows an **Update** button that releases the pending data to that destination immediately, without re-enabling Auto-sync.
- A separate **Governance** section covers checkpoint approvals and failed Data Checks earlier in the pipeline.
- A **Pending Retentions** section.

**Running**—currently executing pipeline and export tasks across the workspace, with long-running tasks flagged as stuck.

**Paused**—every data source (View, Dataset) and export destination that has Auto-sync intentionally turned off, regardless of whether it currently has pending data. Useful for auditing which tasks are in manual-approval mode. Includes a shortcut to turn Auto-sync back on.

**Activity Log**—a history of workspace activity (visible if you have permission to view it).

![Monitor panel with the Needs Attention, Running, Paused and Activity Log tabs](https://docs.mammoth.io/api/v1/images/20261009_004015_Monitor-panel-tabs.jpg)

For regulated workflows, combine Auto-sync OFF on critical destinations with a Data Check task earlier in your pipeline. The Data Check runs automated quality validation (null checks, row count thresholds, value ranges) and halts the pipeline if data fails—so only validated data ever reaches the manual review stage.

## Troubleshooting

### Validate Connection fails

**Cause:** Mammoth's IP address (`34.255.92.234`, shown in the form) is not allowed in your database firewall, or the credentials lack permissions. Validate Connection checks for CREATE TABLE and DROP TABLE permissions.

**Fix:** Add the IP address to your firewall allowlist. Also grant INSERT permission, which the data delivery needs once the export runs.

### Destination not updating after pipeline runs

**Cause:** Auto-sync is OFF for the destination, or the View's own Auto-sync is OFF so the pipeline never re-executes and no export runs.

**Fix:** Turn Auto-sync ON for the destination and the View. Check **Monitor → Needs Attention → Pending** for exports waiting to be released.

### Schema conflict error

**Cause:** This applies to BigQuery exports using the Combine or Merge update method, where the destination table persists between runs. The View's columns no longer match the destination table's columns, so the run fails. PostgreSQL, MySQL, SQL Server, and Redshift destinations drop and recreate the table on every run, so this error doesn't apply to them.

**Fix:** Delete and recreate the destination, or adjust the View to match the original column structure.

### BigQuery Merge fails

**Cause:** The Reference column is missing from the View or the destination table, or the names or data types don't match.

**Fix:** Confirm the Reference column exists in both with matching names and compatible data types.

### Export shows SUCCESS but destination didn't update

**Cause:** View Auto-sync is OFF (the pipeline didn't re-execute), or Export Auto-sync is OFF on specific destinations (delivery is held pending).

**Fix:** Open **Monitor → Needs Attention → Pending** to see and release pending exports.

---
Source: https://docs.mammoth.io/learn/export-share/send-to-destinations.md · Updated: 2026-10-13