Freshservice

Direct Freshservice integration for Snowflake

Link your Freshservice data directly to Snowflake for a clear overview of your IT operations. No need to make manual exports or build complex API links yourself; the connector automatically unlocks your service management data for analysis in your own environment.

Need support?
Are you working with our connector and have a problem?
Open a support ticket

What can the connector do?

With the Freshservice Connector, you don't just unlock part of your portal, you gain access to a wide range of IT service data:

Ticket & Incident Management

Get deep insights into tickets, tasks, time records and SLA performance to improve your service delivery.

Asset & Inventory Management

Track the full lifecycle of your hardware, software licenses and contracts directly in Snowflake.

Project & Change management

Analyze project progress, sprints, releases and change requests for streamlined IT governance.


Optimized data processing and security


Documentation

Documentation Freshservice Connector

Freshservice

About Freshservice

Freshservice is a cloud-based IT Help Desk and service management solution that enables organizations to simplify their IT operations.

Get the Connector in Snowflake

The Freshservice connector is for now only available upon request. Contact us directly in order to obtain access to it.

Obtain Credentials

This connector is based on API key authentication. Follow the instructions in the Freshservice API Guidelines to obtain your credentials.

  1. Login to your Support Portal.
  2. Click on your profile picture on the top right corner of your portal.
  3. Go to Profile settings Page.
  4. Your API key will be available below the change password section to your right.
  5. In the application, head to the Connections page and fill in the Add connection form with the connection name that you want to create and fill the API Key field.
  6. Click on the Generate Ready-to-Run script and execute the provided pre-filled script in a new worksheet. This will generate a new connection for your Freshservice Connector.

Available Endpoints

Check the full Freshservice API documentation.

Endpoint Incremental Ingestion Incremental Fetching
Agents Yes Not supported by Freshservice
Announcements Yes Not supported by Freshservice
Assets Yes Not supported by Freshservice
Asset Components Yes Not supported by Freshservice
Asset contracts Yes Not supported by Freshservice
Asset Requests Yes Not supported by Freshservice
Business Hours Yes Not supported by Freshservice
Canned Responses Yes Not supported by Freshservice
Changes Yes Yes
Change Time Entries Yes Not supported by Freshservice
Contacts (Contracts) Yes Not supported by Freshservice
Objects Yes Not supported by Freshservice
Object Records Yes Not supported by Freshservice
Departments Yes Not supported by Freshservice
Groups Yes Not supported by Freshservice
Locations Yes Not supported by Freshservice
Offboarding Requests Yes Not supported by Freshservice
Offboarding Request Tickets Yes Not supported by Freshservice
Onboarding Requests Yes Not supported by Freshservice
Onboarding request Tickets Yes Not supported by Freshservice
Oncall Schedules Yes Not supported by Freshservice
Problems Yes Not supported by Freshservice
Problem Tasks Yes Not supported by Freshservice
Problem Time Entries Yes Not supported by Freshservice
Products Yes Not supported by Freshservice
Projects Yes Not supported by Freshservice
Project Sprints Yes Not supported by Freshservice
Project Task Priorities Yes Not supported by Freshservice
Project Task Statuses Yes Not supported by Freshservice
Project Tasks Yes Not supported by Freshservice
Project Task Types Yes Not supported by Freshservice
Project Versions Yes Not supported by Freshservice
Purchase Orders Yes Not supported by Freshservice
Relationships Yes Not supported by Freshservice
Releases Yes Not supported by Freshservice
Release Time Entries Yes Not supported by Freshservice
Requesters Yes Not supported by Freshservice
Requester Groups Yes Not supported by Freshservice
Roles Yes Not supported by Freshservice
SLA Policies Yes Not supported by Freshservice
Service Catalog Categories Yes Not supported by Freshservice
Service Catalog Items Yes Not supported by Freshservice
Software Yes Not supported by Freshservice
Software Licenses Yes Not supported by Freshservice
Software Relationships Yes Not supported by Freshservice
Software Users Yes Not supported by Freshservice
Solution Categories Yes Not supported by Freshservice
Tickets Yes Yes
Ticket Tasks Yes Not supported by Freshservice
Ticket Time Entry Yes Not supported by Freshservice
Vendors Yes Not supported by Freshservice
Workspaces Yes Not supported by Freshservice

Need help?

Did we forget to implement an endpoint that you would like or did you find a bug? If you didn't find your answer in the FAQs, let us know!

If you have an issue, check the known-limitations-and-issues section to see if we are already working on it!

Getting started with our Connectors

Getting Started

How to install a Connector Application

  1. Sign in to your Snowflake account.
  2. Head to the Marketplace section and look for a DDBM Connector Application.
  3. Press on the Get button and wait for the installation to complete

How to create a new Connection

  1. Open the installed application (see How to install a Connector Application above). You will land in the Home page.
  2. Head to the Connections page to create a new Connection.
  3. Fill in the Form in the "Manage Connections" section.
  4. Click on the blue button to generate the pre-filled script.
  5. Copy and paste the script into a new Worksheet and execute it completely.
  6. Go back to the app and you will see the new connection appear under the "Current Connections" section.

You can select an endpoint and see if your new Connection has access to it. If you get an error on this point, it means one of the following:

  • The credentials introduced are not valid. In this case, recreate the connection making sure there are no copy-paste errors or obtain a new set of credentials.
  • The credentials introduced do not have access to this specific endpoint. This can probably be fixed by changing the scopes in the setting of the Connector (Personio, Hubspot...) Developer account.

How to create a new Configuration

  1. Head to the Configurations page to create a new Configuration.
  2. Select a previously created Connection (see How to create a new Connection above).
  3. Fill in the form, providing a configuration name of your choice, a target database/schema... (*)
  4. Press the Blue button and you will see the new Configuration appear in the "Current Configurations" section after a few seconds.

With a Configuration created you can already fetch data, although we recommend creating Schedules (see How to create a new Schedule below).

You can also edit Configurations selecting them and changing the form.

(*) If the target database/schedule already exists, check the How to use pre-existing databases and schedules below.

How to create a new Schedule

  1. Head to the Schedules page to craete a new Schedule.
  2. Select a previously created Connection and Configuration (see How to create a new Connection/Configuration above).
  3. Fill in the form, providing a schedule name of your choice, whether to use Full Refresh or Incremental jobs and the when to periodically run the job.
  4. Press the Blue button and you will see the new Schedule appear in the "Current Schedules" section after a few seconds.

With a Schedule created, you data will periodically be fetched on the background. You can check the history of past jobs in the Job History page.

How to use pre-existing Databases and Schedules

When creating a Configuration you will have to provide where the fetched data has to be saved in the end. New tables have to be created on a Database and Schema of your choice. If either of these already exist, the application will need some privileges to be able to create tables in them.

Pre-existing Database

Execute the following command:

grant usage, create schema on database <db_to_use> to application <app_name>; 

Pre-existing Schema

Execute the previous command and the following one:

grant usage, create table on schema <db_to_use>.<schema_to_use> to application <app_name>; 

Frequently Asked Questions

Frequently Asked Questions

What is the pricing of your Connectors?

After a Free 7-day Trial, we will only charge:

  • $0.10 per refresh
  • $5 / per million rows ingested

As an example, let's say that you set up a scheduled task during the working days at 7:00 a.m. for your DDBM Exact Connector, and that during each refresh you ingest 2000 rows (only new and updated rows, thanks to our incremental ingestion). In that case, you would only pay $0.55 per week!

Besides that, our applications are built in the Native Snowflake Apps, and, since they run on your own Snowflake instance you will be charged by Snowflake for the warehouse compute cost.

How do I upload data into preexisting databases and schemas?

Configuring a connection to save data on preexisting databases or schemas will throw an error if the privileges were not properly granted to the application.

Solution

Execute the following commands

SQL

-- For preexisting databases grant usage on database <db_to_use> to application <application_name>; grant create schema on database <db_to_use> to application <application_name>; -- For preexisting databases and schemas grant usage on schema <db_to_use>.<schema_to_use> to application <application_name>; grant create table on schema <db_to_use>.<schema_to_use> to application <application_name>; 

These commands will grant the application permission to see, use and create new tables on preexisting databases and schemas.

What happens if I set up wrong credentials or my task ingestion fails?

We will only charge for data that has actually been fetched and correctly ingested in your account. If all calls to the API return errors, then there will be no cost for that run.

If you have made a mistake with your credentials, simply delete the connection and create a new one with the correct credentials. Make sure to test the connection before setting up the scheduled task and your data will be ready in no time!

Incremental Ingestion vs. Incremental Fetching

  • Incremental Ingestion: All our connectors have an incremental ingestion strategy implemented. When data is fetched from an API (Personio, Active Campaign, Hubspot...) we check the last time it was updated and compare it with the previously saved data in your Snowflake account. If the data in your account is already up to date, we discard the fetched data and you are not charged for it. Not all endpoints provide the information necessary for this check and, in those cases, we ingest the data.
  • Incremental Fetching: Some APIs allow to fetch data given some date and time parameters. In those cases we can fetch only the updated data from the APIs, making the data ingestion process much faster and cheaper. The amount you will be charged is the same as in the Incremental Ingestion process, but it still be much cheaper because the time that the warehouses are running can be much shorter. Not all APIs provide the information necessary for this method and, in those cases, the Incremental Ingestion strategy applies.
Limitations and known issues

Limitations and Known issues

Limitations

Only one task can be configured per connection

For now, only one task can be set up per connection.

Workaround

If you need different refreshing schedules for different endpoints, create different connections with the same credentials (but different endpoint selection, if you wish so) and configure different tasks for them.

Leaving the App / App Becoming Idle

Leaving the app during data fetching using the "Fetch Data" button or letting the app idle may cause incomplete data loading.

Workaround

Stay in the app while fetching data or use tasks, which are not affected by this behavior.

Wrong Credentials

  • Limitation: If you enter incorrect credentials in the connection script, the log table may incorrectly show success. This doesn't apply to OAuth authentication, which will report an error.
  • Workaround: Always provide the correct credentials and use the "Test Connection" button to verify before fetching data or setting tasks.
Back to top