Two pieces: the real integration code (copy this), and a static preview of what it renders so you can style .cms-widget-* without a live Bulletin instance to fetch from.
<script
src="https://<bulletin-domain>/widget.js"
data-business-id="<business-id>"
data-type="announcements"
></script>
Swap data-type to "events" for the events widget. Add a
data-target="some-id" attribute to render into an existing element
instead of letting the widget insert its own container.