SnowExporter — Product

A Snowflake Native App for exporting query results.

Run a query, deliver the result by email or to cloud storage, on demand or on a schedule. Everything runs inside your Snowflake account.

What is SnowExporter?

SnowExporter lets a Snowflake user run a query and deliver the result without leaving Snowflake. Results can be emailed, downloaded via a presigned link, or written as a file to an internal Snowflake stage or to AWS S3, GCP GCS, or Azure Blob — once-off or on a recurring schedule. Because SnowExporter is a Snowflake Native App, all execution and all data stay inside your Snowflake account.

Why a Native App matters

Snowflake Native Apps run inside the customer's Snowflake account, not on the provider's infrastructure. Your data is never copied or shared with the app vendor. You retain full control over what the app can do by granting only the privileges it needs.

SnowExporter is designed to ask for the minimum. The setup helpers built into the app generate the exact SQL snippets for each grant, so your ACCOUNTADMIN knows exactly what is being granted before they paste anything.

What v1.3 ships

Feature list

🤖 AI-assisted export creation v1.3

Describe an export in plain English; Cortex extracts the SQL, schedule, delivery mode, and destination. Pro / Trial only. Requires Snowflake Cortex on the account.

💬 Slack & Teams delivery v1.2

Deliver query results to a Slack or Microsoft Teams channel as a monospace table, with an optional downloadable file for larger results.

Ad-hoc & email exports

Email the result in the message body (≤50 rows) or as a presigned download link to a file in an internal stage.

File exports

Write a CSV or JSON file to an internal stage or to AWS S3, GCP GCS, or Azure Blob — with optional GZIP and optional timestamp suffix.

Scheduled exports

Cron-based schedules for any delivery mode. Configurable timezone. Pause, resume, or delete from the Scheduled Exports page.

Unified Notifications v1.2

Email recipients, Slack channels, and Teams channels under a single 📣 Notifications tab. Per-channel Description, Business Contact, and one-click Test button.

Multi-destination management

Many destinations and channels of each type. Per-destination Description, Business Contact, and independent enable/disable.

Role-based destination policy

Per-destination "allowed roles" multiselect, recorded and surfaced in Settings → Users. See the limitations section for the v1.3 enforcement caveat (unchanged from v1.0).

Observability

Activity dashboard on Home. Full audit log on the Logs page with per-query actual compute credits pulled from ACCOUNT_USAGE.

Supported destinations

Internal stage and three cloud destinations.

TypeIconSetup
Email recipient 📧 Snowflake email notification integration; recipients must be verified Snowflake user emails
Slack channel v1.2 💬 Slack incoming webhook URL configured under Settings → Notifications → Slack
Microsoft Teams channel v1.2 💬 Teams incoming webhook URL configured under Settings → Notifications → Teams
Internal Snowflake stage ❄️ Snowflake-managed; ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE') required for download links
AWS S3 🟧 Storage integration + IAM role trust policy (in-UI SQL helper spells out each step)
GCP GCS 🔵 Storage integration + service account binding
Azure Blob 🔷 Storage integration + access grants
How to get started

From install to first export.

  1. Install SnowExporter from the Snowflake Marketplace.
  2. Grant the references the app asks for: a warehouse for scheduled tasks and one or more source tables.
  3. Settings → Notification: create the email integration named NATIVE_APP_EMAIL_INTEGRATION and grant it to the app. The in-UI helper provides the exact SQL.
  4. Settings → Export destinations: add your first destination (internal stage or cloud). For cloud destinations, tick Show required setup SQL for the storage-integration and grant snippet.
  5. Click Create Data Export. Pick a query, choose a delivery mode and destination, run.

The in-app Settings → 📤 Export destinations → + Add a destination → Show required setup SQL generates the exact SQL for each cloud, including the trust-policy steps for AWS.

Honest limitations

Known caveats in v1.0.

We'd rather you know these up front than discover them after install.

  • Email body delivery is capped at 50 rows. Snowflake's SYSTEM$SEND_EMAIL constraint. For larger results use download-link, chat, or file delivery.
  • Email recipients must be verified Snowflake user emails on your account. The app does not accept free-text email addresses.
  • Slack & Teams in-chat tables are capped at 10 rows + summary line. For larger results in chat, the optional file attachment via 24-hour presigned link covers unlimited rows.
  • Internal stages require ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE') for presigned download links to return readable files. The in-app setup helper generates the CREATE STAGE SQL with the right clause by default.
  • Per-destination role enforcement is policy-only in v1.3. The access policy is recorded and displayed in Settings → Users but not enforced at runtime. Runtime enforcement is on the roadmap.
  • AI assist (v1.3) requires Snowflake Cortex on your account and is Pro / Trial only. On accounts without Cortex, the AI panel renders an explainer and the manual wizard continues to work normally.
  • Per-file size follows Snowflake's COPY INTO limits (16 MB for SINGLE = TRUE; partitioned output for larger results).

Release notes

  • v1.3 (current) — AI-assisted export creation via Snowflake Cortex. Full changelog →
  • v1.2 — Slack and Microsoft Teams channel delivery, unified Notifications settings, targeted bug fixes. Full changelog →
  • v1.1 — UX and performance improvements (patch release).
  • v1.0 — initial release. Archived changelog →