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
| Method | Endpoint | Name |
|---|---|---|
| POST | batch/broadcasts | Create Broadcasts |
| GET | fetch/broadcasts | Get 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.
plainfor Bento's css orrawto use your own.
- Name
from- Type
- object
- Description
keyvalueobject 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 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.
Create Broadcasts
Create new broadcasts to be sent.
Required Attributes
broadcasts that is an array of the broadcast object properties- 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.
plainfor Bento's css orrawto use your own.
- Name
from- Type
- object
- Description
keyvalueobject 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.
Recommended format:2024-04-23T18:30:00ZRequired whenapprovedistrue
- Name
approved- Type
- boolean
- Description
Whether the broadcast has been approved by Bento and will be sent at the scheduled time.
We STRONGLY recommend you only add this key after you've done a few test requests and have sent those manually.
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>
For raw, include full HTML and inline CSS. For plain, use lightweight content blocks.
