Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
229 changes: 229 additions & 0 deletions _data/taps/schemas/freshdesk/v2/freshdesk-v2-foreign-keys.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
tap: freshdesk
version: '2'
keys:
agents_agent_id:
- table: agents
keys:
- id
- table: groups
keys:
- agent_ids
- table: satisfaction_ratings
keys:
- agent_id
- table: tickets
keys:
- responder_id
- table: time_entries
keys:
- agent_id
companies_company_id:
- table: companies
keys:
- id
- table: tickets
keys:
- company_id
contacts_contact_id:
- table: contacts
keys:
- id
conversations_conversation_id:
- table: conversations
keys:
- id
groups_group_id:
- table: agents
keys:
- group_ids
- table: groups
keys:
- id
- table: satisfaction_ratings
keys:
- group_id
- table: tickets
keys:
- group_id
roles_role_id:
- table: agents
keys:
- role_ids
- table: roles
keys:
- id
satisfaction_ratings_satisfaction_rating_id:
- table: satisfaction_ratings
keys:
- id
tickets_ticket_id:
- table: conversations
keys:
- ticket_id
- table: tickets
keys:
- id
- table: satisfaction_ratings
keys:
- ticket_id
time_entries_time_entry_id:
- table: time_entries
keys:
- id
tables:
- table-name: agents
join:
- table-name: groups
keys:
- key: id
foreign-key: agent_ids
- key: group_ids
foreign-key: id
- table-name: satisfaction_ratings
keys:
- key: id
foreign-key: agent_id
- key: group_ids
foreign-key: group_id
- table-name: tickets
keys:
- key: id
foreign-key: responder_id
- key: group_ids
foreign-key: group_id
- table-name: time_entries
keys:
- key: id
foreign-key: agent_id
- table-name: roles
keys:
- key: role_ids
foreign-key: id
- table-name: groups
join:
- table-name: agents
keys:
- key: agent_ids
foreign-key: id
- key: id
foreign-key: group_ids
- table-name: satisfaction_ratings
keys:
- key: agent_ids
foreign-key: agent_id
- key: id
foreign-key: group_id
- table-name: tickets
keys:
- key: agent_ids
foreign-key: responder_id
- key: id
foreign-key: group_id
- table-name: time_entries
keys:
- key: agent_ids
foreign-key: agent_id
- table-name: satisfaction_ratings
join:
- table-name: agents
keys:
- key: agent_id
foreign-key: id
- key: group_id
foreign-key: group_ids
- table-name: groups
keys:
- key: agent_id
foreign-key: agent_ids
- key: group_id
foreign-key: id
- table-name: tickets
keys:
- key: agent_id
foreign-key: responder_id
- key: group_id
foreign-key: group_id
- key: ticket_id
foreign-key: id
- table-name: time_entries
keys:
- key: agent_id
foreign-key: agent_id
- table-name: conversations
keys:
- key: ticket_id
foreign-key: ticket_id
- table-name: tickets
join:
- table-name: agents
keys:
- key: responder_id
foreign-key: id
- key: group_id
foreign-key: group_ids
- table-name: groups
keys:
- key: responder_id
foreign-key: agent_ids
- key: group_id
foreign-key: id
- table-name: satisfaction_ratings
keys:
- key: responder_id
foreign-key: agent_id
- key: group_id
foreign-key: group_id
- key: id
foreign-key: ticket_id
- table-name: time_entries
keys:
- key: responder_id
foreign-key: agent_id
- table-name: companies
keys:
- key: company_id
foreign-key: id
- table-name: conversations
keys:
- key: id
foreign-key: ticket_id
- table-name: time_entries
join:
- table-name: agents
keys:
- key: agent_id
foreign-key: id
- table-name: groups
keys:
- key: agent_id
foreign-key: agent_ids
- table-name: satisfaction_ratings
keys:
- key: agent_id
foreign-key: agent_id
- table-name: tickets
keys:
- key: agent_id
foreign-key: responder_id
- table-name: companies
join:
- table-name: tickets
keys:
- key: id
foreign-key: company_id
- table-name: conversations
join:
- table-name: tickets
keys:
- key: ticket_id
foreign-key: id
- table-name: satisfaction_ratings
keys:
- key: ticket_id
foreign-key: ticket_id
- table-name: roles
join:
- table-name: agents
keys:
- key: id
foreign-key: role_ids
130 changes: 130 additions & 0 deletions _data/taps/schemas/freshdesk/v2/freshdesk-v2-tables.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
tap: freshdesk
version: '2'
tables:
- name: agents
description: 'The `{{ table.name }}` table contains info about the agents in your
{{ integration.display_name }} account.

'
links:
doc-link: https://developers.freshdesk.com/api/#agents
singer-schema: https://github.com/singer-io/tap-freshdesk/blob/master/tap_freshdesk/schemas/agents.json
api-method: https://developers.freshdesk.com/api/#list_all_agents
table-details:
replication-method: Full Table
primary-key: id
- name: companies
description: 'The `{{ table.name }}` table contains info about the companies your
various customers and contacts belong to.

#### Custom Fields

If applicable, Stitch will replicate custom fields related to `{{ table.name }}`
in {{ integration.display_name }}.

'
links:
doc-link: https://developers.freshdesk.com/api/#companies
api-method: https://developers.freshdesk.com/api/#list_all_companies
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updated_at
- name: conversations
description: 'The `{{ table.name }}` table contains info about replies and public/private
notes added to the tickets in your {{ integration.display_name }} account.

'
links:
doc-link: https://developers.freshdesk.com/api/#conversations
singer-schema: https://github.com/singer-io/tap-freshdesk/blob/master/tap_freshdesk/schemas/conversations.json
api-method: https://developers.freshdesk.com/api/#list_all_ticket_notes
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updated_at
- name: contacts
description: 'The `{{ table.name }}` table contains info about the customers or
potential customers that have filed support tickets in any of the channels in
your {{ integration.display_name }} account.

#### Custom Fields

If applicable, Stitch will replicate custom fields related to `{{ table.name }}`
in {{ integration.display_name }}.

'
links:
doc-link: https://developers.freshdesk.com/api/#contacts
singer-schema: https://github.com/singer-io/tap-freshdesk/blob/master/tap_freshdesk/schemas/contacts.json
api-method: https://developers.freshdesk.com/api/#list_all_contacts
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updated_at
- name: groups
description: 'The `{{ table.name }}` table contains info about the groups your agents
belong to.

'
links:
doc-link: https://developers.freshdesk.com/api/#groups
singer-schema: https://github.com/singer-io/tap-freshdesk/blob/master/tap_freshdesk/schemas/groups.json
api-method: https://developers.freshdesk.com/api/#list_all_groups
table-details:
replication-method: Full Table
primary-key: id
- name: roles
description: 'The `{{ table.name }}` table contains info about the various roles
that can be assigned to team members in your {{ integration.display_name }} account.

'
links:
doc-link: https://developers.freshdesk.com/api/#roles
singer-schema: https://github.com/singer-io/tap-freshdesk/blob/master/tap_freshdesk/schemas/roles.json
api-method: https://developers.freshdesk.com/api/#list_all_roles
table-details:
replication-method: Full Table
primary-key: id
- name: satisfaction_ratings
description: 'The `{{ table.name }}` table contains info about customer satisfaction
survey responses, or satisfaction ratings.

'
links:
doc-link: https://developers.freshdesk.com/api/#satisfaction-ratings
singer-schema: https://github.com/singer-io/tap-freshdesk/blob/master/tap_freshdesk/schemas/satisfaction_ratings.json
api-method: https://developers.freshdesk.com/api/#view_all_satisfaction_ratings
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updated_at
- name: tickets
description: 'The `tickets` table contains info about the tickets in your {{ integration.display_name
}} account.

#### Custom Fields

If applicable, Stitch will replicate custom fields related to `tickets` in {{
integration.display_name }}.

'
links:
singer-schema: https://github.com/singer-io/tap-freshdesk/blob/master/tap_freshdesk/schemas/tickets.json
api-method: https://developers.freshdesk.com/api/#tickets
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updated_at
- name: time_entries
description: 'The `time_entries` table contains info about the time entries entered
by agents working on tickets.

'
links:
singer-schema: https://github.com/singer-io/tap-freshdesk/blob/master/tap_freshdesk/schemas/time_entries.json
api-method: https://developers.freshdesk.com/api/#time-entries
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updated_at
Loading