---
title: "uAct - Unified Action Platform"
description: "Uber built uAct to consolidate action items and approval requests generated by its many internal applications, addressing notifications that could be lost among email and follow-ups. It combines real-time fetching with scheduled offline ingestion through Apache Camel, stores requests, and merges them in received and sent views. Users can act through deep links or within uAct, where the Action Dispatcher authenticates and authorizes actions and the Audit Trail Provider records them for compliance. Its onion-architecture backend uses orchestrators, application-specific mappers, MySQL for requests and CacheFront for preferences, while parallelized paginated calls and strict timeouts support performance as integrations grow. The platform has been implemented across Uber and also provides configurable views, hiding, manager filters, observability, privacy controls, and planned Slack notifications, reporting, nudging, and additional integrations."
---

# uAct - Unified Action Platform

[Uber](https://yomu.fyi/company/uber) · Apr 28, 2026

**Type:** Problem & solution

## Summary

Uber built uAct to consolidate action items and approval requests generated by its many internal applications, addressing notifications that could be lost among email and follow-ups. It combines real-time fetching with scheduled offline ingestion through Apache Camel, stores requests, and merges them in received and sent views. Users can act through deep links or within uAct, where the Action Dispatcher authenticates and authorizes actions and the Audit Trail Provider records them for compliance. Its onion-architecture backend uses orchestrators, application-specific mappers, MySQL for requests and CacheFront for preferences, while parallelized paginated calls and strict timeouts support performance as integrations grow. The platform has been implemented across Uber and also provides configurable views, hiding, manager filters, observability, privacy controls, and planned Slack notifications, reporting, nudging, and additional integrations.

## Context

Uber employees receive action items and approval requests from at least 20 internal systems, with email notifications that can be missed and cause delays, deadline breaches, or compliance issues. uAct provides a centralized view for tracking and acting on those requests while preserving source-application privacy and auditability.

## Approach / What changed

uAct uses a hybrid ingestion model: real-time source calls for suitable interfaces and scheduled incremental or complete crawls for offline ingestion through Apache Camel. A Request Provider merges live and stored requests, while gateway and repository orchestrators route and aggregate application and datastore interactions. The Action Dispatcher can relay actions to source applications, and the Audit Trail Provider records them.

## Takeaways

- uAct supports both received requests assigned to an employee and sent requests initiated by that employee, with filters, sorting, saved defaults, and hide/unhide controls.
- The platform limits latency by parallelizing application-level and paginated calls, using strict timeouts so degradation in one application does not affect the overall user experience.
- A common request schema stores shared fields directly and keeps application-specific data in the variable-sized RequestMetadata JSON object, allowing different source applications to use one request card component.

## FAQ

### How does uAct combine data from applications with different APIs and latency characteristics?

It fetches some requests in real time and obtains others through scheduled incremental or complete crawls stored in the Requests Store. The Request Provider merges live responses with offline-ingested data, while parallel calls, pagination, and strict timeouts limit latency.

### Can users approve or reject requests without opening the source application?

Yes, when the source application provides the necessary APIs, the Action Dispatcher authenticates and authorizes the request and relays the action to that application. Users can also be redirected to a deep-linked request in the source application.

### How does uAct protect request data and record user actions?

Company-wide authentication restricts UI access to Uber employees, and backend calls pass through IAM for authorization. Actions are recorded in an Audit Store, and users can view the audit history in a dedicated UI view.

**Tags:** [Apache Camel](https://yomu.fyi/topic/apache-camel), [Architecture](https://yomu.fyi/topic/architecture), [MySQL](https://yomu.fyi/topic/mysql)

- Source: [Uber](https://www.uber.com/us/en/blog/uact-unified-action-platform)
- Source URL: https://www.uber.com/us/en/blog/uact-unified-action-platform
- Ingested by Yomu: 2026-09-17T08:00:53.679Z

[Read original post](https://www.uber.com/us/en/blog/uact-unified-action-platform)
