Is your organization generating a lot of customer support data in Zendesk? Are you trying to make sense of this data? If this applies to you, then it might make sense for you to transfer your data from Zendesk to a fully managed Data Warehouse platform like Snowflake so you can perform deep analytics on it.

This blog will present 2 ways of moving data from Zendesk to Snowflake. Thus, enabling you to pick the one that best suits your needs.

What is Zendesk?

Zendesk Logo: Zendesk to Snowflake
Image Source

Zendesk is a customer service support platform that unifies customer activity across multiple channels to enable you to be able to track support-related activity from one location. Zendesk also has CRM functionality and easy integration with CRM tools like Salesforce. This enhances your ability to monitor the entire customer lifecycle in your organization. 

Key Highlights of Zendesk:

  • Customer Feedback: You are able to receive constant feedback from customers through the Zendesk platform. This provides another avenue for your customer service desk to gauge the success of their efforts.
  • Ticketing System: Zendesk’s ticketing system brings together requests from multiple channels, enabling fast response times.
  • Reporting: Zendesk has reporting capabilities that provide a quick overview of your service desk activities over a specified period of time.
  • Integrations: Zendesk provides integrations for many popular CRM and marketing tools like Mailchimp and Salesforce. This makes it particularly handy for the modern business environment. 

What is Snowflake?

Snowflake Logo: Zendesk to Snowflake
Image Source: Icons-Icons

Snowflake is a cloud-based data warehouse. It is fully managed and operates using the Software-as-a-Service model. Thus, its users do not have to get involved in any maintenance activities after setting it up. Snowflake is becoming increasingly popular owing to its ease of use, speed and scalability. Snowflake also has separate storage and compute layers. This enables them to be scaled independently of each other and also priced differently. You can read more about Snowflake Data Warehouse here.

Key Highlights of Snowflake:

  • Low Maintenance: Snowflake does not require software and hardware installations or much infrastructure management from your internal team. This is because much of this is handled on the backend.
  • Speed: Already-running queries are not impacted by scaling in Snowflake. Thus, they do not affect running speeds.
  • Cloning Functionality: Snowflake allows the creation of instant copies of objects in real-time. These copies store pointers of the original data in a new table and are not deep copies of the original data. Thus, the cloning functionality saves a lot of space when compared to copying in other data warehouses.
  • Separate Storage and Compute Layer: Snowflake’s separate storage and compute layer enables versatile scalability – you can scale either one up or down without affecting the other. Also, you only have to pay for what you use as payment for each layer is also independent of the other. 

Read more on Snowflake Dashboards and Other Key Features of Snowsight here.

Reliably integrate data with Hevo’s Fully Automated No Code Data Pipeline

If yours anything like the 1000+ data-driven companies that use Hevo, more than 70% of the business apps you use are SaaS applications Integrating the data from these sources in a timely way is crucial to fuel analytics and the decisions that are taken from it. But given how fast API endpoints etc can change, creating and managing these pipelines can be a soul-sucking exercise.

Hevo’s no-code data pipeline platform lets you connect over 150+ sources in a matter of minutes to deliver data in near real-time to your warehouse. What’s more, the in-built transformation capabilities and the intuitive UI means even non-engineers can set up pipelines and achieve analytics-ready data in minutes. 

All of this combined with transparent pricing and 24×7 support makes us the most loved data pipeline software in terms of user reviews.

Take our 14-day free trial to experience a better way to manage data pipelines.

Get started for Free with Hevo!

Prerequisites

  • Working knowledge of Zendesk.
  • Working knowledge of Snowflake.
  • A general idea of command-line.
  • A Snowflake account.

Methods to Connect Zendesk to Snowflake

There are multiple methods that can be used to connect Zendesk to Snowflake and load data easily:

Method 1: Using Zendesk RESTful APIs to Connect Zendesk to Snowflake

This process would require an investment in your engineering team. The high-level steps are as follows:

Step 1: Extracting Data from Zendesk

Zendesk provides access to its data through its REST API. Zendesk administrators can access this data by making calls to its API. It is imperative that an administrator access the data (or you become a one) as Zendesk limits its data access for security. For example, to access data on tickets, you may use the code GET /api/v2/tickets.json. The data returned will be of the following format

{  "id":      35436,
   "subject": "Help I need somebody!",
    ...
    },
{   "id":      20057623,
    "subject": "Not just anybody!",
     ...
    },
    ...
  ] }

Additional information on Zendesk’s API can be found here:

https://developer.zendesk.com/rest_api/docs/support/introduction

Step 2: Preparing the Data

Additional tables may need to be created to accommodate some of the JSON data if it’s not flattened out (nested).

Special care must also be taken to ensure that the data coming out of Zendesk properly corresponds to its equivalent types in Snowflake. Specific information on Zendesk attributes and their data types can be found here https://developer.zendesk.com/rest_api/docs/support

Snowflake provides support for many widely used data types. Documentation on Snowflake data types can be found here- Preparing Your Data Files.

Step 3: Loading the Data into Snowflake

We can load the data into Snowflake via SnowSQL (Snowflake’s Command Line Interface) with the help of the COPY INTO SQL statement. The files can be loaded from Snowflake’s stages or from any of its external storage locations.

Loading the Data from Snowflake Stages:

We can use the PUT command to ingest the data into a Snowflake stage. We then use COPY INTO to load it into Snowflake. The following commands are used to load the data from the respective stage types:

Created Internal Stage:

COPY INTO TABLE1 FROM @Stage_Name

Table Stage Type:

COPY INTO TABLE1 file_format=(Type=’JSON’   Strip_outer_array=”TRUE”)

User Stage Type:

COPY INTO TABLE1 FROM @~/staged file_format=(format_name=’json_format’)
Loading from External Storage Locations:

You can either load directly from a specific storage location or create an external stage for the location and load from it. It is easier to load from an external stage as Snowflake encapsulates the required information like the credentials and location, making it easy for you to reference it. Such a stage can be referenced with a simple statement. Example: COPY INTO TABLE1 FROM @External_Stage_Name. The following is the code to load from the Amazon S3, GCS, and Microsoft Azure locations respectively:

Amazon S3

COPY INTO TABLE1 FROM s3://bucket CREDENTIALS= (AWS_KEY_ID='YOUR AWS ACCESS KEY' AWS_SECRET_KEY='YOUR AWS SECRET ACCESS KEY') ENCRYPTION= (MASTER_KEY = 'YOUR MASTER KEY') FILE_FORMAT = (FORMAT_NAME = JSON_FORMAT)

GCS

COPY INTO TABLE1 FROM 'gcs://bucket’ STORAGE_INTEGRATION=(Integration_name) ENCRYPTION= (MASTER_KEY = 'YOUR MASTER KEY') FILE_FORMAT = (FORMAT_NAME = JSON_FORMAT)

Microsoft Azure

COPY INTO TABLE1 FROM azure://your account.blob.core.windows.net/container STORAGE_INTEGRATION=(Integration_name) ENCRYPTION= (MASTER_KEY = 'YOUR MASTER KEY') FILE_FORMAT = (FORMAT_NAME = JSON_FORMAT)

Limitations of Using Zendesk RESTful APIs to Connect Zendesk to Snowflake

There are quite a few drawbacks associated with loading the data manually. Some of these are:

  • Real-time Limitations: Using this method does not allow for real-time data updates. A lot of extra code and cron jobs will have to be configured to enable this. 
  • Need Engineering Bandwidth: This method is barely feasible when you have a small engineering team, as it requires a lot of resources that may not necessarily be available to many small-sized teams.
  • Maintenance: This method can return inaccurate data in the event that the Zendesk API is down or if there are any connectivity issues.
  • Hard to Perform Data Transformations: Additional code will need to be written to perform basic data transformations. This can make the process even more time-consuming.

Method 2: Using Hevo Data to Connect Zendesk to Snowflake

Hevo Logo: Zendesk to Snowflake

Hevo Data, a No-code Data Pipeline can help you move data from Zendesk (Free Source Connector with Hevo) and various other 100+ Sources swiftly to Snowflake. Hevo is fully managed and it completely automates the process of monitoring and replicating the changes on the secondary database rather than making the user write the code repeatedly. Its fault-tolerant architecture ensures that the data is handled in a secure, consistent manner with zero data loss. Hevo allows you to not only export & load data but also transform & enrich your data & make it analysis-ready in a jiff.

Sign up here for a 14-Day Free Trial!

Steps to use Hevo Data:

Hevo focuses on two simple steps to move your data from Zendesk to Snowflake:

Configure Source: Connect Hevo Data with Zendesk by providing a unique name for your Pipeline, along with details about your authorized Zendesk account. You can also choose the historical sync duration for your Zendesk data.

Configuring Zendesk source: Zendesk to Snowflake
Image Source: Self

Integrate Data: Load data from Zendesk to Snowflake by providing your Snowflake database credentials such as the username & password. Provide a name for your database, the host, and the port number for your Snowflake database, and connect in a matter of minutes.

Configuring snowflake: Zendesk to Snowflake
Image Source: Self

Check Out What Makes Hevo Amazing:

  • Secure: Hevo has a fault-tolerant architecture that ensures that the data is handled in a secure, consistent manner with zero data loss.
  • Schema Management: Hevo takes away the tedious task of schema management & automatically detects schema of incoming data and maps it to the destination schema.
  • Minimal Learning: Hevo, with its simple and interactive UI, is extremely simple for new customers to work on and perform operations.
  • Hevo Is Built To Scale: As the number of sources and the volume of your data grows, Hevo scales horizontally, handling millions of records per minute with very little latency.
  • Incremental Data Load: Hevo allows the transfer of data that has been modified in real-time. This ensures efficient utilization of bandwidth on both ends.
  • Live Support: The Hevo team is available round the clock to extend exceptional support to its customers through chat, email, and support calls.
  • Live Monitoring: Hevo allows you to monitor the data flow and check where your data is at a particular point in time.

Conclusion

You have learned about Zendesk, Snowflake, and 2 methods that you can use to connect Zendesk to Snowflake. You can now load Zendesk data to any Data Warehouse such as Redshift, BigQuery, Snowflake, or a destination of your choice without writing code a single line of code with Hevo.

Visit our Website to Explore Hevo

Want to try Hevo? Get started and Sign Up up for a 14-day free trial and experience the feature-rich Hevo suite first hand. Have a look at our unbeatable pricing, which will help you choose the right plan for you.

What are your thoughts on moving data from Zendesk to Snowflake? Let us know in the comments.

Rashid Y
Freelance Technical Content Writer, Hevo Data

Rashid is passionate about freelance writing within the data industry, and delivers informative and engaging content on data science by incorporating his problem-solving skills.

No-Code Data Pipeline for Snowflake