Freshdesk Connector for CData Sync

Build 22.0.8462
  • Freshdesk
    • Establishing a Connection
    • Advanced Features
      • SSL Configuration
      • Firewall and Proxy
    • Data Model
      • Tables
        • Agents
        • BusinessHours
        • CannedResponses
        • CannedResponsesFolder
        • Companies
        • Contacts
        • Conversations
        • Groups
        • Mailboxes
        • Products
        • Roles
        • Skills
        • SLAPolicies
        • Surveys
        • TicketFields
        • Tickets
        • TimeEntries
      • Views
        • CustomObjects
        • TicketActivities
        • TicketProperties
    • Connection String Options
      • Authentication
        • Domain
        • APIKey
      • SSL
        • SSLServerCert
      • Firewall
        • FirewallType
        • FirewallServer
        • FirewallPort
        • FirewallUser
        • FirewallPassword
      • Proxy
        • ProxyAutoDetect
        • ProxyServer
        • ProxyPort
        • ProxyAuthScheme
        • ProxyUser
        • ProxyPassword
        • ProxySSLType
        • ProxyExceptions
      • Logging
        • LogModules
      • Schema
        • Location
        • BrowsableSchemas
        • Tables
        • Views
      • Miscellaneous
        • FetchTicketsUpdatedSince
        • IgnoreSurplusResults
        • IncludeCustomObjects
        • MaxRows
        • Other
        • PseudoColumns
        • RowScanDepth
        • TicketPropertiesURL
        • TicketStats
        • Timeout
        • TypeDetectionScheme
        • UserDefinedViews

Freshdesk Connector for CData Sync

Overview

The CData Sync App provides a straightforward way to continuously pipeline your Freshdesk data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.

The Freshdesk connector can be used from the CData Sync application to pull data from Freshdesk and move it to any of the supported destinations.

Freshdesk Connector for CData Sync

Establishing a Connection

Create a connection to Freshdesk by navigating to the Connections page in the Sync App application and selecting the corresponding icon in the Add Connections panel. If the Freshdesk icon is not available, click the Add More icon to download and install the Freshdesk connector from the CData site.

Required properties are listed under the Settings tab. The Advanced tab lists connection properties that are not typically required.

Connecting to Freshdesk

Freshdesk makes use of basic authentication. To connect to data, set the following connection properties:

  • Domain: Set this to the domain associated with your Freshdesk account. For example, in your URL, https://{domainValue}.freshdesk.com, thus the connection string should be:

    Domain=domainValue

  • APIKey: Set this to the API key associated with your Freshdesk account. To retrieve your API key, log in to your support Portal. Click the profile picture in the upper-right corner and select the profile settings page. The API key is available below the change password section to the right.

Freshdesk Connector for CData Sync

Advanced Features

This section details a selection of advanced features of the Freshdesk Sync App.

User Defined Views

The Sync App allows you to define virtual tables, called user defined views, whose contents are decided by a pre-configured query. These views are useful when you cannot directly control queries being issued to the drivers. See User Defined Views for an overview of creating and configuring custom views.

SSL Configuration

Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.

Firewall and Proxy

Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.

Query Processing

The Sync App offloads as much of the SELECT statement processing as possible to Freshdesk and then processes the rest of the query in memory (client-side).

See Query Processing for more information.

Logging

See Logging for an overview of configuration settings that can be used to refine CData logging. For basic logging, you only need to set two connection properties, but there are numerous features that support more refined logging, where you can select subsets of information to be logged using the LogModules connection property.

Freshdesk Connector for CData Sync

SSL Configuration

Customizing the SSL Configuration

By default, the Sync App attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.

To specify another certificate, see the SSLServerCert property for the available formats to do so.

Freshdesk Connector for CData Sync

Firewall and Proxy

Connecting Through a Firewall or Proxy

HTTP Proxies

To connect through the Windows system proxy, you do not need to set any additional connection properties. To connect to other proxies, set ProxyAutoDetect to false.

In addition, to authenticate to an HTTP proxy, set ProxyAuthScheme, ProxyUser, and ProxyPassword, in addition to ProxyServer and ProxyPort.

Other Proxies

Set the following properties:

  • To use a proxy-based firewall, set FirewallType, FirewallServer, and FirewallPort.
  • To tunnel the connection, set FirewallType to TUNNEL.
  • To authenticate, specify FirewallUser and FirewallPassword.
  • To authenticate to a SOCKS proxy, additionally set FirewallType to SOCKS5.

Freshdesk Connector for CData Sync

Data Model

Overview

This section shows the available API objects and provides more information on executing SQL to Freshdesk APIs.

Key Features

  • The Sync App models Freshdesk entities as relational tables, allowing you to write SQL to query Freshdesk data.
  • Live connectivity to these objects means any changes to your Freshdesk account are immediately reflected when using the Sync App.

Tables

Tables describes the available tables. Tables are statically defined to model Tickets, Conversations, Agents, and more.

Freshdesk Connector for CData Sync

Tables

The Sync App models the data in Freshdesk into a list of tables that can be queried using standard SQL statements.

Generally, querying Freshdesk tables is the same as querying a table in a relational database. Sometimes there are special cases, for example, including a certain column in the WHERE clause might be required to get data for certain columns in the table. This is typically needed for situations where a separate request must be made for each row to get certain columns. These types of situations are clearly documented at the top of the table page linked below.

Freshdesk Connector for CData Sync Tables

Name Description
Agents Update, delete, and query from agents table
BusinessHours Query from BusinessHours table
CannedResponses Create, update and query from CannedResponses table
CannedResponsesFolder Query from CannedResponsesFolder table
Companies Create, update, delete, and query from companies table
Contacts Create, update, delete, and query from contacts table
Conversations Delete, and query from conversations table
Groups Create, update, delete, and query from groups table
Mailboxes Create, update, delete, and query from Mailboxes table
Products Query from products table
Roles Query from roles table
Skills Create, update, delete, and query from skills table
SLAPolicies Query, Create and Update SLAPolicies table
Surveys Query from surveys table
TicketFields Query from ticketFields table
Tickets Create, update, delete, and query from tickets table
TimeEntries Create, update, delete, and query from TimeEntries table

Freshdesk Connector for CData Sync

Agents

Update, delete, and query from agents table

Table Specific Information

Select

The Sync App will use the Freshdesk API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,AND,OR. The rest of the filter is executed client side within the Sync App. For example, the following query is processed server side:

SELECT * FROM Agents WHERE Id = 100

Note: To query Agents table, All Agent APIs other than the Currently Authenticated Agent API require admin privileges.

Update

Following is an example of how to update an agent:

UPDATE Agents SET GroupIdsAggregate = '111' WHERE Id = 100

Delete

Following is an example of how to delete an agent:

DELETE FROM Agents WHERE Id = 100

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

ID of the agent.

Available Boolean True

Indicates if agent is taking new tickets.

GroupIdsAggregate String False

Group IDs associated with the agent.

Occasional Boolean True

True if this is an occasional agent.

RoleIdsAggregate String False

Role IDs associated with the agent.

Signature String True

Signature of the agent in HTML format.

SkillIdsAggregate String True

Skill ids associated with the agent.

TicketScope Integer True

Ticket permission of the agent (1 -> Global Access, 2 -> Group Access, 3 -> Restricted Access).

AgentActive Boolean True

Whether or not the agent has been verified.

AgentEmail String True

Email address of the agent.

AgentJobTitle String True

Job title of the agent.

AgentLanguage String True

Language of the agent.

AgentLastLogin Datetime True

Last login date of the agent.

AgentMobile String True

Mobile phone number of the agent.

AgentName String True

Name of the agent.

AgentPhone String True

Telephone number of the agent.

AgentTimeZone String True

Time zone of the agent.

AgentCreatedAt Datetime True

Created at datetime of the agent.

AgentUpdatedAt Datetime True

Updated at datetime of the agent.

CreatedAt Datetime True

Agent creation timestamp.

UpdatedAt Datetime True

Agent updated timestamp.

AvailableSince Datetime True

Timestamp that denotes when the agent became available/unavailable.

Freshdesk Connector for CData Sync

BusinessHours

Query from BusinessHours table

Table Specific Information

Note: Only users with admin privileges can access the following Table.

Select

Following is an example to select all entries from BusinessHours table:

SELECT * FROM BusinessHours

You can also select a specific entry from BusinessHours table:

SELECT * FROM BusinessHours WHERE Id = 100

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

Business hour ID.

Description String True

Description of the business hour.

Name String True

Name of the business hour.

IsDefault Boolean True

True if this is the default business hour.

TimeZone String True

Denotes the time zone of the business hour.

business_hours String True

Collection of start time and end time of days of a week.

CreatedAt Datetime True

Business hour creation timestamp.

UpdatedAt Datetime True

Business hour updated timestamp.

Freshdesk Connector for CData Sync

CannedResponses

Create, update and query from CannedResponses table

Table Specific Information

Note: Only users with admin privileges can access the following Table.

Select

To query the CannedResponses table, FolderId should be mentioned in the WHERE clause. For example:

SELECT * FROM CannedResponses WHERE FolderId = 100

Insert

FolderId, Visibility, Title and ContentHTML are mandatory columns for Inserting into CannedResponses tables. For example:

INSERT INTO CannedResponses (Title, ContentHTML, Visibility, FolderId) VALUES (Sample response, 'this is also a new sample response', 0, 100)

Update

Following is an example to update a row in CannedResponses table:

UPDATE CannedResponses SET Title = 'Updated title' WHERE Id = 100

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

ID of the canned response.

Content String True

Plaintext version of the canned response content.

ContentHTML String False

HTML version of the canned response content.

Title String False

Title of the canned response.

FolderId Bigint False

Id of CannedResponseFolder containing this canned response.

Visibility Int False

Denotes the visibility of the canned response. Possible values are: 0- If it is visible to all agents, 1- If it is personal.

CreatedAt Datetime True

Canned response creation timestamp.

UpdatedAt Datetime True

Canned response updated timestamp.

Freshdesk Connector for CData Sync

CannedResponsesFolder

Query from CannedResponsesFolder table

Table Specific Information

Note: Only users with admin privileges can access the following Table.

Select

Following is an example to select all entries from CannedResponsesFolder table:

SELECT * FROM CannedResponsesFolder

You can also select a specific entry from CannedResponsesFolder table:

SELECT * FROM CannedResponsesFolder WHERE Id = 100

Insert

Name is a mandatory columns for Inserting into CannedResponsesFolder table.

INSERT INTO CannedResponsesFolder (Name) VALUES (directoryA)

Update

Following is an example to update CannedResponsesFolder:

UPDATE CannedResponsesFolder SET Name = 'updated name' WHERE Id = 100

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

ID of the canned response folder.

Name String False

Name of the canned response folder.

Personal Boolean False

Set true if the folder can be accessed only by you.

ResponsesCount Int False

Number of canned responses in the folder.

CreatedAt Datetime True

Canned response folder creation timestamp.

UpdatedAt Datetime True

Canned response folder updated timestamp.

Freshdesk Connector for CData Sync

Companies

Create, update, delete, and query from companies table

Table Specific Information

Select

The Sync App will use the Freshdesk API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,AND,OR. The rest of the filter is executed client side within the Sync App. For example, the following query is processed server side:

SELECT * FROM Companies WHERE CreatedAt >= '2017-10-01' AND CreatedAt <= '2017-10-07'

The API allows only a subset of columns to be used as filter criteria in the WHERE clause. The following columns can be used:

  • Id
  • DomainAggregate
  • CreatedAt
  • UpdatedAt

Note: To filter all companies created on a specific day (e.g: 2019-09-23), query should be structured as:

WHERE CreatedAt >= '2019-09-22' AND CreatedAt <= '2019-09-24' 

Insert

Name is mandatory for creating a new company. Following is an example of creating a new company:

INSERT INTO Companies (Name, Description) Values ('Example', 'Example description of new company')

Update

Following is an example of how to update a company:

UPDATE Companies SET Description = 'New description' WHERE Id = 786

Delete

Following is an example of how to delete from Companies table:

DELETE FROM Companies WHERE Id = 786

Columns

Name Type ReadOnly Description
AccountTier String False

Classification based on how much value the company brings to your business.

CreatedAt Datetime True

Company creation timestamp.

Description String False

Description of the company.

DomainsAggregate String False

Domains associated with the company.

HealthScore String False

The strength of your relationship with the company.

Id [KEY] Bigint False

ID of the company.

Industry String False

The industry the company serves in.

Name String False

Name of the company.

Note String False

Any notes about the company.

RenewalDate Date False

Date when your contract or relationship with the company is due for renewal.

UpdatedAt Datetime True

Company updated timestamp.

Freshdesk Connector for CData Sync

Contacts

Create, update, delete, and query from contacts table

Table Specific Information

Select

The Sync App will use the Freshdesk API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,AND,OR. The rest of the filter is executed client side within the Sync App. For example, the following query is processed server side:

SELECT * FROM Contacts WHERE Active = false AND (Email = '[email protected]' OR CompanyId = 1)

The API allows only a subset of columns to be used as filter criteria in the WHERE clause. The following columns can be used:

  • Id
  • Active
  • CompanyId
  • Email
  • Language
  • Tag
  • TimeZone
  • CreatedAt
  • UpdatedAt

Note: To filter all contacts created on a specific day (e.g: 2019-09-23), query should be structured as:

WHERE CreatedAt >= '2019-09-22' AND CreatedAt <= '2019-09-24'

Insert

Name and Email are mandatory for creating a new contact. Following is an example of creating a new contact:

INSERT INTO Contacts (Name, Email, Language) Values ('Example', '[email protected]', 'English')

Update

Following is an example of how to update a contact:

UPDATE Contacts SET Active = true WHERE Id = 786

Delete

Following is an example of how to delete from Contacts table:

DELETE FROM Contacts WHERE Id = 786

Columns

Name Type ReadOnly Description
Active Boolean False

True if contact has been verified.

Address String False

Address of the contact.

CompanyId Bigint False

Id of primary company of the contact.

CreatedAt Datetime True

Contact creation timestamp.

Deleted Boolean False

True if the contact has been deleted.

Description String False

A short description of the contact.

Email String False

Email of the contact.

Id [KEY] Bigint False

ID of the contact.

JobTitle String False

Job title of the contact.

Language String False

Language of the contact.

Name String False

Name of the contact.

OtherEmailsAggregate String False

Additional emails associated with the contact.

Phone String False

Telephone number of the contact.

Mobile String False

Mobile number of the contact.

TimeZone String False

Time zone of the contact.

Tag String False

Tag associated with the contact.

UpdatedAt Datetime True

Contact updated timestamp.

ViewAllTickets Boolean False

True if the contact can see all tickets that are associated with the company to which he belong.

Freshdesk Connector for CData Sync

Conversations

Delete, and query from conversations table

Table Specific Information

Select

To query the Conversations table, TicketId should be mentioned in the WHERE clause. For example:

SELECT * FROM Conversations WHERE TicketId = 100

Note: The Conversations table can only be filtered on TicketId.

Delete

Following is an example of how to delete from the Conversations table:

DELETE FROM Conversations WHERE Id = 786

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

ID of the conversation.

Body String False

Content of the conversation in HTML.

BodyText String False

Content of the conversation.

FromEmail String False

Email address the message was sent from.

Incoming Boolean False

True if a particular conversation should appear as being created from outside (i.e., not through web portal)

Private Boolean False

True if the note is private

SupportEmail String False

Email address from which replies are sent.

Source Integer False

Denotes the type of conversation.

TicketId Integer False

Ticket id to which conversation is added.

ToEmailsAggregate String False

Email addresses of agents/users who need to be notified about this conversation

UserId Bigint False

ID of the agent who added conversation.

CreatedAt Datetime True

Conversation creation timestamp.

UpdatedAt Datetime True

Conversation updated timestamp.

Freshdesk Connector for CData Sync

Groups

Create, update, delete, and query from groups table

Table Specific Information

Select

The Sync App will use the Freshdesk API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,AND,OR. The rest of the filter is executed client side within the Sync App. For example, the following query is processed server side:

SELECT * FROM Groups WHERE Id = 100

Note: Only users with admin privileges can access this Table.

Insert

Name is a mandatory column for inserting into Groups table. For example:

INSERT INTO Groups (Name, Description, AutoTicketAssign) VALUES ('Example', 'Example Description...', false)

Update

Following is an example of how to update a group:

UPDATE Groups SET Description = 'New description...' WHERE Id = 100

Delete

Following is an example of how to delete from Groups table:

DELETE FROM Groups WHERE Id = 786

Columns

Name Type ReadOnly Description
AgentIdsAggregate String False

IDs of the agents in the group.

AutoTicketAssign Integer False

Whether automatic ticket assignment is enabled or not, and which type.

BusinessHourId Bigint False

Unique ID of the business hour of the group.

CreatedAt Datetime True

Group created timestamp.

Description String False

Description of the group.

EscalateTo Bigint False

ID of user to whom an escalation email is sent.

Id [KEY] Bigint False

ID of the group.

Name String False

Name of the group.

UnassignedFor String False

Time after which escalation email is sent.

UpdatedAt Datetime True

Group updated timestamp.

Freshdesk Connector for CData Sync

Mailboxes

Create, update, delete, and query from Mailboxes table

Table Specific Information

Note: Only users with admin privileges can access the following Table.

Select

Following is an example to select all entries from Mailboxes table:

SELECT * FROM Mailboxes

The API allows only a subset of columns to be used as filter criteria in the WHERE clause. The filters listed can also be combined using AND OR. The following columns can be used:

  • Id
  • SupportEmail
  • ForwardEmail
  • ProductId
  • GroupId
  • Active

Insert

SupportEmail and MailboxType are mandatory to Insert into Mailboxes table. For instance:

INSERT INTO Mailboxes (SupportEmail, Name, MailboxType) Values ('[email protected]', 'Test', 'freshdesk_mailbox')

Update

Following is an example of how to update Mailboxes table:
UPDATE Mailboxes SET Name = 'Test mailbox' WHERE Id = 786

Delete

Following is an example of how to delete from the Mailboxes table:

DELETE FROM Mailboxes WHERE Id = 786

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

Unique ID of the email mailbox.

AccessType String False

Denotes if the mailbox is to be used for incoming, outgoing or both.Takes the values

Active Boolean True

True if the mailbox is verified and activated.

Authentication String False

Denotes the type of authentication that should be used authenticate the mailbox. It can be plain/login/CRAM-MD5.

CustomMailbox String False

Mandatory if the mailbox is of the type custom mailbox. This field contains the incoming and/or outgoing configurations of the mailbox based on what access type is set.

DefaultReplyEmail Boolean False

True if the email associated to a product, is the primary email.

DeleteFromServer Boolean False

If set to true, Freshdesk is given the permission to delete the email from the mailbox after the ticket is created.

FailureCode String True

Denotes the failure message if any in the custom incoming mailbox.

ForwardEmail String True

Denotes the email address to which your support emails gets forwarded.

FreshdeskMailbox String True

If the mailbox is of the type Freshdesk mailbox this field contains the forward email to which your support emails gets forwarded.

GroupId Bigint False

Denotes the group ID to which the email is associated.

Incoming String False

Contains the incoming configuration of the custom mailbox.

MailServer String False

Denotes the server used by incoming and/or outgoing configurations of the mailbox.

MailboxType String False

Denotes if the mailbox uses a Freshdesk mailbox or a custom mailbox setup by the customer. It takes the values

Name String False

Name of the email mailbox.

Outgoing String True

Contains the outgoing configuration of the custom mailbox.

Password String False

Denotes the password that will be used to authenticate the custom mailbox.

Port Int False

Denotes the port used by incoming and/or outgoing configurations of the mailbox.

ProductId Int False

Denotes the product ID to which the email is associated.

SupportEmail String False

Denotes your support email address.

UseSSL Boolean False

Denotes if the incoming and/or outgoing configuration should use ssl while authenticating the mailbox.

Username String False

username.

CreatedAt Datetime True

Mailbox creation timestamp.

UpdatedAt Datetime True

Mailbox updated timestamp.

Freshdesk Connector for CData Sync

Products

Query from products table

Table Specific Information

Note: Only users with admin privileges can access the following Table.

Select

Following is an example to select all entries from Products table:

SELECT * FROM Products

You can also select a specific entry from Products table:

SELECT * FROM Products WHERE Id = 100

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

Product ID.

Description String True

Description of the product.

Name String True

Name of the product.

CreatedAt Datetime True

Product creation timestamp.

UpdatedAt Datetime True

Product updated timestamp.

Freshdesk Connector for CData Sync

Roles

Query from roles table

Table Specific Information

Select

The Sync App will use the Freshdesk API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,AND,OR. The rest of the filter is executed client side within the Sync App. For example, the following query is processed server side:

SELECT * FROM Roles WHERE Id = 100

Note: Only users with admin privileges can access the following Table. Following is an example of selecting a role:

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

Role ID.

Description String False

Description of the role.

Name String False

Name of the role.

Default Boolean False

Indicates if role is default.

CreatedAt Datetime True

Role creation timestamp.

UpdatedAt Datetime True

Role updated timestamp.

Freshdesk Connector for CData Sync

Skills

Create, update, delete, and query from skills table

Table Specific Information

Select

Following is an example to select all entries from Skills table:

SELECT * FROM Skills

You can also select a specific entry from Skills table:

SELECT * FROM Skills WHERE Id = 73000001322

Insert

Name is mandatory for creating a new skill. Following is an example of creating a new skill:

INSERT INTO Skills (Name) Values ('Example')

Update

Following is an example of how to update a skill:

UPDATE Skills SET Name = 'New name' WHERE Id = 73000001322

Delete

Following is an example of how to delete from Skills table:

DELETE FROM Skills WHERE Id = 73000001322

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

ID of the skill.

Name String False

Name of the skill.

Rank String True

Position/Rank of the skill.

Agents String False

Agents associated with the skill.

MatchType String True

Match type for conditions.

Conditions String False

Conditions of the skill.

CreatedAt Datetime True

Skills creation timestamp.

UpdatedAt Datetime True

Skills updated timestamp.

Freshdesk Connector for CData Sync

SLAPolicies

Query, Create and Update SLAPolicies table

Table Specific Information

Note: Only users with admin privileges can access the following Table.

Select

Following is an example to select all entries from SLAPolicies table:

SELECT * FROM SLAPolicies

You can also select a specific entry from SLAPolicies table:

SELECT * FROM SLAPolicies WHERE Id = 100

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

Business hour ID.

active Boolean False

True if the SLA policy is active.

Description String False

Description of the business hour.

IsDefault Boolean False

True if this is the default business hour.

Name String False

Name of the business hour.

Position Int False

Denotes the order of the SLA policy. If you have configured multiple SLA policies, the first one with matching conditions will be applied to a ticket.

SLATarget String False

Key value pair containing the object and the array of object IDs denoting the priorities and the applicable conditions. 'priority_4' - urgent, 'priority_3' - high, 'priority_2' - medium, 'priority_1' - low is mandatory and needs to be passed in the same order.

ApplicableTo String False

Key value pair containing the 'company_ids', 'group_ids', 'sources', 'ticket_types', 'product_ids' denoting the conditions based on which the SLA policy is to be applied. One of them is mandatory

Escalation String False

Nested collection of key value pairs containing the 'response' and 'resolution' denoting who to escalate to and when. One of them is mandatory

CreatedAt Datetime True

Creation timestamp.

UpdatedAt Datetime True

Updated timestamp.

Freshdesk Connector for CData Sync

Surveys

Query from surveys table

Table Specific Information

Select

Following is an example to select all entries from Surveys table:

SELECT * FROM Surveys

You can also select a specific entry from Surveys table:

SELECT * FROM Surveys WHERE Id = 73000092562

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

Survey ID.

Title String True

Title of the survey.

Questions String False

Questions associated with the survey.

CreatedAt Datetime True

Survey creation timestamp.

UpdatedAt Datetime True

Survey updated timestamp.

Freshdesk Connector for CData Sync

TicketFields

Query from ticketFields table

Table Specific Information

Note: Users whose credentials (identified by the API key) are used to access the Table should be authorised to either view the ticket fields or create a new ticket.

Select

The Sync App will use the Freshdesk API to process WHERE clause conditions built with the following columns and operators. Most of the columns support client side filtering with the following operators: =,>,<,<=,>=,AND,OR. The rest of the filter is executed server side within the Sync App. For example, the following query is processed server side:

SELECT * FROM TicketFields WHERE Type = 'default_requester'

The Freshdesk API allows only the following column(s) to be used as filter criteria in the WHERE clause:

  • Type

Insert

Label, LabelForCustomers and Type are mandatory columns for Inserting into TicketFields table.

INSERT INTO TicketFields (Label, LabelForCustomers, Type) VALUES ('labelA', 'labelA', custom_text)

Update

Following is an example to update TicketFields:

UPDATE TicketFields SET Label = 'updated label' WHERE Id = 100

Delete

Following is an example to delete a TicketFields:

DELETE FROM TicketFields WHERE Id = 100

Columns

Name Type ReadOnly Description
Id [KEY] Bigint True

ID of the ticket field.

Choices String False

List of values supported by the field.

CreatedAt Datetime True

Ticket field creation timestamp.

CustomersCanEdit Boolean False

Set to true if the field can be updated by customers.

Default Boolean True

Set to true if the field is not a custom field.

Description String True

Description of the ticket field

DisplayedToCustomers Boolean False

Set to true if the field is displayed in the customer portal.

Label String False

Display name for the field (as seen by agents).

LabelForCustomers String False

Display name for the field (as seen in the customer portal).

Name String True

Name of the ticket field.

NestedTicketFields String True

Applicable only for dependent fields, this contain details of nested fields.

PortalCc Boolean True

Applicable only for the requester field. Set to true if customer can add additional requesters to a ticket.

PortalCcTo String True

Applicable only if portal_cc is set to true. Value will be 'all' when a customer can add any requester to the CC list and 'company' when a customer can add only company contacts to the CC list.

Position Integer False

Position in which the ticket field is displayed in the form.

RequiredForAgents Boolean False

Set to true if the field is mandatory for Agents.

RequiredForClosure Boolean False

Set to true if the field is mandatory for closing the ticket.

RequiredForCustomers Boolean False

Set to true if the field is mandatory in the customer portal.

Type String False

For custom ticket fields, type of value associated with the field will be given (Available values are: custom_text, custom_paragraph, custom_checkbox, custom_number, custom_date, custom_decimal, nested_field, custom_dropdown, encrypted_text, secure_text)

UpdatedAt Datetime True

Ticket field updated timestamp.

Freshdesk Connector for CData Sync

Tickets

Create, update, delete, and query from tickets table

Table Specific Information

Select

The Sync App will use the Freshdesk API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,AND,OR. The rest of the filter is executed client side within the Sync App. For example, the following query is processed server side:

SELECT * FROM Tickets WHERE Status = 2 AND (Priority = 1 OR Type = 'Other')

The API allows only a subset of columns to be used as filter criteria in the WHERE clause. The following columns can be used:

  • Id
  • AgentId
  • GroupId
  • Priority
  • Status
  • Tag
  • Type
  • DueBy
  • FirstResponseDueBy
  • CreatedAt
  • UpdatedAt

Insert

Email, Subject, Description, GroupId, Status and Priority are mandatory columns for Inserting/Creating a new ticket.

Every ticket uses fixed numerical values to denote its Status and Priority. Numerical values are given as:

Status:

  • Open = 2
  • Pending = 3
  • Resolved = 4
  • Closed = 5

Priority:

  • Low = 1
  • Medium = 2
  • High = 3
  • Urgent = 4

A new ticket can be inserted as following:

INSERT INTO Tickets (Description, Subject, Email,  GroupId, Status, Priority) VALUES ('Details about the issue...', 'New support needed...', '[email protected]', 12345, 3, 2)

Update

Following is an example to update a ticket:

UPDATE Tickets SET Priority = 1 WHERE Id = 100

Delete

Following is an example to delete a ticket:

DELETE FROM Tickets WHERE Id = 100

Columns

Name Type ReadOnly Description
Id [KEY] Integer False

Unique ID of the ticket.

AssociationType String False

Association type of the ticket.

Archived Boolean False

Whether or not the ticket has been archived.

CcEmailsAggregate String False

Email address added in cc field.

CompanyId Bigint False

ID of the company to which ticket belongs.

CreatedAt Datetime False

Ticket creation timestamp.

CustomFields String False

Key value pairs containing the names and values of custom fields

Deleted Boolean False

Whether or not the ticket has been deleted.

Description String False

HTML content of the ticket.

DescriptionText String False

Text content of the ticket.

DueBy Datetime False

Timestamp that denotes when the ticket is due to be resolved.

Email String False

Email address of the requester.

EmailConfigId Bigint False

ID of the email config used for the ticket.

FacebookId String False

Facebook ID of the requester.

FirstResponseDueBy Datetime False

Time when first response is due.

FirstReSponseEscalated Boolean False

If ticket has been escalated as result of response.

FwdEmailsAggregate String False

Email address while forwarding a ticket.

GroupId Bigint False

Group ID to which the ticket has been assigned.

IsEscalated Boolean False

If ticket has been escalated for some reason.

Name String False

Name of the requester.

Phone String False

Phone number of the requester.

Priority Integer False

Priority of the ticket.

ProductId Bigint False

ID of the product associated with the ticket.

ReplyCcEmailsAggregate String False

Email address added while replying.

RequesterId Bigint False

ID of the requester of the ticket.

ResponderId Bigint False

ID of the agent assigned to the ticket.

Source Integer False

Channel throught which ticket was created.

Spam Boolean False

If ticket has been marked as spam.

Status Integer False

Status of the ticket.

Subject String False

Subject of the ticket.

TagsAggregate String False

Tags associated with ticket.

ToEmailsAggregate String True

Email address to which ticket was sent.

Type String False

Category/type of the ticket.

UpdatedAt Datetime True

Ticket updated timestamp.

AgentRespondedAt Datetime True

Timestamp for when agent last responded to the ticket

RequesterRespondedAt Datetime True

Timestamp for when Customer last responded to the ticket

FirstRespondedAt Datetime True

Timestamp for when agent first responded to the ticket

StatusUpdatedAt Datetime True

Timestamp for when status of the ticket was updated

ReopenedAt Datetime True

Timestamp for when the ticket was reopened

ResolvedAt Datetime True

Timestamp for when the ticket was resolved

ClosedAt Datetime True

Timestamp for when the ticket was closed

PendingSince Datetime True

Timestamp since the ticket is pending

Freshdesk Connector for CData Sync

TimeEntries

Create, update, delete, and query from TimeEntries table

Table Specific Information

Select

Following is an example to select all entries from TimeEntries table:

SELECT * FROM TimeEntries

The API allows only a subset of columns to be used as filter criteria in the WHERE clause. The following columns can be used:

  • AgentId
  • Billable
  • ExecutedAt

Insert

TicketId is mandatory to Insert into TimeEntries table. For instance:

INSERT INTO TimeEntries (TicketId, Note, AgentId) Values ('255', 'Invoice Information', '122')

Note:

  • The TicketId is required field to Insert into TimeEntries table.
  • Default value for Billable is true.
  • If the TimeSpent attribute and the TimerRunning attribute are not specified, then the TimerRunning attribute will automatically be set to 'true'.
  • If the StartTime is specified and the TimerRunning attribute is not specified, then the TimerRunning attribute will automatically be set to 'true'.
  • The StartTime cannot be greater than the current time.
  • The StartTime cannot be given in the query if the TimerRunning attribute is set to 'false'

Update

Following is an example of how to update TimeEntries table:
UPDATE TimeEntries SET Billable = 'true' WHERE Id = 786

Note:

  • The StartTime cannot be updated if the timer is already running.
  • The StartTime cannot be be updated unless the timer_running attribute is updated from 'true' to 'false'.
  • The StartTime cannot be greater than the current time.
  • The TimerRunning attribute cannot be set to the same value as before.
  • The AgentId cannot be updated if the timer is already running.

Delete

Following is an example of how to delete from the TimeEntries table:

DELETE FROM TimeEntries WHERE Id = 786

Columns

Name Type ReadOnly Description
Id [KEY] Bigint False

Unique ID of the time entry.

AgentId Bigint False

The ID of the agent to whom this time-entry is associated.

Billable Boolean False

Set to true if the time entry is billable.

ExecutedAt Datetime False

Time at which this time-entry was added/created.

Note String False

Description of the time entry.

StartTime Datetime False

The time at which the time-entry is added or the time of the last invoked

TicketId Bigint True

The ID of the ticket to which this time entry is associated.

TimeSpent String False

The duration in hh:mm format.

TimerRunning Boolean False

True if the timer is currently running.

CreatedAt Datetime True

Time Entry created timestamp.

UpdatedAt Datetime True

Time Entry updated timestamp.

Freshdesk Connector for CData Sync

Views

Views are composed of columns and pseudo columns. Views are similar to tables in the way that data is represented; however, views do not support updates. Entities that are represented as views are typically read-only entities. Often, a stored procedure is available to update the data if such functionality is applicable to the data source.

Queries can be executed against a view as if it were a normal table, and the data that comes back is similar in that regard.

Dynamic views, such as queries exposed as views, and views for looking up specific combinations of project_team work items are supported.

Freshdesk Connector for CData Sync Views

Name Description
CustomObjects Retrieve the available Custom Objects in FreshDesk.
TicketActivities Query the TicketActivities view.
TicketProperties Query the TicketProperties view.

Freshdesk Connector for CData Sync

CustomObjects

Retrieve the available Custom Objects in FreshDesk.

Table Specific Information

Select

Following is an example to select all entries from the CustomObjects table:

SELECT * FROM CustomObjects

You can also select a specific entry from the CustomObjects table:

SELECT * FROM CustomObjects WHERE Id = 11704

Columns

Name Type Description
Name String Name of the custom object.
Id [KEY] Bigint Id of the custom object.
Fields String Fields of the custom object.
Description String Description of the custom object.

Freshdesk Connector for CData Sync

TicketActivities

Query the TicketActivities view.

Table Specific Information

Select

Following is an example to select all entries from the TicketActivities table:

SELECT * FROM TicketActivities

Columns

Name Type Description
TicketId Bigint Ticket Id of the ticket activity.
PerformerId Bigint Performer Id of the ticket activity.
PerformerType String Performer Type of the ticket activity.
PerformedAt Datetime Performed At of the ticket activity.
Status String Status of the ticket activity.
AgentId Bigint Agent Id of the ticket activity.
Group String Status of the ticket activity.
Priority String Priority of the ticket activity.
RequesterId Bigint Requester Id of the ticket activity.
TicketType String Ticket Type of the ticket activity.
Source String Source of the ticket activity.

Freshdesk Connector for CData Sync

TicketProperties

Query the TicketProperties view.

Columns

Name Type Description
TicketId Bigint Ticket Id of the ticket property.
Subject String Subject of the ticket property.
Status String Status of the ticket property.
Priority String Priority of the ticket property.
Source String Source of the ticket property.
Type String Type of the ticket property.
Agent String Agent of the ticket property.
Group String Status of the ticket property.
CreatedTime Datetime Created Time of the ticket property.
ResolvedTime Datetime Resolved Time of the ticket property.
ClosedTime Datetime Closed Time of the ticket property.
TimeTracked String Time Tracked of the ticket property.
AgentInteractions Int Agent Interactions of the ticket property.
CustomerInteractions Int Customer Interactions of the ticket property.
InitialResponseTime Datetime Initial Response Time of the ticket property.
FirstResponseTime String First Response Time of the ticket property.
ResolutionTime String Resolution Time of the ticket property.
ResolutionStatus String Resolution Status of the ticket property.
Product String Product of the ticket property.
Tags String Tags of the ticket property.
DueByTime Datetime Due By Time of the ticket property.
SurveyResult String Survey Result of the ticket property.
Skill String Skill of the ticket property.
LastUpdatedTime Datetime Last Updated Time of the ticket property.
FirstResponseStatus String First Response Status of the ticket property.

Freshdesk Connector for CData Sync

Connection String Options

The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.

For more information on establishing a connection, see Establishing a Connection.

Authentication


PropertyDescription
DomainDomain is used for accessing your Freshdesk account.
APIKeyThe API key used for accessing your Freshdesk account.

SSL


PropertyDescription
SSLServerCertThe certificate to be accepted from the server when connecting using TLS/SSL.

Firewall


PropertyDescription
FirewallTypeThe protocol used by a proxy-based firewall.
FirewallServerThe name or IP address of a proxy-based firewall.
FirewallPortThe TCP port for a proxy-based firewall.
FirewallUserThe user name to use to authenticate with a proxy-based firewall.
FirewallPasswordA password used to authenticate to a proxy-based firewall.

Proxy


PropertyDescription
ProxyAutoDetectThis indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
ProxyServerThe hostname or IP address of a proxy to route HTTP traffic through.
ProxyPortThe TCP port the ProxyServer proxy is running on.
ProxyAuthSchemeThe authentication type to use to authenticate to the ProxyServer proxy.
ProxyUserA user name to be used to authenticate to the ProxyServer proxy.
ProxyPasswordA password to be used to authenticate to the ProxyServer proxy.
ProxySSLTypeThe SSL type to use when connecting to the ProxyServer proxy.
ProxyExceptionsA semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .

Logging


PropertyDescription
LogModulesCore modules to be included in the log file.

Schema


PropertyDescription
LocationA path to the directory that contains the schema files defining tables, views, and stored procedures.
BrowsableSchemasThis property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
TablesThis property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
ViewsRestricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.

Miscellaneous


PropertyDescription
FetchTicketsUpdatedSinceUse FetchTicketsUpdatedSince to query tickets older than 30 days. Note: TicketStats must be set to True.
IgnoreSurplusResultsUse IgnoreSurplusResults to ignore results beyond 300 which have same CreatedAt value.
IncludeCustomObjectsWhether to include custom objects or not.
MaxRowsLimits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
OtherThese hidden properties are used only in specific use cases.
PseudoColumnsThis property indicates whether or not to include pseudo columns as columns to the table.
RowScanDepthSet this property to control the number of rows scanned when TypeDetectionScheme is set to RowScan.
TicketPropertiesURLUse TicketPropertiesURL to query ticket properties.
TicketStatsUse TicketsStats to retrieve stats attributes of a ticket, which are not normally available.
TimeoutThe value in seconds until the timeout error is thrown, canceling the operation.
TypeDetectionSchemeDetermines how to determine the data type of columns.
UserDefinedViewsA filepath pointing to the JSON configuration file containing your custom views.
Freshdesk Connector for CData Sync

Authentication

This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.


PropertyDescription
DomainDomain is used for accessing your Freshdesk account.
APIKeyThe API key used for accessing your Freshdesk account.
Freshdesk Connector for CData Sync

Domain

Domain is used for accessing your Freshdesk account.

Remarks

Domain is used for accessing your Freshdesk account. For example, in your URL: https://{domainValue}.freshdesk.com, thus connection string should be:

Domain=domainValue

Freshdesk Connector for CData Sync

APIKey

The API key used for accessing your Freshdesk account.

Remarks

The API key used for accessing your Freshdesk account. The API key can be found in Freshdesk by going to Profile Settings -> API Key.

Freshdesk Connector for CData Sync

SSL

This section provides a complete list of the SSL properties you can configure in the connection string for this provider.


PropertyDescription
SSLServerCertThe certificate to be accepted from the server when connecting using TLS/SSL.
Freshdesk Connector for CData Sync

SSLServerCert

The certificate to be accepted from the server when connecting using TLS/SSL.

Remarks

If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
A path to a local file containing the certificate C:\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space or colon separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space or colon separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

If not specified, any certificate trusted by the machine is accepted.

Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.

Freshdesk Connector for CData Sync

Firewall

This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.


PropertyDescription
FirewallTypeThe protocol used by a proxy-based firewall.
FirewallServerThe name or IP address of a proxy-based firewall.
FirewallPortThe TCP port for a proxy-based firewall.
FirewallUserThe user name to use to authenticate with a proxy-based firewall.
FirewallPasswordA password used to authenticate to a proxy-based firewall.
Freshdesk Connector for CData Sync

FirewallType

The protocol used by a proxy-based firewall.

Remarks

This property specifies the protocol that the Sync App will use to tunnel traffic through the FirewallServer proxy. Note that by default, the Sync App connects to the system proxy; to disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.

Type Default Port Description
TUNNEL 80 When this is set, the Sync App opens a connection to Freshdesk and traffic flows back and forth through the proxy.
SOCKS4 1080 When this is set, the Sync App sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted.
SOCKS5 1080 When this is set, the Sync App sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes.

To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.

Freshdesk Connector for CData Sync

FirewallServer

The name or IP address of a proxy-based firewall.

Remarks

This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling. Use ProxyServer to connect to an HTTP proxy.

Note that the Sync App uses the system proxy by default. To use a different proxy, set ProxyAutoDetect to false.

Freshdesk Connector for CData Sync

FirewallPort

The TCP port for a proxy-based firewall.

Remarks

This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.

Freshdesk Connector for CData Sync

FirewallUser

The user name to use to authenticate with a proxy-based firewall.

Remarks

The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.

Freshdesk Connector for CData Sync

FirewallPassword

A password used to authenticate to a proxy-based firewall.

Remarks

This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.

Freshdesk Connector for CData Sync

Proxy

This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.


PropertyDescription
ProxyAutoDetectThis indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
ProxyServerThe hostname or IP address of a proxy to route HTTP traffic through.
ProxyPortThe TCP port the ProxyServer proxy is running on.
ProxyAuthSchemeThe authentication type to use to authenticate to the ProxyServer proxy.
ProxyUserA user name to be used to authenticate to the ProxyServer proxy.
ProxyPasswordA password to be used to authenticate to the ProxyServer proxy.
ProxySSLTypeThe SSL type to use when connecting to the ProxyServer proxy.
ProxyExceptionsA semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .
Freshdesk Connector for CData Sync

ProxyAutoDetect

This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.

Remarks

This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.

To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.

Freshdesk Connector for CData Sync

ProxyServer

The hostname or IP address of a proxy to route HTTP traffic through.

Remarks

The hostname or IP address of a proxy to route HTTP traffic through. The Sync App can use the HTTP, Windows (NTLM), or Kerberos authentication types to authenticate to an HTTP proxy.

If you need to connect through a SOCKS proxy or tunnel the connection, see FirewallType.

By default, the Sync App uses the system proxy. If you need to use another proxy, set ProxyAutoDetect to false.

Freshdesk Connector for CData Sync

ProxyPort

The TCP port the ProxyServer proxy is running on.

Remarks

The port the HTTP proxy is running on that you want to redirect HTTP traffic through. Specify the HTTP proxy in ProxyServer. For other proxy types, see FirewallType.

Freshdesk Connector for CData Sync

ProxyAuthScheme

The authentication type to use to authenticate to the ProxyServer proxy.

Remarks

This value specifies the authentication type to use to authenticate to the HTTP proxy specified by ProxyServer and ProxyPort.

Note that the Sync App will use the system proxy settings by default, without further configuration needed; if you want to connect to another proxy, you will need to set ProxyAutoDetect to false, in addition to ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.

The authentication type can be one of the following:

  • BASIC: The Sync App performs HTTP BASIC authentication.
  • DIGEST: The Sync App performs HTTP DIGEST authentication.
  • NEGOTIATE: The Sync App retrieves an NTLM or Kerberos token based on the applicable protocol for authentication.
  • PROPRIETARY: The Sync App does not generate an NTLM or Kerberos token. You must supply this token in the Authorization header of the HTTP request.

If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.

Freshdesk Connector for CData Sync

ProxyUser

A user name to be used to authenticate to the ProxyServer proxy.

Remarks

The ProxyUser and ProxyPassword options are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

You can select one of the available authentication types in ProxyAuthScheme. If you are using HTTP authentication, set this to the user name of a user recognized by the HTTP proxy. If you are using Windows or Kerberos authentication, set this property to a user name in one of the following formats:

user@domain
domain\user

Freshdesk Connector for CData Sync

ProxyPassword

A password to be used to authenticate to the ProxyServer proxy.

Remarks

This property is used to authenticate to an HTTP proxy server that supports NTLM (Windows), Kerberos, or HTTP authentication. To specify the HTTP proxy, you can set ProxyServer and ProxyPort. To specify the authentication type, set ProxyAuthScheme.

If you are using HTTP authentication, additionally set ProxyUser and ProxyPassword to HTTP proxy.

If you are using NTLM authentication, set ProxyUser and ProxyPassword to your Windows password. You may also need these to complete Kerberos authentication.

For SOCKS 5 authentication or tunneling, see FirewallType.

By default, the Sync App uses the system proxy. If you want to connect to another proxy, set ProxyAutoDetect to false.

Freshdesk Connector for CData Sync

ProxySSLType

The SSL type to use when connecting to the ProxyServer proxy.

Remarks

This property determines when to use SSL for the connection to an HTTP proxy specified by ProxyServer. This value can be AUTO, ALWAYS, NEVER, or TUNNEL. The applicable values are the following:

AUTODefault setting. If the URL is an HTTPS URL, the Sync App will use the TUNNEL option. If the URL is an HTTP URL, the component will use the NEVER option.
ALWAYSThe connection is always SSL enabled.
NEVERThe connection is not SSL enabled.
TUNNELThe connection is through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy.

Freshdesk Connector for CData Sync

ProxyExceptions

A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .

Remarks

The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.

Note that the Sync App uses the system proxy settings by default, without further configuration needed; if you want to explicitly configure proxy exceptions for this connection, you need to set ProxyAutoDetect = false, and configure ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.

Freshdesk Connector for CData Sync

Logging

This section provides a complete list of the Logging properties you can configure in the connection string for this provider.


PropertyDescription
LogModulesCore modules to be included in the log file.
Freshdesk Connector for CData Sync

LogModules

Core modules to be included in the log file.

Remarks

Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.

See the Logging page for an overview.

Freshdesk Connector for CData Sync

Schema

This section provides a complete list of the Schema properties you can configure in the connection string for this provider.


PropertyDescription
LocationA path to the directory that contains the schema files defining tables, views, and stored procedures.
BrowsableSchemasThis property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
TablesThis property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
ViewsRestricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Freshdesk Connector for CData Sync

Location

A path to the directory that contains the schema files defining tables, views, and stored procedures.

Remarks

The path to a directory which contains the schema files for the Sync App (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.

If left unspecified, the default location is "%APPDATA%\\CData\\FreshDesk Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:

Freshdesk Connector for CData Sync

BrowsableSchemas

This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Remarks

Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.

Freshdesk Connector for CData Sync

Tables

This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.

Remarks

Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the Sync App.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.

Freshdesk Connector for CData Sync

Views

Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.

Remarks

Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the Sync App.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.

Freshdesk Connector for CData Sync

Miscellaneous

This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.


PropertyDescription
FetchTicketsUpdatedSinceUse FetchTicketsUpdatedSince to query tickets older than 30 days. Note: TicketStats must be set to True.
IgnoreSurplusResultsUse IgnoreSurplusResults to ignore results beyond 300 which have same CreatedAt value.
IncludeCustomObjectsWhether to include custom objects or not.
MaxRowsLimits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
OtherThese hidden properties are used only in specific use cases.
PseudoColumnsThis property indicates whether or not to include pseudo columns as columns to the table.
RowScanDepthSet this property to control the number of rows scanned when TypeDetectionScheme is set to RowScan.
TicketPropertiesURLUse TicketPropertiesURL to query ticket properties.
TicketStatsUse TicketsStats to retrieve stats attributes of a ticket, which are not normally available.
TimeoutThe value in seconds until the timeout error is thrown, canceling the operation.
TypeDetectionSchemeDetermines how to determine the data type of columns.
UserDefinedViewsA filepath pointing to the JSON configuration file containing your custom views.
Freshdesk Connector for CData Sync

FetchTicketsUpdatedSince

Use FetchTicketsUpdatedSince to query tickets older than 30 days. Note: TicketStats must be set to True.

Remarks

When TicketStats = true, all requests (including filtering request) would be sent to the 'List all' endpoint. The 'List all' endpoint only retrieves the tickets created in the last 30 days, unless FetchTicketsUpdatedSince is set to a specifed date. Set FetchTicketsUpdatedSince to a specified date to retrieve tickets created past the last 30 days. (Example: FetchTicketsUpdatedSince=2022-01-01 or FetchTicketsUpdatedSince=2022-01-01T00:00:00Z)

Freshdesk Connector for CData Sync

IgnoreSurplusResults

Use IgnoreSurplusResults to ignore results beyond 300 which have same CreatedAt value.

Remarks

By default, FreshDesk API only returns upto 300 results matching a specific filter. Paging mechanism of the driver uses CreatedAt attribute as a filter, thus more than 300 results with same CreateAt value will cause paging to fail. IgnoreSurplusResults will cause these surplus results to be ignored without causing an exception and keep retrieving results.

Freshdesk Connector for CData Sync

IncludeCustomObjects

Whether to include custom objects or not.

Remarks

If set to TRUE, the custom objects are retrieved. Note: You must have the Custom Objects feature enabled to use this property.

Freshdesk Connector for CData Sync

MaxRows

Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.

Remarks

Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.

Freshdesk Connector for CData Sync

Other

These hidden properties are used only in specific use cases.

Remarks

The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.

Specify multiple properties in a semicolon-separated list.

Integration and Formatting

DefaultColumnSizeSets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMTDetermines whether to convert date-time values to GMT, instead of the local time of the machine.
RecordToFile=filenameRecords the underlying socket data transfer to the specified file.

Freshdesk Connector for CData Sync

PseudoColumns

This property indicates whether or not to include pseudo columns as columns to the table.

Remarks

This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".

Freshdesk Connector for CData Sync

RowScanDepth

Set this property to control the number of rows scanned when TypeDetectionScheme is set to RowScan.

Remarks

Determines the number of rows used to determine the column data types.

Setting a high value may decrease performance. Setting a low value may prevent the data type from being determined properly, especially when there is null data.

Freshdesk Connector for CData Sync

TicketPropertiesURL

Use TicketPropertiesURL to query ticket properties.

Remarks

Set TicketPropertiesURL to the API URL that is found on the Schedule page of the created Scheduled Export. To find this, go to Reports/Schedule an export/Click on the name of the Schedule and the URL is under the Receive via API section.

Freshdesk Connector for CData Sync

TicketStats

Use TicketsStats to retrieve stats attributes of a ticket, which are not normally available.

Remarks

When TicketStats = true, all requests (including filtering request) would be sent to the 'List all' endpoint. This would slightly affect the performance by handling filtering client-side, but would retrieve stats attributes of each ticket. 'List all' endpoint only retrieves the tickets created in the last 30 days.

Freshdesk Connector for CData Sync

Timeout

The value in seconds until the timeout error is thrown, canceling the operation.

Remarks

If Timeout = 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.

If Timeout expires and the operation is not yet complete, the Sync App throws an exception.

Freshdesk Connector for CData Sync

TypeDetectionScheme

Determines how to determine the data type of columns.

Remarks

NoneSetting TypeDetectionScheme to None will return all columns as the string type.
RowScanSetting TypeDetectionScheme to RowScan will scan rows to heuristically determine the data type. The RowScanDepth determines the number of rows to be scanned.

Freshdesk Connector for CData Sync

UserDefinedViews

A filepath pointing to the JSON configuration file containing your custom views.

Remarks

User Defined Views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The Sync App automatically detects the views specified in this file.

You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the Sync App.

This User Defined View configuration file is formatted as follows:

  • Each root element defines the name of a view.
  • Each root element contains a child element, called query, which contains the custom SQL query for the view.

For example:

{
	"MyView": {
		"query": "SELECT * FROM Tickets WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}
Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8462