Skip to main content

DuckPost widget

The DuckPost widget lets customers read updates without leaving your product. You configure it from Integration and load it from https://widget.duckpost.app/widget.js?v=1.0.0.

What the widget does

  • Shows published releases inside your app or website
  • Keeps an unread state for visitors
  • Lets customers open release details in-product
  • Supports reaction feedback
  • Can run as a floating launcher or from your own button

Widget quick setup

Add the script before the closing </body> tag:
<script
  async
  src="https://widget.duckpost.app/widget.js?v=1.0.0"
  data-org-id="<your-org-id>"
  data-theme="light"
></script>
Replace <your-org-id> with the organization ID shown in Integration. This creates the floating DuckPost launcher automatically.

Widget setup example

If you want to mount the widget from your own button, use the JavaScript API:
<button id="product-updates" type="button">Product updates</button>
<script src="https://widget.duckpost.app/widget.js?v=1.0.0"></script>
<script>
  DuckPostWidget.init({
    organizationId: "<your-org-id>",
    mode: "button",
    renderBadge: false,
    target: "#product-updates",
    theme: "light",
    type: "modal"
  });
</script>

Widget behavior

The widget supports:
  • light and dark themes
  • Floating or button-triggered launch
  • Popup or modal presentation
  • Unread badge handling
  • In-app feedback reactions

Domain allowlist

Owners can restrict widget usage to approved domains.
  • Up to 5 domains are supported
  • Each entry must be a valid hostname such as app.example.com
  • localhost is allowed for development
  • The allowlist only applies when it is enabled
If the allowlist is enabled, widget requests from unapproved origins are rejected.
1

Publish a release first

The widget is most useful once you already have published updates to display.
2

Copy the install snippet

Open duckpost.app/integration and copy the widget script for your organization.
3

Install and test

Verify the widget loads the correct organization and opens inside the right product surface.
4

Lock down domains

Turn on the domain allowlist after you confirm the widget works in your intended environments.