ONLINE
Bento
OpenAI
Using Cursor, Claude, or Codex?Copy a ready-made prompt for your AI agent so it can start implementing Bento, fast.
View .md

Broadcasts

Broadcasts are your large-scale communications designed to engage a wide audience, targeting either all your subscribers or specific segments. These include your marketing campaigns and newsletters, aimed at delivering valuable content, updates, promotions, and news.

Available Endpoints

MethodEndpointName
POSTbatch/broadcastsCreate Broadcasts
GETfetch/broadcastsGet Broadcasts

The Broadcast Model

The broadcast model contains a full set of keys that represent the email broadcast, the tags and segments it was addressed to, and the send rate and open rate across recipients.

Properties

  • Name
    name
    Type
    string
    Description

    The name of the broadcast campaign.

  • Name
    subject
    Type
    string
    Description

    The subject of the email.

  • Name
    content
    Type
    string
    Description

    The content of the email.

  • Name
    type
    Type
    string
    Description

    The type of email. plain for Bento's css or raw to use your own.

  • Name
    from
    Type
    object
    Description

    key value object of the sender, must be an author in your account.

  • Name
    inclusive_tags
    Type
    string
    Description

    A comma separated list of tags to send to.

  • Name
    exclusive_tags
    Type
    string
    Description

    A comma separated list of tags you do not want the email to go to.

  • Name
    segment_id
    Type
    string
    Description

    The segment ID for the campaign.

  • Name
    batch_size_per_hour
    Type
    integer
    Description

    The amount of emails to send per hour to ensure the highest delivery.


GET/v1/fetch/broadcasts

Get Broadcasts

Returns a list of broadcasts in your account.

  • Name
    site_uuid
    Type
    string
    Description

    Your site UUID.

  • Name
    page
    Type
    integer
    Description

    Pagination number. If you have many broadcasts, you can paginate through them by adding the page parameter. For example, to get the second page of broadcasts add ?page=2 to the end of the url. Be sure to continue to add the site_uuid parameter to the end of the url.

Response

Returns a collection of broadcasts and their details.


POST/v1/batch/broadcasts

Create Broadcasts

Create new broadcasts to be sent.

Required Attributes

  • Name
    name
    Type
    string
    Description

    Name of the broadcast such as a campaign name.

  • Name
    subject
    Type
    string
    Description

    Subject line of the broadcast email

  • Name
    content
    Type
    string
    Description

    Broadcast body content, supports liquid tags.

  • Name
    type
    Type
    string
    Description

    The type of email. plain for Bento's css or raw to use your own.

  • Name
    from
    Type
    object
    Description

    key value object of the sender, must be an author in your account.

  • Name
    inclusive_tags
    Type
    string
    Description

    A comma separated list of tags to send to.

  • Name
    exclusive_tags
    Type
    string
    Description

    A comma separated list of tags you do not want the email to go to.

  • Name
    segment_id
    Type
    string
    Description

    The segment ID for the campaign.

  • Name
    batch_size_per_hour
    Type
    integer
    Description

    The amount of emails to send per hour to ensure the highest delivery.

  • Name
    send_at
    Type
    datetime
    Description

    The date and time to send the broadcast at.

  • Name
    approved
    Type
    boolean
    Description

    Whether the broadcast has been approved by Bento and will be sent at the scheduled time.



Response

Returns the count of broadcasts queued for processing.



Content format examples

Use type to decide the format of content.

type: raw example: Product launch announcement

Use a complete email HTML document with inline styles. This gives you full control over layout and rendering.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>New Feature Announcement</title>
  </head>
  <body style="margin:0;padding:0;background-color:#f3f4f6;">
    <table role="presentation" width="100%" cellspacing="0" cellpadding="0" border="0" style="background-color:#f3f4f6;padding:24px 0;">
      <tr>
        <td align="center">
          <table role="presentation" width="620" cellspacing="0" cellpadding="0" border="0" style="width:620px;max-width:620px;background-color:#ffffff;border:1px solid #e5e7eb;border-radius:10px;">
            <tr>
              <td style="padding:14px 28px;background-color:#111827;border-radius:10px 10px 0 0;font-family:Arial,sans-serif;">
                <p style="margin:0;color:#e5e7eb;font-size:12px;letter-spacing:0.02em;text-transform:uppercase;">Bento Product Update</p>
              </td>
            </tr>
            <tr>
              <td style="padding:30px 28px 16px 28px;font-family:Arial,sans-serif;color:#111827;">
                <h1 style="margin:0 0 12px 0;font-size:26px;line-height:1.25;">Three new tools to improve campaign performance</h1>
                <p style="margin:0 0 16px 0;font-size:16px;line-height:1.55;color:#374151;">
                  Hi {{ visitor.first_name | default: "there" }}, this week we shipped improvements to reporting, segmentation, and API performance.
                </p>
                <p style="margin:0 0 22px 0;font-size:16px;line-height:1.55;color:#374151;">
                  Here are the highlights and how to use each update in your next send.
                </p>
                <a href="https://bentonow.com/changelog" style="display:inline-block;padding:12px 18px;background-color:#111827;color:#ffffff;text-decoration:none;border-radius:6px;font-size:14px;font-weight:600;">Read the full changelog</a>
              </td>
            </tr>
            <tr>
              <td style="padding:0 28px 24px 28px;font-family:Arial,sans-serif;">
                <table role="presentation" width="100%" cellspacing="0" cellpadding="0" border="0" style="border-collapse:separate;border-spacing:0 12px;">
                  <tr>
                    <td style="padding:14px;border:1px solid #e5e7eb;border-radius:8px;">
                      <p style="margin:0 0 6px 0;font-size:14px;font-weight:700;color:#111827;">Faster segment loading</p>
                      <p style="margin:0;font-size:14px;line-height:1.5;color:#4b5563;">Build and preview large audience segments in less time before each campaign.</p>
                    </td>
                  </tr>
                  <tr>
                    <td style="padding:14px;border:1px solid #e5e7eb;border-radius:8px;">
                      <p style="margin:0 0 6px 0;font-size:14px;font-weight:700;color:#111827;">Improved campaign reporting</p>
                      <p style="margin:0;font-size:14px;line-height:1.5;color:#4b5563;">Compare opens, clicks, and conversions in one view to find winning messages faster.</p>
                    </td>
                  </tr>
                  <tr>
                    <td style="padding:14px;border:1px solid #e5e7eb;border-radius:8px;">
                      <p style="margin:0 0 6px 0;font-size:14px;font-weight:700;color:#111827;">Webhook retry logs</p>
                      <p style="margin:0;font-size:14px;line-height:1.5;color:#4b5563;">Debug failed deliveries with detailed retry events and response payloads.</p>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <tr>
              <td style="padding:0 28px 28px 28px;font-family:Arial,sans-serif;color:#6b7280;font-size:12px;line-height:1.6;">
                You are receiving this email because you subscribed to product updates from Bento.
                <br />
                Manage your preferences at https://app.bentonow.com/preferences.
              </td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
  </body>
</html>

type: plain example: Weekly newsletter

Use simple markup for standard newsletters. Keep it lightweight with paragraphs, lists, and CTA links styled like buttons.

<p>Hi {{ visitor.first_name | default: "there" }},</p>

<p>Thanks for being part of Bento. Here is your weekly update from the product team.</p>

<h2>What shipped this week</h2>

<ul>
  <li>Faster segment loading</li>
  <li>Improved campaign reporting</li>
  <li>New webhook retry logs</li>
</ul>



<h3>One quick win to try</h3>
<p>
  Create a segment for users who clicked any email in the last 14 days, then send your next feature
  announcement only to that group for higher engagement.
</p>

<p>
  <!-- This is a Bento button and compatible with the editor -->
  <button href="https://app.bentonow.com/broadcasts/new" target="_blank" rel="noopener noreferrer" data-bento-button="true" text="Create next broadcast" width="auto" style="background-color: #111827; color: #ffffff!important; border-radius: 8px; padding: 10px 16px; font-size: 14px; text-decoration: none!important; border: none; cursor: pointer!important; font-weight: 600; display: inline-block!important; width: auto!important;" class="shoji-bento-button" data-width="auto"><a href="https://app.bentonow.com/broadcasts/new" target="_blank" rel="noopener noreferrer" style="color: inherit!important; text-decoration: none!important;">Create next broadcast</a></button>
</p>

<p>
  <a href="https://bentonow.com/docs/broadcasts" style="display:inline-block;padding:10px 16px;background:#f3f4f6;color:#111827;text-decoration:none;border-radius:6px;border:1px solid #d1d5db;">
    Read docs
  </a>
</p>

<p>
  Need help planning your next campaign? Reply to this email and we can help with segmentation and send timing.
</p>

<hr />

<p style="font-size:12px;color:#6b7280;">
  You are receiving this email because you opted in for product updates.
  Update preferences in your account at any time.
</p>