2024 is the year of the connector - vote here

Explore the Freshdesk API data model

See how the various Freshdesk endpoints relate to each other, using our handy Entity Relationship Diagram

Pulling data from the Freshdesk API is only the first part of your reporting. You also need to understand the relationships between different endpoints - something that APIs typically fail to convey.

At SyncHub, we not only sync your Freshdesk API endpoints down into a reportable format, we also describe their relationships (e.g. in terms of foreign keys) so that you can quickly get a grasp of your data and how it fits together. This page is intended as technical documentation of these relationships.

Endpoints

Agent

Documentation: https://developers.freshdesk.com/api/#agents

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
CreatedAt datetime - -
UpdatedAt datetime - -
Available boolean - -
Occasional boolean - -
TicketScope int - -
LastActiveAt datetime - -
AvailableSince datetime - -
Type string - -
Signature string - -
FreshcallerAgent boolean - -
ContactActive boolean - -
ContactEmail string - -
ContactJobTitle string - -
ContactLanguage string - -
ContactLastLoginAt datetime - -
ContactMobile string - -
ContactName string - -
ContactPhone string - -
ContactTimezone string - -
ContactCreatedAt datetime - -
ContactUpdatedAt datetime - -

Company

Documentation: https://developers.freshdesk.com/api/#companies

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
CreatedAt datetime - -
UpdatedAt datetime - -
Note string - -
HealthScore string - -
AccountTier string - -
RenewalDate datetime - -
Industry string - -

Contact

Documentation: https://developers.freshdesk.com/api/#contact_attributes

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
TimeZone string - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
AvatarID long - -
AvatarName string - -
AvatarContentType string - -
AvatarSize long - -
AvatarCreatedAt datetime - -
AvatarUpdatedAt datetime - -
AvatarURL string - -
CreatedAt datetime - -
UpdatedAt datetime - -
Active boolean -
  • 30 Nov 2022 This 'active' field indicates that a contact has been 'verified' - it does not refer to their 'deletion' status
Deleted boolean -
  • 12 Jan 2023 The 'deleted' property only comes down from the API if the contact has actually been deleted. A Contact can be 'soft deleted' which will only flag deleted as true, then it can be permenantly/hard deleted
CompanyID long Company → ID -
Address string - -
ViewAllTickets boolean - -
Email string - -
JobTitle string - -
Language string - -
Mobile string - -
Phone string - -
TwitterID string - -
FacebookID string - -
UniqueExternalID string - -
PreferredSource string - -
FirstName string - -
LastName string - -
VisitorID string - -
OrgContactID long - -

EmailMailbox

Documentation: https://developers.freshdesk.com/api/#email-mailboxes

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
CreatedAt datetime - -
UpdatedAt datetime - -
GroupID long Group → ID -
ProductID long Product → ID -
SupportEmail string - -
DefaultReplyEmail boolean - -
Active boolean -
  • 13 Jan 2023 This does not indicate that the mailbox is deleted. It refers to the email address being verified
MailboxType string - -
FailureCode string - -
FreshdeskMailboxForwardEmail string - -
CustomMailboxAccessType string - -
CustomMailboxIncomingMailServer string - -
CustomMailboxIncomingPort int - -
CustomMailboxIncomingUseSSL boolean - -
CustomMailboxIncomingDeleteFromServer boolean - -
CustomMailboxIncomingAuthentication string - -
CustomMailboxIncomingUserName string - -
CustomMailboxIncomingFailureCode string - -
CustomMailboxOutgoingMailServer string - -
CustomMailboxOutgoingPort string - -
CustomMailboxOutgoingUseSSL string - -
CustomMailboxOutgoingAuthentication string - -
CustomMailboxOutgoingUserName string - -
CustomMailboxOutgoingFailureCode string - -

Group

Documentation: https://developers.freshdesk.com/api/#groups

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
CreatedAt datetime - -
UpdatedAt datetime - -
EscalateTo long Agent → ID -
BusinessCalendarID long -
  • 29 Nov 2022 Foreign Key - Refers to 'Business Hour' (not implemented)
  • 12 Jan 2023 This property replaced 'business_hour_id' when upgraded the new Group endpoint
UnassignedFor string - -
Type string -
  • 12 Jan 2023 This property replaced 'group_type' when upgraded the new Group endpoint
AllowAgentsToChangeAvailability boolean - -
AutoTicketAssign int - -
AutomaticAgentAssignmentEnabled boolean - -
AutomaticAgentAssignmentType string - -

Product

Documentation: https://developers.freshdesk.com/api/#products

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
CreatedAt datetime - -
UpdatedAt datetime - -

Role

Documentation: https://developers.freshdesk.com/api/#roles_attributes

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
Default boolean - -
CreatedAt datetime - -
UpdatedAt datetime - -
AgentType int - -

SLAPolicy

Documentation: https://developers.freshdesk.com/api/#sla-policies

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
Active boolean - -
IsDefault boolean - -
Position int - -

Ticket

Documentation: https://developers.freshdesk.com/api/#tickets

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
CreatedAt datetime - -
UpdatedAt datetime - -
CompanyID long Company → ID -
Deleted boolean - -
DescriptionText string - -
DueBy datetime - -
Email string - -
EmailConfigID long - -
FacebookID string - -
FrDueBy datetime - -
FrEscalated boolean - -
GroupID long - -
IsEscalated boolean - -
Phone string - -
Priority int - -
ProductID long - -
RequesterID long Contact → ID -
ResponderID long Agent → ID -
Source int - -
Spam boolean - -
Status int - -
Subject string - -
TwitterID string - -
Type string - -

TicketConversation

Documentation: https://developers.freshdesk.com/api/#conversations

Column Type Relates to Notes
RemoteID string - -
TicketRemoteID string Ticket → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
CreatedAt datetime - -
UpdatedAt datetime - -
Body string - -
BodyText string - -
Incoming boolean - -
Private boolean - -
Source int - -
Category int - -
SupportEmail string -
  • 30 Nov 2022 This field is identical to 'from_email', just in a more consistent format
TicketID long Ticket → ID -
UserID long Agent → ID -
LastEditedAt datetime - -
LastEditedUserID long Agent → ID -

TimeEntry

Documentation: https://developers.freshdesk.com/api/#time-entries

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Note string - -
CreatedAt datetime - -
UpdatedAt datetime - -
AgentID long Agent → ID -
TicketID long Ticket → ID -
CompanyID long Company → ID -
Billable boolean - -
ExecutedAt datetime - -
StartTime datetime - -
TimeSpent string - -
TimeSpentInSeconds long - -
TimerRunning boolean - -

CompanyDomain

Column Type Relates to Notes
RemoteID string - -
CompanyRemoteID string Company → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
CompanyID long Company → ID -
Domain string - -

ContactOtherPhoneNumber

Column Type Relates to Notes
RemoteID string - -
ContactRemoteID string Contact → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ContactID long Contact → ID -
Label string -
  • 13 Jan 2023 The label is often NULL
Value string - -

ContactOtherCompany

Column Type Relates to Notes
RemoteID string - -
ContactRemoteID string Contact → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ContactID long Contact → ID -
CompanyID long Company → ID -
ViewAllTickets boolean - -

ContactOtherEmail

Column Type Relates to Notes
RemoteID string - -
ContactRemoteID string Contact → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ContactID long Contact → ID -
EmailAddress string - -

ContactTag

Column Type Relates to Notes
RemoteID string - -
ContactRemoteID string Contact → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ContactID long Contact → ID -
Tag string - -

GroupAgent

Column Type Relates to Notes
RemoteID string - -
GroupRemoteID string Group → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
GroupID long Group → ID -
AgentID long Agent → ID -

SLAPolicyTarget

Column Type Relates to Notes
RemoteID string - -
SLAPolicyRemoteID string SLAPolicy → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
SLAPolicyID long SLAPolicy → ID -
TargetName string - -
RespondWithin long - -
ResolveWithin long - -
BusinessHours boolean - -
EscalationEnabled boolean - -

SLAPolicyAgentEscalation

Column Type Relates to Notes
RemoteID string - -
SLAPolicyRemoteID string SLAPolicy → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
SLAPolicyID long SLAPolicy → ID -
EscalationName string - -
EscalationTime long - -
AgentID long Agent → ID -

SLAPolicyApplicableToCompany

Column Type Relates to Notes
RemoteID string - -
SLAPolicyRemoteID string SLAPolicy → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
SLAPolicyID long SLAPolicy → ID -
CompanyID long Company → ID -

SLAPolicyApplicableToGroup

Column Type Relates to Notes
RemoteID string - -
SLAPolicyRemoteID string SLAPolicy → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
SLAPolicyID long SLAPolicy → ID -
GroupID long Group → ID -

SLAPolicyApplicableToSource

Column Type Relates to Notes
RemoteID string - -
SLAPolicyRemoteID string SLAPolicy → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
SLAPolicyID long SLAPolicy → ID -
SourceID long - -

SLAPolicyApplicableToTicketType

Column Type Relates to Notes
RemoteID string - -
SLAPolicyRemoteID string SLAPolicy → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
SLAPolicyID long SLAPolicy → ID -
TicketType string - -

SLAPolicyApplicableToProduct

Column Type Relates to Notes
RemoteID string - -
SLAPolicyRemoteID string SLAPolicy → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
SLAPolicyID long SLAPolicy → ID -
ProductID long Product → ID -

TicketRecipient

Column Type Relates to Notes
RemoteID string - -
TicketRemoteID string Ticket → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
TicketID long Ticket → ID -
Email string - -
IsCCRecipient boolean - -
IsReplyCCRecipient boolean - -
IsFwdRecipient boolean - -
IsPrimaryRecipient boolean - -

TicketTag

Column Type Relates to Notes
RemoteID string - -
TicketRemoteID string Ticket → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
TicketID long Ticket → ID -
Tag string - -

TicketCustomField

Column Type Relates to Notes
RemoteID string - -
TicketRemoteID string Ticket → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
TicketID long Ticket → ID -
FieldName string - -
ValueString string - -
ValueBool boolean - -
ValueLong long - -

TicketConversationAttachment

Column Type Relates to Notes
RemoteID string - -
TicketConversationRemoteID string TicketConversation → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
TicketConversationID long TicketConversation → ID -
ContentType string - -
Size int - -
CreatedAt datetime - -
UpdatedAt datetime - -
AttachmentUrl string - -
ThumbUrl string - -

TicketConversationRecipient

Column Type Relates to Notes
RemoteID string - -
TicketConversationRemoteID string TicketConversation → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
TicketConversationID long TicketConversation → ID -
Email string - -
IsCCRecipient boolean - -
IsBCCRecipient boolean - -
IsPrimaryRecipient boolean - -

Need more?

SyncHub lives and breathes APIs and data. Keep exploring using the links below.