Widgets

Put your next available appointments in the email.

Publish an authored availability snapshot or connect a public JSON feed. Readers see the earliest future starts and follow one saved link to your existing booking page to confirm current availability.

Sample availability card showing an upcoming appointment in the service timezone

A real render produced by DynaMail’s image pipeline.

Create a free account

Free while in beta · No credit card required

How it works

  1. 1

    Describe the service

    Set its name, optional location, and IANA service timezone.

  2. 2

    Author or connect availability

    Edit a timestamped snapshot or inspect a public HTTPS JSON feed before connecting it.

  3. 3

    Add the booking page

    Enter the required HTTPS page where readers can confirm current times and book.

  4. 4

    Choose a composition and palette

    Use Next opening, Upcoming agenda, or Availability strip with any supported collection.

The finished widget is a plain image URL inside a link — paste it into your template, or your email editor’s image block, like this:

Example embed snippet

<a href="https://dynamail.io/c/YOUR-TRACKED-LINK"><img src="https://img.dynamail.io/widgets/YOUR-WIDGET-ID/render.png" width="360" height="360" alt="Appointment availability for this service" /></a>

YOUR-WIDGET-ID is a placeholder — every widget you create gets its own id. This widget uses a static PNG for broad email-client support. Use descriptive alt text so readers can understand the image when images are off or a screen reader reads the email.

Each render captures one instant, filters out started slots, and uses one signed link for the saved booking page. Email clients and their image proxies may cache the PNG after fetching it. No script, no custom HTML, nothing for your email platform to strip out.

What it’s for

  • Consultations — show the next available intro-call start
  • Appointments — include up to three upcoming openings in a reminder
  • Classes — share the earliest bookable sessions in a compact strip
  • Services — keep the service timezone and checked time visible

How availability freshness works

  • The publisher sets validity

    The As of and Valid until timestamps determine whether a snapshot can be shown as current.

  • Empty and unavailable differ

    A current snapshot with no future starts is empty; an expired or failed source is unavailable.

  • Inbox caches can retain an earlier image

    An email application or image proxy may keep a previously fetched image after the source changes.

Saved service, source, and booking page

Configure availability in the dashboard. Public render URLs only carry standard display controls.

?pixelRatio=2Render at 2× for high-density screens

Public render requests cannot override slots, timestamps, service details, timezone, source, destination, or preview scenario.

Frequently asked questions

Does this widget book appointments?

No. Slots are informational. The image links to your existing HTTPS booking page, where the reader checks current availability and completes booking.

Which times does the image show?

DynaMail sorts supplied starts and shows the earliest future slot in Next opening, or up to three in Upcoming agenda and Availability strip.

Which timezone does it use?

Dates and times use the service timezone saved in the widget. Each start also shows a numeric GMT offset to disambiguate daylight-saving transitions.

What happens when there are no future slots?

A valid snapshot with no future starts shows No upcoming slots. An expired, malformed, or unreachable snapshot shows Availability unavailable.

How often does a connected feed refresh?

DynaMail may reuse a valid feed snapshot for about five minutes, but never beyond the publisher’s Valid until timestamp. Email applications may cache an earlier image longer.

Can a public render URL replace the booking page or slots?

No. The destination, service details, timezone, and snapshot come from the saved widget. Public render URLs cannot replace them.