UJET integration summary

Stitch’s UJET integration replicates data using the UJET API. Refer to the Schema section for a list of objects available for replication.

UJET feature snapshot

A high-level look at Stitch's UJET (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on March 4, 2020

Supported by

Singer Community

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-ujet

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting UJET

UJET setup requirements

To set up UJET in Stitch, you need:

  • A UJET account with admin privileges. You need this privilege to retrieve the information required for the Stitch integration.


Step 1: Retrieve your UJET company credentials

  1. Login to your UJET Console.
  2. Click on Settings > Developer Settings.
  3. In the Agent Platform section, click on the UJET bubble.
  4. Click Save Changes.
  5. Your Company Key and Company Secret Code will display. Keep these available to complete your setup in Stitch. Your UJET Company and Company Secret Key.

Step 2: Add UJET as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the UJET icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch UJET” would create a schema called stitch_ujet in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Company Key field, enter the Company Key that you retrieved in Step 1.
  6. In the Company Secret field, enter the Company Secret Code that you retrieved in Step 1.
  7. In the Domain Field field, your UJET domain. This will usually be ujet, but if you are unsure, check your welcome email from UJET.
  8. In the Subdomain field, enter the subdomain of your UJET account’s URL. For example: The subdomain for stitch.ujet.com would be stitch.

Step 3: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your UJET integration. This means that:

  • For tables using Key-based Incremental Replication, data equal to or newer than this date will be replicated to your destination.
  • For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your destination.

Change this setting if you want to replicate data beyond UJET’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 4: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

UJET integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 5: Set objects to replicate

The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.

Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.

For UJET integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up UJET, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


UJET table reference

agent_activity_logs

Replication Method :

Key-based Incremental

Replication Key :

started_at

Primary Key :

id

API endpoint :

Get agent activity logs

The agent_activity_logs table contains info about agent activity logs.

id
INTEGER

started_at
DATE-TIME

activity
STRING

agent_id
INTEGER

Reference:

call_id
INTEGER

Reference:

chat_id
INTEGER

Reference:

duration
INTEGER

ended_at
DATE-TIME

status
OBJECT

color
STRING

id
INTEGER

name
STRING

wfm_id
INTEGER

agent_activity_logs (table), status (attribute)

whodunnit
OBJECT

agent_number
STRING

avatar_url
STRING

first_name
STRING

id
INTEGER

last_name
STRING

name
STRING

agent_activity_logs (table), whodunnit (attribute)

Replication Method :

Key-based Incremental

Replication Key :

status_updated_at

Primary Key :

id

API endpoint :

Get agents

The agents table contains info about agents.

id
INTEGER

Reference:

status_updated_at
DATE-TIME

agent_number
STRING

avatar_url
STRING

call_count
INTEGER

channels
ARRAY

deleted
BOOLEAN

hidden
BOOLEAN

id
INTEGER

menu_type
STRING

name
STRING

output_msg
STRING

parent_id
INTEGER

position
INTEGER

agents (table), channels (attribute)

chat_count
INTEGER

created_at
DATE-TIME

crm_authenticated
BOOLEAN

email
STRING

first_name
STRING

last_login_time
DATE-TIME

last_name
STRING

location
STRING

middle_name
STRING

online
BOOLEAN

roles
ARRAY

status
OBJECT

color
STRING

id
INTEGER

name
STRING

wfm_id
INTEGER

agents (table), status (attribute)

teams
ARRAY

agents_count
INTEGER

deleted
BOOLEAN

id
INTEGER

Reference:

name
STRING

parent_id
INTEGER

position
INTEGER

agents (table), teams (attribute)

wrap_up
BOOLEAN


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

Get calls

The calls table contains info about calls.

id
INTEGER

Reference:

updated_at
DATE-TIME

agent_info
OBJECT

answer_type
STRING

assigned_at
DATE-TIME

call_duration
INTEGER

call_type
STRING

connected_at
DATE-TIME

created_at
DATE-TIME

deflection
STRING

deflection_details
ARRAY

id
INTEGER

call_id
INTEGER

transfer_id
INTEGER

from_menu_path
OBJECT

items_count
INTEGER

name
STRING

materialized_path
STRING

calls (table), from_menu_path (attribute)
calls (table), deflection_details (attribute)

disconnected_by
STRING

end_user
OBJECT

id
INTEGER

identifier
STRING

out_contact_id
STRING

calls (table), end_user (attribute)

ends_at
DATE-TIME

fail_details
STRING

fail_reason
STRING

has_feedback
BOOLEAN

hold_duration
INTEGER

lang
STRING

menu_path
OBJECT

items_count
INTEGER

name
STRING

materialized_path
STRING

calls (table), menu_path (attribute)

offer_events
ARRAY

casting_time
DATE-TIME

group
STRING

calls (table), offer_events (attribute)

offer_type
STRING

out_ticket_id
STRING

out_ticket_url
URI

outbound_number
STRING

participants
ARRAY

fail_reason
STRING

ended_at
DATE-TIME

hold_duration
INTEGER

connected_at
DATE-TIME

user_id
INTEGER

id
INTEGER

call_duration
INTEGER

status
STRING

end_user_id
INTEGER

type
STRING

call_id
INTEGER

Reference:

calls (table), participants (attribute)

photos
ARRAY

id
INTEGER

photo_type
STRING

url
STRING

calls (table), photos (attribute)

queued_at
DATE-TIME

rating
STRING

recording_url
URI

scheduled_at
DATE-TIME

selected_menu
OBJECT

deleted
BOOLEAN

hidden
BOOLEAN

id
INTEGER

menu_type
STRING

name
STRING

output_msg
STRING

parent_id
INTEGER

position
INTEGER

calls (table), selected_menu (attribute)

status
STRING

support_number
STRING

transfers
ARRAY

deflection
STRING

from_agent
OBJECT

to_queue_priority_level
STRING

fail_reason
STRING

from_queue_priority_level
TODO

connected_at
DATE-TIME

to_agent
OBJECT

id
INTEGER

wait_duration
INTEGER

answer_type_path
STRING

call_duration
INTEGER

from_menu_path
OBJECT

status
STRING

assigned_at
DATE-TIME

created_at
DATE-TIME

to_menu_path
STRING

updated_at
DATE-TIME

calls (table), transfers (attribute)

verified
BOOLEAN

videos
ARRAY

id
INTEGER

url
STRING

calls (table), videos (attribute)

voicemail_reason
STRING

voip_provider
STRING

wait_duration
INTEGER


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

Get chats

The chats table contains info about chats.

id
INTEGER

Reference:

updated_at
DATE-TIME

agent_info
STRING

assigned_at
DATE-TIME

average_response_time
INTEGER

chat_duration
INTEGER

chat_type
STRING

created_at
DATE-TIME

end_user
OBJECT

id
INTEGER

identifier
STRING

out_contact_id
STRING

chats (table), end_user (attribute)

ends_at
DATE-TIME

fail_reason
STRING

first_msg_sent_at
DATE-TIME

has_feedback
BOOLEAN

lang
STRING

last_msg_sent_at
DATE-TIME

longest_response_time
INTEGER

menu_path
OBJECT

items_count
INTEGER

materialized_path
STRING

name
STRING

chats (table), menu_path (attribute)

message_count
INTEGER

offer_events
ARRAY

value
ANYTHING

chats (table), offer_events (attribute)

offer_type
STRING

out_ticket_id
STRING

out_ticket_url
URI

participants
ARRAY

fail_reason
STRING

finished_at
DATE-TIME

connected_at
DATE-TIME

user_id
INTEGER

id
INTEGER

chat_duration
INTEGER

status
STRING

end_user_id
INTEGER

type
STRING

chat_id
INTEGER

Reference:

chats (table), participants (attribute)

photos
ARRAY

id
INTEGER

photo_type
STRING

url
STRING

chats (table), photos (attribute)

rating
STRING

selected_menu
OBJECT

deleted
BOOLEAN

hidden
BOOLEAN

id
INTEGER

menu_type
STRING

name
STRING

output_msg
STRING

parent_id
INTEGER

position
INTEGER

chats (table), selected_menu (attribute)

status
STRING

transcript
BOOLEAN

transfers
ARRAY

deflection
STRING

from_agent
OBJECT

to_queue_priority_level
STRING

fail_reason
STRING

from_queue_priority_level
TODO

connected_at
DATE-TIME

to_agent
OBJECT

id
INTEGER

wait_duration
INTEGER

answer_type_path
STRING

call_duration
INTEGER

from_menu_path
OBJECT

status
STRING

assigned_at
DATE-TIME

created_at
DATE-TIME

to_menu_path
STRING

updated_at
DATE-TIME

chats (table), transfers (attribute)

verified
BOOLEAN

videos
ARRAY

id
INTEGER

url
STRING

chats (table), videos (attribute)

wait_duration
INTEGER


Replication Method :

Full Table

Primary Key :

id

API endpoint :

Get menu trees

The menu_tree table contains info about menu trees.


Replication Method :

Key-based Incremental

Replication Key :
Primary Key :

id

API endpoint :

Get menus

The menus table contains info about menus.


Replication Method :

Full Table

Primary Key :

id

API endpoint :

Get team trees

The team_tree table contains info about team trees.

id
INTEGER

agents_count
INTEGER

deleted
BOOLEAN

name
STRING

parent_id
INTEGER

position
INTEGER


Replication Method :

Full Table

Primary Key :

id

API endpoint :

Get teams

The teams table contains info about teams.

id
INTEGER

Reference:

agents_count
INTEGER

assignees
ARRAY

deleted
BOOLEAN

name
STRING

parent_id
NULL

position
INTEGER


Replication Method :

Full Table

Primary Key :

id

API endpoint :

Get user statuses

The user_statuses table contains info about user statuses.

id
INTEGER

color
STRING

name
STRING

wfm_id
INTEGER



Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.