---
title: Marquee
editUrl: https://github.com/Cratis/Showrunner/edit/main/Documentation/Marquee/index.md
description: Marquee delivers announcements from the people running a product to the people using it.
---


Marquee is the announcements part of Showrunner. The people running a product publish an announcement, such as a maintenance window or a new module, and the product shows it to the audience it names.

Marquee is a set of libraries, not a service. Each runs in the Arc and Chronicle process of the application that hosts it, the way [Usher](/showrunner/usher/) does:

- [Contracts](/showrunner/marquee/contracts/): the public events a product receives announcements through.
- [Authoring](/showrunner/marquee/authoring/): the commands and the query for writing announcements, and the outbox that publishes them.
- [Receiving](/showrunner/marquee/receiving/): how a product records announcements once for all its tenants and decides which ones a tenant sees.
- [Acknowledging](/showrunner/marquee/acknowledging/): how a person dismisses a dialog once, on every device.
- [Frontend proxies](/showrunner/marquee/frontend-proxies/): the generated TypeScript proxies.
- [Event reference](/showrunner/marquee/event-reference/): every event, the contract generations and what to do when one changes.

The React component, `@cratis/showrunner.marquee.react`, shows the announcements the way the people using a product expect: banners at the top and dialogs one at a time. Start with [how Marquee works](/showrunner/marquee/how-marquee-works/), then [add announcements to a product](/showrunner/marquee/add-announcements-to-a-product/).

## Guides

- [How Marquee works](/showrunner/marquee/how-marquee-works/): authoring, the contract, receiving, audiences and the component.
- [Add announcements to a product](/showrunner/marquee/add-announcements-to-a-product/): the backend package and `<Marquee />`.
- [Author announcements without Direct](/showrunner/marquee/author-without-direct/): host the authoring backend in your own application.
- [Replace the banner or the dialog](/showrunner/marquee/replace-the-banner-or-the-dialog/): slots and `useAnnouncements`.

Marquee does not depend on any other Showrunner part. Who an announcement reaches by module or by plan is answered by an `IAudienceEntitlements` the host plugs in, so a product that sells nothing still gets announcements.
