Announcements
Show a single announcement or open a collection feed.
Announcements are product updates, feature launches, and important notices created in the dashboard. The SDK can show one announcement at a time or open a collection feed.
Show one announcement
Chirp.announcement.open(publicId: string, opts?: AnnouncementOpenOpts): void| Field | Type | Notes |
|---|---|---|
publicId | string | From the dashboard. Required. |
opts.layout | 'modal' | 'drawer' | 'banner' | 'toast' | 'inline' | Overrides the layout set in the dashboard. |
opts.position | 'top' | 'bottom' | 'top-right' | ... | Overrides position. |
Chirp.announcement.open("release_v2");Override layout
Chirp.announcement.open("maintenance_window", {
layout: "banner",
position: "top",
});Show a collection feed
A collection groups related announcements (e.g. "Mobile updates", "AI features"). Use openCollection to show users a feed scoped to one collection:
Chirp.announcement.openCollection(collectionPublicId: string, opts?: AnnouncementOpenOpts): voidChirp.announcement.openCollection("mobile_updates");The user sees a modal or drawer listing every announcement in that collection. Filter pills are hidden — use changelog.open() instead if you want cross-collection filtering.
Close the current announcement
Chirp.announcement.close(): voidChirp.announcement.close();No-op if no announcement is open. Emits announcement:dismissed.
Reset dismissals
By default, a user who dismisses an announcement won't see it again — even on a new session, if the announcement was configured "keep hidden after dismiss".
To clear announcement-specific dismissals (e.g. for testing):
Chirp.announcement.reset();This only clears announcement state. It does not affect identity, consent, or frequency caps for other surfaces.
Need a full clean slate? Use Chirp.reset() instead — it
clears announcements, surveys, and identity together.
Common patterns
Show a release note on first visit after a deploy
useEffect(() => {
if (lastSeenVersion < currentVersion) {
Chirp.announcement.open("release_2_4_0");
setLastSeenVersion(currentVersion);
}
}, []);Bind a "What's new" button to a collection
<button onClick={() => Chirp.announcement.openCollection("product_updates")}>
What's new
</button>Next steps
- Changelog — show the global cross-collection feed
- Events —
announcement:shown,clicked,dismissed - Announcements (product guide)