FAQs

Understanding Unito's Performance: A Guide to Speed Expectations

Here's a closer look at why your flow's sync speed can vary, may appear slow, and other performance factors.

In this article:

How long does Unito take to sync?

Unito constantly monitors your tools for any changes, but the speed at which those changes are synced between tools depends on a few factors:

  • Your Unito plan: Not all plans support live syncing.
  • Webhooks: Not all Unito integrations support webhooks. You can learn more about webhooks here.
  • Data volume: The number of changes Unito needs to sync at one time can affect performance.
  • API response times: Each connector has its own API, and response times can vary depending on the API. Learn more below.

A technical guide to the syncing process

To better illustrate this process, let's consider a scenario in which you create a Trello card and Unito needs to generate a corresponding Jira issue. Here are the steps involved:

  1. Detection: Your Unito flow identifies the newly created Jira issue.
  2. Evaluation: It then compares the specifics of that issue against the rules in your flow. Does your issue have the correct label or assignee?
  3. Creation and Verification: Unito then tells Jira to create an issue, ensures it's in the right project, and verifies that all fields align with what's happening in Trello.

This sequence of actions and sub-actions requires your Unito flow to interact with each tool's API, which can take place within seconds. The more interactions involved in a single flow at once, the longer it might take for all your data to sync.

Recap: The actual time it takes to apply changes once they’ve been detected depends on the volume of changes and the response time of the tool's API, (e.g. how fast Trello can apply a change).

What are webhooks and how do they affect performance?

Webhooks are essentially notifications sent by an app or tool (which supports webhooks) about any new changes within the app, e.g., if a task or other work item is edited or modified in some way.

What is webhook support?

If the integration supports webhooks, then Unito knows immediately when a change has occurred that needs to be synced. 

Without webhooks, Unito will only check for updates at pre-determined intervals (e.g., every five minutes).

Not all Unito integrations offer webhook support, which could potentially lead to data syncing less frequently. We are constantly striving to add this feature to more integrations to enhance the user experience.

What are rate limits and how do they affect performance?

Each app or tool we connect has its own set limits on the number of requests a specific user can make within a given timeframe. These restrictions, known as "rate limits," significantly influence our service speed.

How do rate limit requests work?

A "request" is essentially a single instruction or question that Unito asks another app or tool. 

Example: 

Imagine you set up a flow to sync 1,000 Asana tasks with Unito. It's possible that mid-way through syncing your tasks, Unito will suddenly hit Asana’s rate limit at task 537. 

This could happen when Asana's system (the API) reaches a limit on how many requests can be processed at once, thus putting the remaining 463 tasks on hold for a brief period.

When this occurs, Unito will halt its syncing activity temporarily, to avoid triggering further rate limits, before attempting to resume the sync.

How Unito Manages Rate Limits

Unito employs a method known as throttling to avoid overwhelming tool APIs. We meticulously control the request rate to ensure we don't exceed the rate limits established by each app or tool.

This is crucial to cater to our extensive user base, but can introduce delays in the synchronization process.

The goal is to optimize the syncing process for as many users as possible without compromising the functionality of the tools themselves.

What are response times and how do they affect performance?

The speed of Unito is inherently tied to the response time of the APIs we rely on. Response time is the total time it takes to send a request to the API and get a response back, and it can vary greatly from one API to another, and even from one request to another.

How Unito’s sync platform is affected by response times

Unito's User Interface (UI) is dynamic, meaning it routinely calls APIs to load lists and perform other functions at various stages. 

Example: Imagine a Jira instance containing thousands of projects. When selecting one project out of thousands to sync, simply loading that list of projects in Unito may take some time.

Conversely, if your Jira label field only has a few options to choose from, those options will load almost instantly. 

While this offers a real-time, responsive experience, it can sometimes lead to delays, especially during high-traffic periods or when dealing with large volumes of data.

Balancing Data Freshness and Speed

We understand the importance of having up-to-date information that syncs quickly. For all of the reasons outlined above, it’s crucial to consider how best to prioritize which data points need to be updated soonest. 

If you’re constantly dealing with large volumes of data, it may be worth creating flows with stricter rules to sync the most important work items first. Then, create a second flow for additional information that isn’t as urgent. You can achieve this simply by, for example, including only one status or label in the more concise flow, and excluding that same label from the broader flow. 

Got feedback? We're continually fine-tuning our processes to find the optimal balance for all of our users. Submit a Unito feature request to let us know what you'd like to see in the next update to our integrations.