Freshservice

Freshservice is a cloud-based IT Service Management solution. Freshservice helps IT organizations streamline their service delivery processes with a strong focus on user experience and employee happiness.

Data integration: Skyvia supports importing data to and from Freshservice, exporting Freshservice data to CSV files, replicating Freshservice data to relational databases, and synchronizing Freshservice data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Freshservice backup.

Query: Skyvia Query supports Freshservice.

Freshservice-Specific Features and Limitations

Skyvia has the following limitations for Freshservice:

  • In the Data Integration product, Freshservice connections are supported only for packages, which use a new data integration runtime.

    Make sure that the Use new runtime checkbox is selected on the tab bar if you want to use Freshservice in your package.

  • Skyvia supports import (DML) operations for such Freshservice objects:
    • INSERT, UPDATE, DELETE: AgentGroups, Agents, Announcements, Assets, AssetTypes, ChangeNotes, Changes, ChangeTasks, ChangeTimeEntries, Departments, Locations, ProblemNotes, Problems, ProblemTasks, ProblemTimeEntries, Products, Projects, ProjectTasks, PurchaseOrders, ReleaseNotes, Releases, ReleaseTasks, ReleaseTimeEntries, RequesterGroups, Requesters, Software, SolutionArticles, SolutionCategories, SolutionFolders, TicketConversations, Tickets, TicketTasks, TicketTimeEntries, Vendors.
    • INSERT, DELETE: RequesterGroupMembers,
    • INSERT: OnboardingRequests, SoftwareInstallation, SoftwareUsers.
  • Skyvia also supports INSERT, UPDATE and DELETE operations for custom objects.

  • Skyvia supports Synchronization and Replication with Incremental Updates for such Freshservice objects: AgentGroups, AgentRoles, Agents, Announcements, AssetAssociatedRequests, AssetComponents, Assets, AssetTypes, BusinessHours, CannedResponseFolders, CannedResponses, ChangeFields, ChangeNotes, Changes, ChangeTasks, ChangeTimeEntries, DepartmentFields, Departments, Licenses, Locations, OnboardingFormFields, OnboardingRequests, OnboardingTickets, ProblemNotes, Problems, ProblemTasks, ProblemTimeEntries, Products, PurchaseOrders, Projects, ProjectTasks, ReleaseFields, ReleaseNotes, Releases, ReleaseTasks, ReleaseTimeEntries, Requesters, ServiceCategories, ServiceItems, ServiceRequest_RequestedItems, SLAPolicies, Software, SoftwareInstallations, SoftwareUsers, SolutionArticles, SolutionCategories, SolutionFolders, TicketActivities, TicketConversations, TicketCSATResponses, TicketFields, Tickets, TicketTasks, TicketTimeEntries, Vendors.

  • TicketConversations object and its peculiarities. In this object, you can create only Note not Reply. The Attachments field is not available for import.
  • Departments object and its peculiarities. Since the type of custom fields is not specified in the metadata, Skyvia treats such fields as read-only string fields.
  • Agents object and its peculiarities. When performing import to the Agents object, an array of data must be transferred to the required Roles field. See below the example value for this field:

    [{“role_id”: 51000087054, “assignment_scope”: “entire_helpdesk”}, {“role_id”: 51000087055, “assignment_scope”: “specified_groups”, “groups”: [51000110425]}]

  • RequesterGroupMember object and its peculiarities. You can add a member to the requester, using Data Flow. Procedure call for adding a member to the requester group:

    call AddRequesterToRequesterGroup(:group_id,:requester_id)

  • Assets object and its peculiarities. In the Assets object, by default, trashed assets are not returned to this object. To return records, you need to filter the Trashed field and set it to true. When importing data, depending on the specified AssetTypeId, you need to transfer the required columns in the nested TypeFields object.

    Check the example value for this field:

    {“product_51000020554”: 51000001690, “asset_state_51000020554”: “In Use”}

  • SoftwareUsers object and its peculiarities. When you load data into the SoftwareUsers object, you cannot get IDs of the resulting records. Records will not be displayed in the Log or in the Returning feature.

    Skyvia does not support UPDATE and DELETE operation for SoftwareUsers object.

  • SoftwareInstallations object and its peculiarities. You can delete records from this object, using Data Flow. Procedure call format in Data Flow is as following:

    call RemoveDevicesFromSoftware(:app_id,:device_ids)

    where

    app_id is the value from the AppId field.

    device_ids is the value from the InstallationMachineId field for the corresponding AppId.

    If you need to delete several records with different InstallationMachineId values for one AppId, specify the value in the device_ids field separated by commas.

  • Skyvia does not support foreign keys for those Freshservice fields, which cannot uniquely identify the object they should refer to. For example, UserId is among such fields.
  • Tickets, Problems, Changes objects and their peculiarities. When importing data into these objects, you need to specify RequesterId (Id of the person who creates the ticket).

    You can do it in the following ways:

    • specify Id of the requester (if it is already in Freshservice);
    • specify Email of the requester (if such a user is not yet in Freshservice and contacts you for the first time). After you do it, the corresponding record will be automatically added to the Requesters object, and the corresponding Id for a new record will be inserted to the RequesterId field of the Tickets object.

    Therefore, in Skyvia, when setting up mapping for data import into the Tickets, Problems, Changes objects, you have an opportunity to specify either the RequesterId value, which you directly receive from the Requesters or Agents object, or the user’s Email value.

    If neither values are present, you will receive an error from the Freshservice API, saying that the parameters in the request are missing.

Custom Fields Support

You can find custom fields in the Freshservice custom objects as well as in the base objects (tables). Among them are: Tickets, Problems, Changes, Agents, Departments, Releases, Requesters, Vendors.

Custom fields can be of the following types: Text, Phone_number, Dropdown, Checkbox, Paragraph, Url, Decimal, Date, Number, Multi_select_dropdown, Lookup, Date_Time, Enum, Planning_field, Nested_field, Content.

If the field type is not specified in the metadata or it was not possible to determine it, then Skyvia treats such fields as read-only string fields.

Custom fields of the Planning_field type are read-only.

Freshservice Connections

To connect to Freshservice, you need to specify the Domain and API Key.

Connection window

  • Domain — your Freshservice domain.
  • API Key — REST API key used for connecting to Freshservice. You can manage an API key in the Freshservice interface. Read more about it here.

At the end, use the Test Connection button to make sure that the connection is successful and then click Create Connection.

Suppressing Extended Requests

For some objects, Freshservice API returns only part of the fields when querying multiple records. In order to query values of additional fields, Skyvia performs additional extended requests. Such API requests can be performed for each record of such object. However, this can decrease performance and significantly increase the number of API calls used.

To reduce the number of API calls, you can select the Suppress Extended Requests checkbox. However, please note that some of the fields in such objects will not be available in Skyvia (will return empty values) even if they have values in Freshservice because Freshservice API does not return them without extended requests.

Supported Actions and Actions Specifics

Freshservice connector supports the following actions: