Widgets

Make your activity visible.

A 52-week strip or 12-week card pairs daily marks with a computed figure and a permanent intensity key.

Twelve weeks of activity with a computed active-day count

A real render produced by DynaMail’s image pipeline.

Create a free account

Free while in beta · No credit card required

How it works

Every DynaMail widget is a plain image URL. Design it in the dashboard, then paste the URL into an <img> tag — or your email editor’s image block — like this:

Example embed snippet

<img src="https://img.dynamail.io/widgets/YOUR-WIDGET-ID/render.png" width="340" height="390" alt="" />

YOUR-WIDGET-ID is a placeholder — every widget you create gets its own id. The file extension requests the output format — gif, apng, webp, or png. Depending on the design, an animated widget may be served in an animated format even when a static extension is requested.

DynaMail renders when the image is requested and briefly caches the result. Email clients and their image proxies can also cache images, so a later open may reuse a previous response. No script, no custom HTML, nothing for your email platform to strip out.

What it’s for

  • Annual activity reports
  • Quarterly participation summaries

Personalize it in the URL

The data behind the widget — its values, chart points, and text placeholders — can come from the URL. Append query parameters, or your email platform’s merge tags, and each recipient’s open renders from their own data.

?data=…An ordered numeric JSON array, oldest first, ending on the saved reporting date.

Frequently asked questions

How are dates assigned?

Each number represents one consecutive civil day. Saved values end on the saved ISO reporting date. Connected source values end on the UTC date when the image renders. URL or body data overrides keep the saved date unless you supply endDate as a real ISO civil date (YYYY-MM-DD); malformed dates are rejected.

What do blank and pale cells mean?

Blank dates have no reported observation. Pale cells are reported zeroes. Positive shades show relative activity within this report.

Where does the data come from?

Use saved daily values, an existing JSON series source, ordered CSV columns, or a data URL override. URL values take precedence.