Atrium platform docs
Home and the case inbox
Expose useful work summaries and deep links so customers can find attention items across installed apps.
What customers see
Home combines installed apps with a case inbox. A case is a unit of work, such as a job application, expense report, or support request. It has a status and links to the app's own interface.
The inbox offers Needs attention, Open, All cases, and Done views. Needs attention includes blocked and failed cases, with older updates first. Other views show recent updates first. Customers can filter by app, search the returned case summaries, move between pages, and refresh.
The inbox starts with All cases. It remembers the selected view and app in the current browser, separately for each user and workspace. Search text and page numbers reset when you return. If a filter hides every available case, Show all cases clears the filters and search.
These controls operate on the case data that apps return. They are not a platform-wide search over all records in your database, an unread counter, or a guarantee of real-time delivery.
Integrate your app
Implement the AgentCase contract at your app's /api/cases endpoint:
- Return only work visible to the authenticated user and selected workspace.
- Use stable IDs and meaningful titles.
- Set
blockedwhen a person needs to act andfailedwhen work needs recovery. - Update
updated_atwhen the work changes, using an ISO timestamp. - Supply an HTTPS deep link to the case in your app.
For example, "Application needs a cover letter" with an Awaiting your review label is more useful than a transcript excerpt. Keep sensitive record details in the app and include only the summary needed to decide what to open.
Missing or unavailable case data
An installed app can still be opened when it does not implement cases or its case endpoint is temporarily unavailable. Do not make your app's launch depend on the inbox being populated.
Check the endpoint's authentication, response shape, status codes, and response time when expected cases are missing. A successful empty response means no cases were returned; it does not tell the host how many records exist elsewhere in your app.
Case editing and actions are optional capabilities. Advertise only actions your app can authorize and execute safely. The app remains responsible for validating every mutation and showing the full workflow.