This article will walk you through how to connect Assembled to your UJET instance. Once they are connected, Assembled will start tracking incoming tickets and agent states for reporting and forecasting.
Step 1: Input Access Codes
- Go to Configure > Third-party integrations in Assembled
-
Click the Available tab (or type "UJET" in the Search integrations box to find it quickly)
- Find UJET in the list, and click Configure integration
-
In the dropdown, input the following:
- Subdomain
- This is what precedes "ujet.co" in the URL of your instance.
- API token
- This can be found under "Settings" and "Developer Settings"
- Subdomain
- Click Connect with UJET
- Note: It can take up to 24 hours for agents in Assembled to sync with their UJET profiles. In the interim, you may see a placeholder for the agents within the Real-time agent analysis page which says "Please connect agent profile".
- It may be the case that, after 24 hours, this message continues to appear for some -- but not all -- of the rows in the UJET section of the Real-time agent analysis page. This indicates certain agents within your UJET are not in Assembled.
If you would like more information on the syncs and mappings we use for the UJET integration, the sections below have further details.
If you would like to setup queues and exclusions for tickets in UJET, this article has details on how.
Verifying the connection
There are two places in Assembled to check that the UJET integration is working: the Real-time agent analysis page (Monitor > Real-time agent analysis), which shows agent states and current adherence, and the Staffing timeline, which shows UJET contacts. If either shows zero or unexpected numbers, reach out to our Support team.
What Assembled syncs from UJET
Assembled connects to UJET with basic authentication, using your subdomain and API key. Assembled makes API requests on behalf of your UJET account, which increases your overall UJET API usage.
Once connected, Assembled runs these sync jobs:
| Sync job | What it syncs | How often |
|---|---|---|
| backfill | Historical data, up to 5 years back from when the sync job was created | As fast as possible |
| default | New and updated data | Every 5 minutes |
| agent_states | Agent states | Every 15 seconds |
Assembled calls these UJET endpoints. Each has a rate limit of 1 request per second, and Assembled does not parse personal data from any of them.
| UJET endpoint | Data | How often Assembled calls it |
|---|---|---|
manager/api/v1/chats |
Ticket data | Every 5 minutes |
manager/api/v1/calls |
Ticket data | Every 5 minutes |
manager/api/v1/agent_activity_logs |
Agent states | Every 15 seconds |
manager/api/v1/agents |
User data | On demand |
How UJET data maps to Assembled
User roles
| UJET | Assembled |
|---|---|
| Agent | Standard |
Ticket data (Phone)
| UJET | Assembled |
|---|---|
| connected_at | first_responded_at |
| connected_at - queued_at OR connected_at OR timestamp | first_response_duration |
| service_level_event (in_sla vs not_in_sla) (SLA) | sla_met |
Ticket data (Chat)
| UJET | Assembled |
|---|---|
| started_at | first_responded_at |
| started_at - first_message_sent_at | first_response_duration |
| service_level_event (in_sla vs not_in_sla) (SLA) | sla_met |
Ticket status
| UJET | Assembled |
|---|---|
| finished | solved |
| connected | open |
| queued | new |
| selecting | new |
| deflected | closed |
| empty |
Channels
| UJET | Assembled |
|---|---|
| chat | Chat |
| phone | Phone |
FAQ
How does Assembled track SLA for UJET? Assembled uses UJET's service_level_event value. in_sla means the ticket met SLA, and not_in_sla means it breached SLA.