Snowflake Data Integration with Snowflake

With Portable, integrate data with your Snowflake warehouse in minutes. Access your automated messaging platform data from Snowflake without having to manage cumbersome ETL scripts.

The Two Paths to Connect to Snowflake

There are two ways to sync data from into your data warehouse for analytics.

Method 1: Manually Developing a Custom Data Pipeline Yourself

Write code from scratch or use an open-source framework to build an integration between and Snowflake.

Method 2: Automating the ETL Process with a No-Code Solution

Leverage a pre-built connector from a cloud-hosted solution like Portable.

How to Create Value with Data

Teams connect to their data warehouse to build dashboards and generate value for their business. Let’s dig into the capabilities exposes via their API, outline insights you can build with the data, and summarize the most common analytics environments that teams are using to process their data.

Extract: What Data Can You Extract from the API? is a automated messaging platform used for sending data-driven emails, push notifications, in-app messages, and SMS.

To help clients power downstream analytics, offers an application programming interface (API) for clients to extract data on business entities. Here are a few example entities you can extract from the API:

  • Account region
  • Customers
    • Add or update a customer
    • Delete a customer
  • Events
  • Forms
  • Segments
    • Add people to a manual segment
  • App API Examples
  • Broadcasts
    • Trigger a broadcast
    • Get a broadcast action
  • Campaigns
    • Get campaign metrics
  • Collections
    • Update a collection
  • Customers
    • Get customers by email
  • ESP Suppressions
    • Get ESP-suppressed emails by type
  • Exports
    • Download an export
  • Imports
  • Messages
  • Newsletters
  • Reporting Webhooks
    • Create a reporting webhook

You can visit the API Documentation to explore the entire catalog of available API resources and the complete schema definition for each.

As you think about the data you will need for analytics, don’t forget that Portable offers no-code integrations to other similar applications.

Regardless of the SaaS solution you use, it’s important to find a automated messaging platform with robust data available for analytics.

Load: Which Destinations Are Best for Your ETL Pipeline?

To turn raw data from into dashboards, most companies centralize information into a data warehouse or data lake. For Portable clients, the most common ETL pipelines are:

  1. to Snowflake Integration
  2. to Google BigQuery Integration
  3. to Amazon Redshift Integration
  4. to PostgreSQL Integration
Common Data Warehouses
Common Data Warehouses

Once you have a destination to load the data, it’s common to combine data with information from other enterprise applications like Jira, Mailchimp, HubSpot, Zendesk, and Klaviyo.

From there, you can build cross-functional dashboards in a visualization tool like Power BI, Tableau, Looker, or Retool.

Develop: Which Dashboards Should You Build with Data?

Now that you have identified the data you want to extract, the next step is to plan out the dashboards you can build with the data.

As a process, you want to consume raw data, overlay SQL logic, and build a dashboard to either 1) increase revenue or 2) decrease costs.

Replicating data into your cloud data warehouse can unlock a wide array of opportunities to power analytics, automate workflows, and develop products. The use cases are endless.

Now that we have a clear sense of the insights we can create, let’s compare the process of developing a custom integration with the benefits of using a no-code ETL solution like Portable.

Method 1: Building a Custom ETL Pipeline

To build your own integration, there are three steps:

  1. Navigate the API documentation
  2. Make your first API request
  3. Turn an API request into a complete data pipeline

Let’s walk through the process in more detail.

How to Interpret’s API Documentation

When reading API documentation, there are a handful of key concepts to consider.


There are many common authentication mechanisms. OAuth 2.0 (Auth Code and Client Credentials), API Keys, JWT Tokens, Personal Access Tokens, Basic Authentication, etc. For, it’s important to identify the authentication mechanism and how best to incorporate the necessary credentials into your API requests.

The Tracking API uses HTTP basic authorization. The App API uses bearer authorization, and users can generate tokens supporting different scopes.

Each operation in this document references the authorization header it requires. Users can find all of the API authentication information in their Account Settings. All requests to the App API use an App API Key.

To authenticate, provide your key as a Bearer token in a HTTP Authorization header. You can create and manage your API keys in your account settings page.


It’s important to identify the API endpoints you want to use for analytics. Most APIs offer a combination of GET, POST, PUT, and DELETE request methods; however, for analytics, GET requests are typically the most useful. At times, POST requests can be used to extract data as well.

For, the Add or update a customer endpoint is a great place to get started.

Request Parameters

For each API endpoint you would like to use for analytics, you need to understand the method (GET, POST, PUT, or DELETE) and the URL, but there are other considerations to take into account as well. You should look out for pagination mechanics, query parameters, and parameters that are added to the request path.

  • start Type: string Description: The token for the page of results you want to return. Responses contain a next property. Use this property as the start value to return the next page of results.

  • limit Type: integer <= 1000 Default: 50 Description: The maximum number of results you want to retrieve per page.

The example requests which use these pagination parameters are:

  • List messages
  • Get newsletter message metadata
  • List customers in a segment
  • List sender identities etc.

This request Returns information about a specific action within a broadcast.

Path Parameters:

  • broadcast_id
  • action_id

How Do You Call the API? (Tutorial)

  1. Follow the instructions above to read the API documentation
  2. Identify and collect your credentials for authentication
  3. Pick the API resource you want to pull data from
  4. Configure the necessary parameters, method, and URL to make your first request (e.g. with curl or Postman)
  5. Add your credentials and make your first API call . Here is an example request using curl (without real credentials):
curl --request PUT \
  --url{identifier} \
  --header 'Authorization: Basic $(echo -n site_id:api_key | base64)' \
  --header 'content-type: application/json' \
  --data '{ }' 

How Do You Maintain a Custom to Snowflake ETL Pipeline?

Making a call to the API is just the beginning of maintaining a complete custom ETL pipeline.

Here is a getting-started guide to building a production-grade pipeline for

  • For each API endpoint, define schemas (which fields exist and the type for each)
  • Process the API response and parse the data (typically parsing JSON or XML)
  • Handle and replicate nested objects and custom fields
  • Identify which fields are primary keys and which keys are required vs. optional
  • Version control your changes in a git-based workflow (using GitHub, GitLab, etc.)
  • Handle code dependencies in your toolchain and the upgrades that come with each
  • Monitor the health of the upstream API, and —when things go wrong— troubleshoot via the status page, reach out to support, and open tickets
  • Handle error codes (HTTP error codes like 400s, 500s, etc.)
  • Manage and respect rate limits imposed by the server

We won’t go into detail on all of the items above, but rate limits are a great example of the complexity found in a production-grade data pipeline.

Track API Limits

The Behavioral Tracking API ( has a fair-use rate limit of 100/requests per second for both active data integrations and historical backfill scripts. If you need to exceed 100 requests per second, contact support. Also note, there is no strictly enforced rate limit at which point will drop your data.

If calls unexpectedly exceed 100 requests per second, we will reach out to help you correct your integration. However we reserve the right to block your API calls if your integration exceeds this limit in a way that degrades performance for our other customers.

Below are the payload size limits for the Track API. If any of these limits are too restrictive for your needs, contact support to let us know your situation as we may be able to accommodate special circumstances. App API Limits Aside from Transactional and Broadcast trigger endpoints, this API is limited to 10 requests per second. The transactional email endpoint is limited to 100 requests per second. The API-triggered broadcast endpoint is limited to 1 request every 10 seconds.

If you don’t respect rate limits, and if you can’t handle server responses (like 429 errors with a Retry-After header), your pipeline can break, and analytics can become out-of-date.

What Are the Drawbacks of Building the ETL Pipeline Yourself?

You can probably tell at this point that there is a lot of work that goes into building and maintaining an ETL pipeline from to your data warehouse.

If you want less development work, faster insights, and no ongoing responsibilities, you should consider a cloud-hosted ETL solution.

Let’s walk through the setup process for a no-code ETL solution and its benefits.

Method 2: Using a No-Code ETL Solution

No-code ETL solutions are simple. Vendors specialize in building and maintaining data pipelines on your behalf. Instead of starting from scratch for each integration. Companies like Portable create connector templates that can be leveraged by hundreds or thousands of clients.

Step-By-Step Tutorial for Configuring Your ETL Pipeline

Off-the-shelf ETL tools offer a no-code setup process. Here are the instructions to connect to your cloud data warehouse with Portable.

  1. Create an account (no credit card required)
  2. Add a source —search for and select
  3. Authenticate with using the instructions in the Portable console
  4. Select Snowflake and authenticate
  5. Set up a flow connecting to your analytics environment
  6. Run your flow to replicate data from to your warehouse
  7. Use the dropdown to set your data flow to run on a cadence

What Are the Benefits of Using Portable for ETL?

No-Code Simplicity

Start moving data in minutes. Save yourself the headaches of reading API documentation, writing code, and worrying about maintenance. Leave the hassle to us.

Easy to Understand Pricing

With predictable, fixed-cost pricing per data flow, you know exactly how much your integration will cost every month.

Fast Development Speeds

Access lightning-fast connector development. Portable can build new integrations on-demand in hours or days.

Hands-On Support

APIs change. Schemas evolve. will have maintenance issues and errors. With Portable, we will do everything in our power to make your life easier.

Unlimited Data Volumes

You can move as much data from to Snowflake as you want without worrying about usage credits or overages. Instead of analyzing your ETL costs, you should be analyzing your data.

Free to Get Started

Sign up and get started for free. You don’t need a credit card to manually trigger a data sync, so you can try all of our connectors before paying a dime.

Stop waiting for your data.Start using Portable today.

Pioneer insights and streamline operations with data from all your business applications.

Get Started