Online
Bento

Bento Bubble Integration

This page covers installing and using Bento's Bubble plugin. The plugin adds server-side actions to your Bubble workflows for events, subscriber management, and transactional emails.

Background Pattern
Bento Logo
Vendor Icon

Overview

Bento's Bubble plugin enables server-side actions within your Bubble workflows, providing:

  • Bento Events - Track user actions and behaviors
  • Subscriber Management - Import and manage subscribers with commands
  • Transactional Emails - Send dynamic emails from Bubble workflows
  • Real-time Integration - Data flows between Bubble and Bento as actions run

Prerequisites

  • An active Bento account
  • A Bubble account with the ability to install plugins
  • Your Bento API keys (publishable key, secret key, and site UUID)

Setup Guide

1
Install the Bento Plugin
  1. In your Bubble app, navigate to the Plugins tab
  2. Search for "Bento" in the plugin marketplace
  3. Install the Bento plugin
2
Configure Plugin Settings

The plugin requires three settings to be set in the plugin settings:

  • publishable_key: Your Bento publishable key
  • secret_key: Your Bento secret key
  • site_uuid: Your Bento site UUID

These will be used across all Bento actions in your workflows.

Available Actions

1. Bento - Send Event (Dynamic)

Category: Data (Things)

Track user actions and behaviors in your Bubble app. Events sent will add the subscriber via the email address if they do not already exist. If the subscriber does exist, the event will be added to the existing subscriber. Events can also start flows, and other automations.

Required Parameters:

  • Name
    emaildynamic text
    Description

    User's email address

  • Name
    typestatic text
    Description

    Event type (e.g., "$completed_onboarding", "$purchase")

Optional Parameters:

  • Name
    detail_datadynamic json text
    Description

    Event details json, e.g., { plan: "pro", quantity: 10 }

  • Name
    first_namedynamic text
    Description

    User's first name

  • Name
    last_namedynamic text
    Description

    User's last name

  • Name
    company_namedynamic text
    Description

    User's company name (e.g., "Acme Inc")

  • Name
    job_titledynamic text
    Description

    User's job title (e.g., "CEO")

  • Name
    phone_numberdynamic text
    Description

    User's phone number (e.g., "+1 555-555-5555")

  • Name
    sourcedynamic text
    Description

    Sign-up source (e.g., "website", "event", "app")

  • Name
    statusdynamic text
    Description

    User status (e.g., "active", "inactive")

Example Usage:

Code
email: Input Email's value
type: "$completed_onboarding"
first_name: Input First Name's value
last_name: Input Last Name's value
detail_data: {"purchase_amount": 99.99, "product_id": "SKU123"}

2. Subscriber Action

Category: Data (Things)

Manage subscribers with various commands. This is effective for managing subscriber status (subscribed or unsubscribed), or fields and tags for updating subscriber metadata in one-off cases. This action should not be used for batch updates, and is heavily rate limited.

Required Parameters:

  • Name
    emaildynamic text
    Description

    Target subscriber email address

  • Name
    commandstatic select
    Description

    The command to execute

Available Commands:

  • subscribe - Add subscriber to list
  • unsubscribe - Remove subscriber from list
  • add_tag - Add tag to subscriber
  • remove_tag - Remove tag from subscriber
  • add_field - Add custom field value
  • remove_field - Remove custom field

Optional Parameters:

  • Name
    querydynamic text
    Description

    Command parameter (required for most commands, e.g., tag name or field value)

  • Name
    field_namedynamic text
    Description

    Used with "add_field" to define the field key

  • Name
    field_valuedynamic text
    Description

    Used with "add_field" to define the field value

Example Usage:

Code
command: "add_tag"
email: "jesse@example.com"
query: "purchased"

3. Subscriber Update

Category: Data (Things)

Update subscriber information during import.

Required Parameters:

  • Name
    emaildynamic text
    Description

    Subscriber email address (validated)

Optional Parameters:

  • Name
    first_namedynamic text
    Description

    Subscriber's first name

  • Name
    last_namedynamic text
    Description

    Subscriber's last name

  • Name
    tagsdynamic text
    Description

    Comma-separated string of tags to add (e.g., "lead,mql")

  • Name
    remove_tagsdynamic text
    Description

    Comma-separated string of tags to remove

  • Name
    custom_fieldsdynamic object
    Description

    Any additional custom fields, automatically handled

Features:

  • Automatic custom field handling
  • Tag management during import

4. Bento Transactional

Category: Data (Things)

Send transactional emails from Bubble workflows.

Required Parameters:

  • Name
    todynamic text
    Description

    Recipient email address

  • Name
    fromstatic text
    Description

    Sender email address. MUST be an existing author in your account

  • Name
    subjectdynamic text
    Description

    Email subject line

  • Name
    html_bodydynamic text
    Description

    HTML content of the email

  • Name
    transactionalboolean
    Description

    Set to true to send a transactional email that ignores if the user has unsubscribed. USE WITH CAUTION

Optional Parameters:

  • Name
    text_bodydynamic text
    Description

    Plain text version of the email

  • Name
    personalizationsdynamic object
    Description

    Dynamic variables for the email

Example Usage:

Code
to: "user@example.com"
from: "noreply@yourcompany.com"
subject: "Welcome to our platform!"
html_body: "

Welcome {{name}}!

Thanks for signing up.

" personalizations: '{"name": "John Doe", "link": "https://example.com"}'

Best Practices

Event Best Practices

  • Use descriptive event types (e.g., "$purchase", "$signup")
  • Include relevant detail_data for segmentation of subscribers
  • Track user journey milestones
  • Use consistent naming conventions

Common Use Cases

User Registration Flow

  1. User signs up in Bubble
  2. Send "Subscriber Update" action to add to Bento
  3. Send "$signup" event with user details
  4. Event triggers welcome email and starts onboarding journey

E-commerce Purchase

  1. User completes purchase
  2. Send "$purchase" event with order details
  3. Send order confirmation email via event and Bento flow

User Engagement

  1. User completes onboarding
  2. Send "$completed_onboarding" event
  3. Add "onboarded" tag via Bento flow
  4. Trigger next steps in workflow

Troubleshooting

Authentication Issues

  • Verify API keys are correct
  • Check site UUID format

Error Handling

The plugin returns error messages you can use to troubleshoot:

  • Authentication errors: Check API keys and permissions
  • Validation errors: Verify input data format
  • Network errors: Check connectivity and API status
  • Rate limiting: Implement appropriate delays

Advanced Features

Custom Fields

  • Automatically handle any additional properties in detail_data for easy enrichment
  • Support for complex data structures
  • Flexible field naming conventions

Tag Management

  • Use comma-separated strings for easy Bubble integration
  • Support for bulk tag operations
  • Automatic tag validation, if it doesn't exist it will be created

Personalizations

  • Accept JSON strings
  • Dynamic content injection in emails

Support

Contact Bento support via: