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.
This connector is available upon request
Contact us.
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
Efficient synchronization
Secure API connection
Documentation
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.
- Login to your Support Portal.
- Click on your profile picture on the top right corner of your portal.
- Go to Profile settings Page.
- Your API key will be available below the change password section to your right.
- 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.
- Click on the
Generate Ready-to-Runscript 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
How to install a Connector Application
- Sign in to your Snowflake account.
- Head to the Marketplace section and look for a DDBM Connector Application.
- Press on the Get button and wait for the installation to complete
How to create a new Connection
- Open the installed application (see How to install a Connector Application above). You will land in the
Homepage. - Head to the
Connectionspage to create a newConnection. - Fill in the Form in the "Manage Connections" section.
- Click on the blue button to generate the pre-filled script.
- Copy and paste the script into a new Worksheet and execute it completely.
- 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
- Head to the
Configurationspage to create a newConfiguration. - Select a previously created
Connection(see How to create a new Connection above). - Fill in the form, providing a configuration name of your choice, a target database/schema... (*)
- Press the Blue button and you will see the new
Configurationappear 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
- Head to the
Schedulespage to craete a newSchedule. - Select a previously created
ConnectionandConfiguration(see How to create a new Connection/Configuration above). - 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.
- Press the Blue button and you will see the new
Scheduleappear 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
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
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.
This connector is available upon request
Contact us.
