Custom objects allow you to store business-specific data linked to your contacts, such as subscriptions, quotes, vehicles, or insurance contracts. You can use this data to personalize the emails you send through object-based automations, making your communications hyper-relevant and tailored to each individual situation.
How personalizing emails with object attributes works
When creating an email in an object-based automation, you can add object variables. These variables are dynamic placeholders for specific details stored in the attributes of your custom objects, such as appointment date, vehicle make and model, or booking details.
When the automation is triggered, Brevo automatically replaces the object variables with the actual data from the object attribute. This ensures that your contacts receive personalized emails with information specific to their situation.
In the following example, a subscription is approaching its expiration date. The object variables in the email were replaced with the actual subscription data, so the recipient received a fully personalized renewal reminder email ⬇️.
| Email in the automation | Email received in the inbox |
|---|---|
Which emails can be personalized with object attributes?
Object attributes can only be used in object-based automations.
In object-based automations, the data available for personalization depends on the type of trigger you use:
A native event is an event provided by default by Brevo. When your automation is triggered by a native event linked to an object, you can personalize emails using:
- Attributes of the object record that triggered the automation
- Attributes from all records of a directly associated object (all records are included, without any filtering)
The following table shows examples of emails triggered by native events and the data you can use to personalize them:
| Use case | Triggering event | Data available for personalization |
|---|---|---|
| Appointment confirmation | Appointment created |
|
| Booking status change notification | Booking updated |
|
| Vehicle service reminder | Based on a date attribute (e.g., 14 days before next service date) |
|
| Restaurant booking reminder | Based on a date attribute (e.g., 1 day before booking date) |
|
| Subscription renewal reminder | Based on a date attribute (e.g., 7 days before subscription expiry) |
|
| Policy renewal reminder | Based on a date attribute (e.g., 90 days before policy end date) |
|
A custom event is an event you create yourself, and that is specific to your business. When your automation is triggered by a custom event linked to an object, you can use:
- Data from the event itself
- Attributes of the object record linked to that event
- Attributes from all records of a directly associated object (all records are included, without any filtering)
The following table shows examples of emails triggered by custom events and the data you can use to personalize them:
| Use case | Triggering event | Data available for personalization |
|---|---|---|
| Vehicle inspection report | inspection_completed |
|
| Quote approval notification | quote_approved |
|
| Contract renewal notification | contract_renewed |
|
| Payment received confirmation | payment_received |
|
| Course enrollment welcome | enrollment_completed |
|
Before you start
-
Create custom objects
Make sure you have created the custom objects you want to use for personalization and defined the associations between them. To learn more, check our dedicated article Create custom objects. -
(Optional) Create custom events
If you want to trigger your automation based on a custom event linked to your objects, create the event first. To learn more, check our dedicated article Create custom events in Brevo.
Step 1: Create an object-based automation and select a trigger
- Go to Automations > Workflows.
- Click Create an automation.
- Click Create from scratch.
- Select the custom object that should enter and progress in the automation.
- Click Continue.
- In the Triggers tab, select the event that triggers the automation.
- Configure the trigger settings.
- Click Save.
Step 2: Create an email
- In the Actions tab, select the Send email step.
- Click Add message and select Create new message.
- Click Create from scratch and select the Drag and drop editor.
Step 3: (Optional) Insert a dynamic content block to display multiple associated object records
A dynamic content block allows you to loop through and display all records linked to a directly associated object (all records are included, without any filtering). Each record will be shown with its own data.
Use a dynamic content block when the object triggering your automation is linked to multiple records of a directly associated object that you want to display, such as:
- Listing all Equipment records linked to a Property record (for example, all equipment items needing maintenance).
- Showing all Student records linked to an Enrollment record.
To add a dynamic content block:
- From the email editor, drag and drop the Dynamic content block into your canvas. The block settings open in the left panel.
- From the Data source dropdown, select Object attribute > the object that has the associated records you want to display > associations > the associated object whose records you want to loop through.
- (Optional) By default, the number of records shown is limited to 3. To change the limit, click the +/- buttons or enter the maximum number next to the Number of items option.
Step 4: Add object variables to your email
Add object variables to your email to include personalized data from your objects. When the email is sent, these variables will be replaced with the correct information for each recipient.
- Insert the content blocks you want to use to display the object data. For example:
- An Image block to show a photo (e.g., product image, company logo, service illustration)
- A Text block to display details (e.g., subscription tier, expiry date, pricing, features)
- A Button to redirect to a personalized URL (e.g., renewal link, account settings, upgrade page)
-
Add object variables inside your content blocks. Expand the following accordions to learn how to add variables for each type of content:
❗️ ImportantTo repeat data from multiple associated object records, make sure to place the content blocks inside the dynamic content block you added in the previous step.🔠 Add a variable to textAdd a variable inside a content block containing text to display specific object attributes:
- Click a Title, Text, or Button block.
- Place your cursor where you want to add a variable.
- Click the Add variable { } icon in the formatting bar.
- Select Object attributes.
- Select the object type and the specific attribute you want to include in the email. For example, for a subscription renewal reminder, you could include the subscription name, tier, expiry date, and renewal link. The variable will be inserted, and a tag will appear in your content block.
- (Optional) To enter fallback text to use in case the value is missing, click the tag and enter the fallback text in the Value if empty field.
🖼️ Add a variable to an imageAdd a variable to an Image block to display an image associated with an object:
- Click an Image block.
- Under the Visual section, click the Add variable { } icon next to the Image URL field.
- Select Object attributes.
- Select the object type and the attribute containing the image URL.
🔗 Add a variable as a hyperlink on textAdd a variable as a hyperlink on text to send recipients to a personalized URL:
- Click a Title or Text block.
- Highlight the text where you want to add the link.
- Click the Link 🔗 icon in the formatting bar.
- In the Target field, click the Add variable { } icon.
- Select Object attributes.
- Select the object type and the attribute containing the URL.
🔗 Add a variable as a hyperlink on an imageAdd a variable as a hyperlink on an image to send recipients to a personalized URL:
- Click an Image block.
- Under the Link section, click the Add variable { } icon next to the Target field.
- Select Object attributes.
- Select the object type and the attribute containing the URL.
🔗 Add a variable as a hyperlink on a buttonAdd a variable as a hyperlink on a button to send recipients to a personalized URL:
- Click a Button block.
- Under the Link section, click the Add variable { } icon next to the Target field.
- Select Object attributes.
- Select the object type and the attribute containing the URL.
Step 5: (Optional) Limit the number of items repeated in your email
If you added a dynamic content block to your email, its content will repeat for each associated object record. By default, the number of items shown is limited to 3. This helps keep the message clear and visually appealing.
To change the limit:
- Click a Dynamic content block.
- Under the Layout section, the Limit number of items option should be activated by default. If not, activate it.
- In the Number of items field, click the up/down arrows or enter the maximum number of times the Dynamic content block should repeat its content.
Step 6: (Optional) Show or hide content in your email based on specific conditions
Make your emails more relevant by showing or hiding content based on specific conditions. Only display content that matches each recipient's device, contact details, or object data.
For example, you can use conditional visibility to create unique emails that:
- Show different renewal offers based on subscription tier (Premium vs Basic)
- Display payment method options based on billing country or currency
- Show upgrade incentives only for lower-tier subscriptions
- Display loyalty rewards based on subscription duration or renewal count
➡️ To learn more, check our dedicated article Show or hide content in your emails (Content visibility).
Step 7: Save your email and activate your automation
- From the email editor, click Use this email in automation to save your email and return to the automation workflow.
- Complete any additional steps in your automation workflow as needed.
- Once your automation is ready, click Activate to activate your automation.
The object variables in your email will be automatically replaced with the relevant information for each recipient when the email is sent.
🤔 Have a question?
If you have a question, feel free to contact our support team by creating a ticket from your account. If you don't have an account yet, you can contact us here.
If you’re looking for help with a project using Brevo, we can match you with the right certified Brevo Agency partner.