# Ujet

Ujet is a cloud-based contact center platform that provides mobile and AI-powered solutions for managing customer service operations.

Ujet integration replicates data using the [UJET API](https://support.ujet.co/hc/en-us/articles/115006908127-UJET-Data-API#h_7d95eafc-6c02-446b-bcc6-b733f4e1143e).

See the [Schema](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#Schema) section for a list of objects available for replication.

## Preparing for authentication

To access your data, you need to authenticate the connection with your account credentials.

Information noteMake sure that the account you use has read access to the tables you want to fetch.

You need administrator permissions in your Ujet account.

To retrieve your company key and company secret:

1. Log into your [Ujet](https://turo.ujet.co/sign-in) account.
2. Navigate to Settings &gt; Developer Settings.
3. In the Agent Platform section, click UJET.
4. Click Save Changes.
5. Copy and paste your company key and company secret into a secured file.

## Creating the connection

For more information, see [Connecting to SaaS applications](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm).

1. Fill in the required connection properties.

2. Provide a name for the connection in Connection name.

3. Select Open connection metadata to define metadata for the connection when it has been created.

4. Click Create.

Connection settings

| Setting | Description |
| --- | --- |
| Data gateway | Select a Data Movement gateway if required by your use case.<br><br>Information note<br><br>This field is not available with the Qlik Talend Cloud Starter subscription, as it does not support Data Movement gateway. If you have another subscription tier and do not want to use Data Movement gateway, select None.<br><br>For information on the benefits of Data Movement gateway and use cases that require it, see [Qlik Data Gateway - Data Movement](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm). |
| Start Date | Enter the date, in the format `MM/DD/YYYY`, from which the data must be replicated from your source to your target. |
| Company Key | Company key. |
| Company Secret | Company secret. |
| Domain | Enter your Ujet domain. You can find this value in your Ujet welcome email. |
| Subdomain | You can find your subdomain in your Ujet URL. If the URL is https://myujet.ujet.com, the subdomain is myujet. |

## Schema

Information note

Schemas and naming conventions can change from version to version. It is recommended to verify your version before continuing.

Depending on your destination, table and column names may not appear as they are outlined below.

### agent\_activity\_logs

The `agent_activity_logs` table contains info about agent activity logs.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | started\_at |

agent\_activity\_logs table foreign keys

| Join agent\_activity\_logs with | on |
| --- | --- |
| [agents](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#agents) | ```<br>agent_activity_logs.agent_id = agents.id<br>``` |
| [calls](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#calls) | ```<br>agent_activity_logs.agent_id = calls.agent_info.id<br>```<br><br>```<br>agent_activity_logs.agent_id = calls.transfers.from_agent.id<br>```<br><br>```<br>agent_activity_logs.agent_id = calls.transfers.to_agent.id<br>```<br><br>```<br>agent_activity_logs.call_id = calls.id<br>```<br><br>```<br>agent_activity_logs.call_id = calls.participants.call_id<br>``` |
| [chats](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#chats) | ```<br>agent_activity_logs.agent_id = chats.transfers.from_agent.id<br>```<br><br>```<br>agent_activity_logs.agent_id = chats.transfers.to_agent.id<br>```<br><br>```<br>agent_activity_logs.chat_id = chats.id<br>```<br><br>```<br>agent_activity_logs.chat_id = chats.participants.chat_id<br>``` |
| [menus](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#menus) | ```<br>agent_activity_logs.agent_id = menus.agent_assignments.assignee.id<br>```<br><br>```<br>agent_activity_logs.agent_id = menus.team_assignments.team.assignees.id<br>``` |

agent\_activity\_logs table schema

| **activity**<br><br><br>STRING |
| --- |
| **agent\_id**<br><br><br>INTEGER |
| **call\_id**<br><br><br>INTEGER |
| **chat\_id**<br><br><br>INTEGER |
| **duration**<br><br><br>INTEGER |
| **ended\_at**<br><br><br>DATE-TIME |
| **id**<br><br><br>INTEGER |
| **started\_at**<br><br><br>DATE-TIME |
| **status**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>color: STRING</li><li>id: INTEGER</li><li>name: STRING</li><li>wfm_id: INTEGER</li></ul> |
| **whodunnit**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>agent_number: STRING</li><li>avatar_url: STRING</li><li>first_name: STRING</li><li>id: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li></ul> |

### agents

The `agents` table contains info about agents.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | status\_updated\_at |

agents table foreign keys

| Join agents with | on |
| --- | --- |
| [agent_activity_logs](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#agent-activity-logs) | ```<br>agents.id = agent_activity_logs.agent_id<br>``` |
| [calls](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#calls) | ```<br>agents.id = calls.agent_info.id<br>```<br><br>```<br>agents.id = calls.transfers.from_agent.id<br>```<br><br>```<br>agents.id = calls.transfers.to_agent.id<br>``` |
| [chats](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#chats) | ```<br>agents.id = chats.transfers.from_agent.id<br>```<br><br>```<br>agents.id = chats.transfers.to_agent.id<br>``` |
| [menus](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#menus) | ```<br>agents.id = menus.agent_assignments.assignee.id<br>```<br><br>```<br>agents.id = menus.team_assignments.team.assignees.id<br>```<br><br>```<br>agents.teams.id = menus.team_assignments.team.id<br>``` |
| [teams](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#teams) | ```<br>agents.teams.id = teams.id<br>``` |

agents table schema

| **agent\_number**<br><br><br>STRING |
| --- |
| **avatar\_url**<br><br><br>STRING |
| **call\_count**<br><br><br>INTEGER |
| **channels**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>channel_type: STRING</li><li>menu: OBJECT, which is also a nested data structure.											<ul><li>deleted: BOOLEAN</li><li>hidden: BOOLEAN</li><li>id: INTEGER</li><li>menu_type: STRING</li><li>name: STRING</li><li>output_msg: STRING</li><li>parent_id: INTEGER</li><li>position: INTEGER</li></ul></li></ul> |
| **chat\_count**<br><br><br>INTEGER |
| **created\_at**<br><br><br>DATE-TIME |
| **crm\_authenticated**<br><br><br>BOOLEAN |
| **email**<br><br><br>STRING |
| **first\_name**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **last\_login\_time**<br><br><br>DATE-TIME |
| **last\_name**<br><br><br>STRING |
| **location**<br><br><br>STRING |
| **middle\_name**<br><br><br>STRING |
| **online**<br><br><br>BOOLEAN |
| **roles**<br><br>ARRAY<br><br>This is a nested data structure. |
| **status**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>color: STRING</li><li>id: INTEGER</li><li>name: STRING</li><li>wfm_id: INTEGER</li></ul> |
| **status\_updated\_at**<br><br><br>DATE-TIME |
| **teams**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>agents_count: INTEGER</li><li>deleted: BOOLEAN</li><li>id: INTEGER</li><li>name: STRING</li><li>parent_id: INTEGER</li><li>position: INTEGER</li></ul> |
| **wrap\_up**<br><br><br>BOOLEAN |

### calls

The `calls` table contains info about calls.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |

calls table foreign keys

| Join calls with | on |
| --- | --- |
| [agents](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#agents) | ```<br>calls.agent_info.id = agents.id<br>```<br><br>```<br>calls.transfers.from_agent.id = agents.id<br>```<br><br>```<br>calls.transfers.to_agent.id = agents.id<br>``` |
| [agent_activity_logs](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#agent-activity-logs) | ```<br>calls.agent_info.id = agent_activity_logs.agent_id<br>```<br><br>```<br>calls.transfers.from_agent.id = agent_activity_logs.agent_id<br>```<br><br>```<br>calls.transfers.to_agent.id = agent_activity_logs.agent_id<br>```<br><br>```<br>calls.id = agent_activity_logs.call_id<br>```<br><br>```<br>calls.participants.call_id = agent_activity_logs.call_id<br>``` |
| [chats](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#chats) | ```<br>calls.agent_info.id = chats.transfers.from_agent.id<br>```<br><br>```<br>calls.transfers.from_agent.id = chats.transfers.from_agent.id<br>```<br><br>```<br>calls.transfers.to_agent.id = chats.transfers.from_agent.id<br>```<br><br>```<br>calls.agent_info.id = chats.transfers.to_agent.id<br>```<br><br>```<br>calls.transfers.from_agent.id = chats.transfers.to_agent.id<br>```<br><br>```<br>calls.transfers.to_agent.id = chats.transfers.to_agent.id<br>``` |
| [menus](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#menus) | ```<br>calls.agent_info.id = menus.agent_assignments.assignee.id<br>```<br><br>```<br>calls.transfers.from_agent.id = menus.agent_assignments.assignee.id<br>```<br><br>```<br>calls.transfers.to_agent.id = menus.agent_assignments.assignee.id<br>```<br><br>```<br>calls.agent_info.id = menus.team_assignments.team.assignees.id<br>```<br><br>```<br>calls.transfers.from_agent.id = menus.team_assignments.team.assignees.id<br>```<br><br>```<br>calls.transfers.to_agent.id = menus.team_assignments.team.assignees.id<br>``` |

calls table schema

| **agent\_info**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>agent_number: INTEGER</li><li>avatar_url: STRING</li><li>first_name: STRING</li><li>id: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li></ul> |
| --- |
| **answer\_type**<br><br><br>STRING |
| **assigned\_at**<br><br><br>DATE-TIME |
| **call\_duration**<br><br><br>INTEGER |
| **call\_type**<br><br><br>STRING |
| **connected\_at**<br><br><br>DATE-TIME |
| **created\_at**<br><br><br>DATE-TIME |
| **deflection**<br><br><br>STRING |
| **deflection\_details**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>call_id: INTEGER</li><li>deflection: STRING</li><li>from_menu_path: OBJECT, which is also a nested data structure.											<ul><li>items_count: INTEGER</li><li>materialized_path: STRING</li><li>name: STRING</li></ul></li><li>id: INTEGER</li><li>transfer_id: INTEGER</li></ul> |
| **disconnected\_by**<br><br><br>STRING |
| **end\_user**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>id: INTEGER</li><li>identifier: STRING</li><li>out_contact_id: STRING</li></ul> |
| **ends\_at**<br><br><br>DATE-TIME |
| **fail\_details**<br><br><br>STRING |
| **fail\_reason**<br><br><br>STRING |
| **has\_feedback**<br><br><br>BOOLEAN |
| **hold\_duration**<br><br><br>INTEGER |
| **id**<br><br><br>INTEGER |
| **lang**<br><br><br>STRING |
| **menu\_path**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>items_count: INTEGER</li><li>materialized_path: STRING</li><li>name: STRING</li></ul> |
| **offer\_events**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>casting_time: DATE-TIME</li><li>group: STRING</li></ul> |
| **offer\_type**<br><br><br>STRING |
| **out\_ticket\_id**<br><br><br>STRING |
| **out\_ticket\_url**<br><br><br>STRING |
| **outbound\_number**<br><br><br>STRING |
| **participants**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>call_duration: INTEGER</li><li>call_id: INTEGER</li><li>connected_at: DATE-TIME</li><li>end_user_id: INTEGER</li><li>ended_at: DATE-TIME</li><li>fail_reason: STRING</li><li>hold_duration: INTEGER</li><li>id: INTEGER</li><li>status: STRING</li><li>type: STRING</li><li>user_id: INTEGER</li></ul> |
| **photos**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>id: INTEGER</li><li>photo_type: STRING</li><li>url: STRING</li></ul> |
| **queued\_at**<br><br><br>DATE-TIME |
| **rating**<br><br><br>STRING |
| **recording\_url**<br><br><br>STRING |
| **scheduled\_at**<br><br><br>DATE-TIME |
| **selected\_menu**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>deleted: BOOLEAN</li><li>hidden: BOOLEAN</li><li>id: INTEGER</li><li>menu_type: STRING</li><li>name: STRING</li><li>output_msg: STRING</li><li>parent_id: INTEGER</li><li>position: INTEGER</li></ul> |
| **status**<br><br><br>STRING |
| **support\_number**<br><br><br>STRING |
| **transfers**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>answer_type_path: STRING</li><li>assigned_at: DATE-TIME</li><li>call_duration: INTEGER</li><li>connected_at: DATE-TIME</li><li>created_at: DATE-TIME</li><li>deflection: STRING</li><li>fail_reason: STRING</li><li>from_agent: OBJECT, which is also a nested data structure.											<ul><li>agent_number: INTEGER</li><li>avatar_url: STRING</li><li>first_name: STRING</li><li>id: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li></ul></li><li>from_menu_path: OBJECT, which is also a nested data structure.											<ul><li>items_count: INTEGER</li><li>materialized_path: STRING</li><li>name: STRING</li></ul></li><li>from_queue_priority_level: INTEGER</li><li>id: INTEGER</li><li>status: STRING</li><li>to_agent: OBJECT, which is also a nested data structure.											<ul><li>agent_number: INTEGER</li><li>avatar_url: STRING</li><li>first_name: STRING</li><li>id: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li></ul></li><li>to_menu_path: STRING</li><li>to_queue_priority_level: STRING</li><li>updated_at: DATE-TIME</li><li>wait_duration: INTEGER</li></ul> |
| **updated\_at**<br><br><br>DATE-TIME |
| **verified**<br><br><br>BOOLEAN |
| **videos**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>id: INTEGER</li><li>url: STRING</li></ul> |
| **voicemail\_reason**<br><br><br>STRING |
| **voip\_provider**<br><br><br>STRING |
| **wait\_duration**<br><br><br>INTEGER |

### chats

The `chats` table contains info about chats.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |

chats table foreign keys

| Join chats with | on |
| --- | --- |
| [agents](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#agents) | ```<br>chats.transfers.from_agent.id = agents.id<br>```<br><br>```<br>chats.transfers.to_agent.id = agents.id<br>``` |
| [agent_activity_logs](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#agent-activity-logs) | ```<br>chats.transfers.from_agent.id = agent_activity_logs.agent_id<br>```<br><br>```<br>chats.transfers.to_agent.id = agent_activity_logs.agent_id<br>```<br><br>```<br>chats.id = agent_activity_logs.chat_id<br>```<br><br>```<br>chats.participants.chat_id = agent_activity_logs.chat_id<br>``` |
| [calls](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#calls) | ```<br>chats.transfers.from_agent.id = calls.agent_info.id<br>```<br><br>```<br>chats.transfers.to_agent.id = calls.agent_info.id<br>```<br><br>```<br>chats.transfers.from_agent.id = calls.transfers.from_agent.id<br>```<br><br>```<br>chats.transfers.to_agent.id = calls.transfers.from_agent.id<br>```<br><br>```<br>chats.transfers.from_agent.id = calls.transfers.to_agent.id<br>```<br><br>```<br>chats.transfers.to_agent.id = calls.transfers.to_agent.id<br>``` |
| [menus](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#menus) | ```<br>chats.transfers.from_agent.id = menus.agent_assignments.assignee.id<br>```<br><br>```<br>chats.transfers.to_agent.id = menus.agent_assignments.assignee.id<br>```<br><br>```<br>chats.transfers.from_agent.id = menus.team_assignments.team.assignees.id<br>```<br><br>```<br>chats.transfers.to_agent.id = menus.team_assignments.team.assignees.id<br>``` |

chats table schema

| **agent\_info**<br><br><br>STRING |
| --- |
| **assigned\_at**<br><br><br>DATE-TIME |
| **average\_response\_time**<br><br><br>INTEGER |
| **chat\_duration**<br><br><br>INTEGER |
| **chat\_type**<br><br><br>STRING |
| **created\_at**<br><br><br>DATE-TIME |
| **end\_user**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>id: INTEGER</li><li>identifier: STRING</li><li>out_contact_id: STRING</li></ul> |
| **ends\_at**<br><br><br>DATE-TIME |
| **fail\_reason**<br><br><br>STRING |
| **first\_msg\_sent\_at**<br><br><br>DATE-TIME |
| **has\_feedback**<br><br><br>BOOLEAN |
| **id**<br><br><br>INTEGER |
| **lang**<br><br><br>STRING |
| **last\_msg\_sent\_at**<br><br><br>DATE-TIME |
| **longest\_response\_time**<br><br><br>INTEGER |
| **menu\_path**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>items_count: INTEGER</li><li>materialized_path: STRING</li><li>name: STRING</li></ul> |
| **message\_count**<br><br><br>INTEGER |
| **offer\_events**<br><br>ARRAY<br><br>This is a nested data structure. |
| **offer\_type**<br><br><br>STRING |
| **out\_ticket\_id**<br><br><br>STRING |
| **out\_ticket\_url**<br><br><br>STRING |
| **participants**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>chat_duration: INTEGER</li><li>chat_id: INTEGER</li><li>connected_at: DATE-TIME</li><li>end_user_id: INTEGER</li><li>fail_reason: STRING</li><li>finished_at: DATE-TIME</li><li>id: INTEGER</li><li>status: STRING</li><li>type: STRING</li><li>user_id: STRING</li></ul> |
| **photos**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>id: INTEGER</li><li>photo_type: STRING</li><li>url: STRING</li></ul> |
| **rating**<br><br><br>STRING |
| **selected\_menu**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>deleted: BOOLEAN</li><li>hidden: BOOLEAN</li><li>id: INTEGER</li><li>menu_type: STRING</li><li>name: STRING</li><li>output_msg: STRING</li><li>parent_id: INTEGER</li><li>position: INTEGER</li></ul> |
| **status**<br><br><br>STRING |
| **transcript**<br><br><br>BOOLEAN |
| **transfers**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>answer_type_path: STRING</li><li>assigned_at: DATE-TIME</li><li>call_duration: INTEGER</li><li>connected_at: DATE-TIME</li><li>created_at: DATE-TIME</li><li>deflection: STRING</li><li>fail_reason: STRING</li><li>from_agent: OBJECT, which is also a nested data structure.											<ul><li>agent_number: INTEGER</li><li>avatar_url: STRING</li><li>first_name: STRING</li><li>id: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li></ul></li><li>from_menu_path: OBJECT, which is also a nested data structure.											<ul><li>items_count: INTEGER</li><li>materialized_path: STRING</li><li>name: STRING</li></ul></li><li>from_queue_priority_level: INTEGER</li><li>id: INTEGER</li><li>status: STRING</li><li>to_agent: OBJECT, which is also a nested data structure.											<ul><li>agent_number: INTEGER</li><li>avatar_url: STRING</li><li>first_name: STRING</li><li>id: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li></ul></li><li>to_menu_path: STRING</li><li>to_queue_priority_level: STRING</li><li>updated_at: DATE-TIME</li><li>wait_duration: INTEGER</li></ul> |
| **updated\_at**<br><br><br>DATE-TIME |
| **verified**<br><br><br>BOOLEAN |
| **videos**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>id: INTEGER</li><li>url: STRING</li></ul> |
| **wait\_duration**<br><br><br>INTEGER |

### menu\_tree

The `menu_tree` table contains info about menu trees.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |

menu\_tree table schema

| **agents\_count**<br><br><br>INTEGER |
| --- |
| **deleted**<br><br><br>BOOLEAN |
| **id**<br><br><br>INTEGER |
| **name**<br><br><br>STRING |
| **parent\_id**<br><br><br>INTEGER |
| **position**<br><br><br>INTEGER |

### menus

The `menus` table contains info about menus.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |

menus table foreign keys

| Join menus with | on |
| --- | --- |
| [agents](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#agents) | ```<br>menus.agent_assignments.assignee.id = agents.id<br>```<br><br>```<br>menus.team_assignments.team.assignees.id = agents.id<br>```<br><br>```<br>menus.team_assignments.team.id = agents.teams.id<br>``` |
| [agent_activity_logs](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#agent-activity-logs) | ```<br>menus.agent_assignments.assignee.id = agent_activity_logs.agent_id<br>```<br><br>```<br>menus.team_assignments.team.assignees.id = agent_activity_logs.agent_id<br>``` |
| [calls](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#calls) | ```<br>menus.agent_assignments.assignee.id = calls.agent_info.id<br>```<br><br>```<br>menus.team_assignments.team.assignees.id = calls.agent_info.id<br>```<br><br>```<br>menus.agent_assignments.assignee.id = calls.transfers.from_agent.id<br>```<br><br>```<br>menus.team_assignments.team.assignees.id = calls.transfers.from_agent.id<br>```<br><br>```<br>menus.agent_assignments.assignee.id = calls.transfers.to_agent.id<br>```<br><br>```<br>menus.team_assignments.team.assignees.id = calls.transfers.to_agent.id<br>``` |
| [chats](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#chats) | ```<br>menus.agent_assignments.assignee.id = chats.transfers.from_agent.id<br>```<br><br>```<br>menus.team_assignments.team.assignees.id = chats.transfers.from_agent.id<br>```<br><br>```<br>menus.agent_assignments.assignee.id = chats.transfers.to_agent.id<br>```<br><br>```<br>menus.team_assignments.team.assignees.id = chats.transfers.to_agent.id<br>``` |
| [teams](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#teams) | ```<br>menus.team_assignments.team.id = teams.id<br>``` |

menus table schema

| **agent\_assignments**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>assignee: OBJECT, which is also a nested data structure.											<ul><li>agent_number: STRING</li><li>avatar_url: STRING</li><li>first_name: STRING</li><li>id: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li></ul></li><li>channel_type: STRING</li><li>group_type: STRING</li><li>lang: STRING</li><li>queue_level: STRING</li></ul> |
| --- |
| **deleted**<br><br><br>BOOLEAN |
| **hidden**<br><br><br>BOOLEAN |
| **id**<br><br><br>INTEGER |
| **menu\_type**<br><br><br>STRING |
| **name**<br><br><br>STRING |
| **output\_msg**<br><br><br>STRING |
| **parent\_id**<br><br><br>INTEGER |
| **position**<br><br><br>INTEGER |
| **team\_assignments**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>channel_type: STRING</li><li>group_type: STRING</li><li>lang: STRING</li><li>queue_level: STRING</li><li>team: OBJECT, which is also a nested data structure.											<ul><li>agents_count: INTEGER</li><li>assignees: ARRAY, which is also a nested data structure.													<ul><li>agent_number: STRING</li><li>avatar_url: STRING</li><li>first_name: STRING</li><li>id: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li></ul></li><li>deleted: BOOLEAN</li><li>id: INTEGER</li><li>name: STRING</li><li>parent_id: INTEGER</li><li>position: INTEGER</li></ul></li></ul> |

### team\_tree

The `team_tree` table contains info about team trees.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |

team\_tree table schema

| **agents\_count**<br><br><br>INTEGER |
| --- |
| **deleted**<br><br><br>BOOLEAN |
| **id**<br><br><br>INTEGER |
| **name**<br><br><br>STRING |
| **parent\_id**<br><br><br>INTEGER |
| **position**<br><br><br>INTEGER |

### teams

The `teams` table contains info about teams.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |

teams table foreign keys

| Join teams with | on |
| --- | --- |
| [agents](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#agents) | ```<br>teams.id = agents.teams.id<br>``` |
| [menus](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Ujet.htm#menus) | ```<br>teams.id = menus.team_assignments.team.id<br>``` |

teams table schema

| **agents\_count**<br><br><br>INTEGER |
| --- |
| **assignees**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>agent_number: STRING</li><li>avatar_url: STRING</li><li>first_name: STRING</li><li>id: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li></ul> |
| **deleted**<br><br><br>BOOLEAN |
| **id**<br><br><br>INTEGER |
| **name**<br><br><br>STRING |
| **parent\_id**<br><br><br>INTEGER |
| **position**<br><br><br>INTEGER |

### user\_statuses

The `user_statuses` table contains info about user statuses.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |

user\_statuses table schema

| **color**<br><br><br>STRING |
| --- |
| **id**<br><br><br>INTEGER |
| **name**<br><br><br>STRING |
| **wfm\_id**<br><br><br>INTEGER |