WhatsApp API Platform

Broadcast List

Embed the broadcast list with delivery stats, and optionally open the creation wizard in-frame.

Mounts the broadcast list as an iframe: past and scheduled broadcasts, their delivery funnel (sent, delivered, read, replied, failed), and per-recipient drill-downs. This is the read surface that pairs with the Broadcast creator: point it at a spot in your app where users review what they've sent.

With showCreateButton on, the list also grows the three create actions (Send new campaign, Send template, Re-target). They open the creation wizard inside this same iframe and return to the list when the user goes back, discards, or finishes sending, so one embed covers the whole review-and-resend loop.

Quick start

<div id="embed" style="height: 720px"></div>
<script src="https://new.theultimate.io/embed.js" defer></script>
<script>
  Embed.render("broadcastList", {
    target: "#embed",
    authToken: "<jwt>", // or apiKey: "pm_xxx"
    theme: "system",
    showCreateButton: true, // opt in to the create / resend actions
    on: {
      ready: function () {
        console.log("list ready");
      },
    },
  });
</script>

Options

On top of the common options:

OptionTypeRequiredDescription
showCreateButtonbooleannoShow the Send new campaign, Send template, and Re-target actions. Defaults to false (read-only list).

When showCreateButton is false the list is view-only: users can browse broadcasts, open reports, and export, but the create actions are hidden. Leave it off for dashboards where sending happens elsewhere.

Create actions

With showCreateButton: true, each action opens the broadcast wizard inside this iframe, pre-filled for its intent:

ActionOpens the wizard
Send new campaignEmpty, for a fresh broadcast.
Send templatePre-filled from the selected broadcast's template.
Re-targetPre-filled with the selected broadcast's failed and sent recipients.

Back, Discard, and a completed send all return to the list. The round-trip stays inside the one iframe, so your page doesn't wire anything up: mount the list, and the wizard is reachable from it.

Just the creator?

If you only need a "New broadcast" button that isn't attached to a list, embed the Broadcast surface directly instead.

Events

EventFires when
readyThe list has loaded and authenticated.

Creating a broadcast happens inside the iframe and lands the user back on the list, so there is no created event on this surface. If you need to react to a send, embed the Broadcast creator, which emits created.

Teardown

render returns an instance; call destroy() when you remove the embed (required in SPAs):

var instance = Embed.render("broadcastList", {
  target: "#embed",
  authToken: "<jwt>",
  showCreateButton: true,
});

// later…
instance.destroy();

How is this guide?

On this page