|
| 1 | +--- |
| 2 | +title: "Announcements" |
| 3 | +description: "Publish in-app announcements to everyone, to selected spaces, or to selected users, and withdraw them when they no longer apply." |
| 4 | +--- |
| 5 | + |
| 6 | +<Tip>Available for self-hosted Business plan and above</Tip> |
| 7 | + |
| 8 | +Path: Admin Panel → Announcements |
| 9 | + |
| 10 | +**Announcements** lets administrators put a message in front of signed-in users without sending email: planned maintenance, an incident and its resolution, a policy change, or a new feature you want people to find. Each announcement runs inside a scheduled window and can be aimed at the whole instance or at a specific group. |
| 11 | + |
| 12 | +## Publish an Announcement |
| 13 | + |
| 14 | +Click **Publish announcement** and fill in the form. The preview on the side shows the announcement as users will see it. |
| 15 | + |
| 16 | +| Setting | What it controls | |
| 17 | +| --- | --- | |
| 18 | +| **Form** | Where the announcement appears: **Banner** across the top of the app, **Toast** as a transient notification, **Modal** as a dialog that interrupts, or **Sidebar card** in the space and base sidebars. | |
| 19 | +| **Level** | The tone users see: **Info**, **Maintenance**, **Critical**, or **Resolved**. | |
| 20 | +| Title and **Body** | The announcement text. | |
| 21 | +| **Starts at** / **Ends at** | The window during which the announcement is delivered. The end time must be after the start time. | |
| 22 | +| **Link text** / **Link URL** | An optional destination. A sidebar card is itself a link, so it always offers the URL field; the other forms show it once the body uses the `{link}` placeholder. | |
| 23 | +| **Audience** | **Everyone**, **Specific spaces**, or **Specific users**. | |
| 24 | + |
| 25 | +Choose the strongest form the message deserves. A banner and a sidebar card sit alongside the user's work; a modal blocks it. Users can dismiss an announcement themselves, and when several are active at once, banners collapse behind a **N more announcements** toggle. |
| 26 | + |
| 27 | +### Target Specific Spaces or Users |
| 28 | + |
| 29 | +For **Specific spaces** or **Specific users**, paste identifiers into the audience box (space IDs or names, or user IDs, names, or emails, separated by commas), then click **Match**. Matched entries become chips, and anything Teable could not resolve stays in the box under **Not matched:** so you can correct and retry. |
| 30 | + |
| 31 | +Space membership is evaluated when the announcement is delivered, so collaborators added later still receive a space-targeted announcement. |
| 32 | + |
| 33 | +### Insert Live Values |
| 34 | + |
| 35 | +Use **Insert placeholder** in the body to add values that Teable fills in at display time, so one message stays accurate for every reader: |
| 36 | + |
| 37 | +| Placeholder | Renders as | |
| 38 | +| --- | --- | |
| 39 | +| `{startTime}` / `{endTime}` | The window's start or end, in the reader's language and time zone | |
| 40 | +| `{time:…}` | A specific instant you choose | |
| 41 | +| `{duration}` | How long the window lasts | |
| 42 | +| `{countdown}` | A live countdown to the start | |
| 43 | +| `{link}` | The link, shown with your **Link text** | |
| 44 | + |
| 45 | +`{link}` is unavailable for the sidebar card, because the whole card is already the link. |
| 46 | + |
| 47 | +### Translate the Content |
| 48 | + |
| 49 | +Write the announcement in one language, then use **AI translate** to fill the other shipped interface languages. Choose **Fill blanks only** to keep translations you already wrote, or **Overwrite all** to re-translate everything. Review each language tab afterwards: the translation is a draft, not a final proofread. Readers see the language that matches their interface, falling back to English. |
| 50 | + |
| 51 | +## Manage Published Announcements |
| 52 | + |
| 53 | +The list shows every announcement with its **Status**, **Title**, **Form**, **Level**, **Audience**, **Window**, and **Created by**. Open a row to inspect its full content. |
| 54 | + |
| 55 | +| Status | Meaning | |
| 56 | +| --- | --- | |
| 57 | +| **Scheduled** | The start time has not arrived yet. | |
| 58 | +| **Active** | Currently being delivered. | |
| 59 | +| **Expired** | The end time has passed. | |
| 60 | +| **Withdrawn** | Stopped early by an administrator. | |
| 61 | + |
| 62 | +Click **Withdraw** on an active announcement to stop delivering it immediately. An announcement that has already expired cannot be withdrawn, and its record stays as it was. |
0 commit comments