diff --git a/docs/src/content/docs/reference/components/brevo.md b/docs/src/content/docs/reference/components/brevo.md
index e2571fa965..52e39d6cbd 100644
--- a/docs/src/content/docs/reference/components/brevo.md
+++ b/docs/src/content/docs/reference/components/brevo.md
@@ -6,7 +6,7 @@ description: "Brevo is an email marketing platform that offers a cloud-based mar
Brevo is an email marketing platform that offers a cloud-based marketing communication software suite with transactional email, marketing automation, customer-relationship management and more.
-Categories: marketing-automation
+Categories: Marketing Automation
Type: brevo/v1
@@ -187,3 +187,30 @@ Type: OBJECT
+## Triggers
+
+
+### Transactional Email Opened
+Name: transactionalEmailOpened
+
+Triggers when transactional email is opened.
+
+Type: DYNAMIC_WEBHOOK
+
+
+#### Output
+
+The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
+
+#### JSON Example
+```json
+{
+ "label" : "Transactional Email Opened",
+ "name" : "transactionalEmailOpened",
+ "type" : "brevo/v1/transactionalEmailOpened"
+}
+```
+
+
+
+
diff --git a/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/BrevoComponentHandler.java b/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/BrevoComponentHandler.java
index 2272a5e76a..943c1b808b 100644
--- a/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/BrevoComponentHandler.java
+++ b/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/BrevoComponentHandler.java
@@ -24,6 +24,7 @@
import com.bytechef.component.brevo.action.BrevoSendTransactionalEmailAction;
import com.bytechef.component.brevo.action.BrevoUpdateContactAction;
import com.bytechef.component.brevo.connection.BrevoConnection;
+import com.bytechef.component.brevo.trigger.BrevoTransactionalEmailOpenedTrigger;
import com.bytechef.component.definition.ComponentCategory;
import com.bytechef.component.definition.ComponentDefinition;
import com.google.auto.service.AutoService;
@@ -46,6 +47,8 @@ public class BrevoComponentHandler implements ComponentHandler {
BrevoCreateContactAction.ACTION_DEFINITION,
BrevoUpdateContactAction.ACTION_DEFINITION,
BrevoSendTransactionalEmailAction.ACTION_DEFINITION)
+ .triggers(
+ BrevoTransactionalEmailOpenedTrigger.TRIGGER_DEFINITION)
.clusterElements(
tool(BrevoCreateContactAction.ACTION_DEFINITION),
tool(BrevoUpdateContactAction.ACTION_DEFINITION),
diff --git a/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/constant/BrevoConstants.java b/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/constant/BrevoConstants.java
index e5b401f996..81897541e4 100644
--- a/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/constant/BrevoConstants.java
+++ b/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/constant/BrevoConstants.java
@@ -27,9 +27,8 @@ public class BrevoConstants {
public static final String CONTENT_TYPE = "contentType";
public static final String EMAIL = "email";
public static final String FIRST_NAME = "FIRSTNAME";
+ public static final String ID = "id";
public static final String LAST_NAME = "LASTNAME";
- public static final String NAME = "name";
- public static final String RECIPIENT_EMAIL = "recipientEmail";
public static final String SENDER_EMAIL = "senderEmail";
public static final String SUBJECT = "subject";
public static final String TO = "to";
diff --git a/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/trigger/BrevoTransactionalEmailOpenedTrigger.java b/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/trigger/BrevoTransactionalEmailOpenedTrigger.java
new file mode 100644
index 0000000000..48502be99d
--- /dev/null
+++ b/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/trigger/BrevoTransactionalEmailOpenedTrigger.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2023-present ByteChef Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.bytechef.component.brevo.trigger;
+
+import static com.bytechef.component.brevo.constant.BrevoConstants.ID;
+import static com.bytechef.component.definition.ComponentDsl.trigger;
+
+import com.bytechef.component.definition.ComponentDsl.ModifiableTriggerDefinition;
+import com.bytechef.component.definition.Context.Http;
+import com.bytechef.component.definition.Parameters;
+import com.bytechef.component.definition.TriggerContext;
+import com.bytechef.component.definition.TriggerDefinition.HttpHeaders;
+import com.bytechef.component.definition.TriggerDefinition.HttpParameters;
+import com.bytechef.component.definition.TriggerDefinition.TriggerType;
+import com.bytechef.component.definition.TriggerDefinition.WebhookBody;
+import com.bytechef.component.definition.TriggerDefinition.WebhookEnableOutput;
+import com.bytechef.component.definition.TriggerDefinition.WebhookMethod;
+import com.bytechef.component.definition.TypeReference;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Marija Horvat
+ */
+public class BrevoTransactionalEmailOpenedTrigger {
+
+ public static final ModifiableTriggerDefinition TRIGGER_DEFINITION = trigger("transactionalEmailOpened")
+ .title("Transactional Email Opened")
+ .description("Triggers when transactional email is opened.")
+ .type(TriggerType.DYNAMIC_WEBHOOK)
+ .output()
+ .webhookEnable(BrevoTransactionalEmailOpenedTrigger::webhookEnable)
+ .webhookDisable(BrevoTransactionalEmailOpenedTrigger::webhookDisable)
+ .webhookRequest(BrevoTransactionalEmailOpenedTrigger::webhookRequest);
+
+ private BrevoTransactionalEmailOpenedTrigger() {
+ }
+
+ protected static WebhookEnableOutput webhookEnable(
+ Parameters inputParameters, Parameters connectionParameters, String webhookUrl,
+ String workflowExecutionId, TriggerContext context) {
+
+ Map body = context.http(http -> http.post("/webhooks"))
+ .body(Http.Body.of("url", webhookUrl, "events", List.of("opened")))
+ .configuration(Http.responseType(Http.ResponseType.JSON))
+ .execute()
+ .getBody(new TypeReference<>() {});
+
+ return new WebhookEnableOutput(Map.of(ID, body.get(ID)), null);
+ }
+
+ protected static void webhookDisable(
+ Parameters inputParameters, Parameters connectionParameters, Parameters outputParameters,
+ String workflowExecutionId, TriggerContext context) {
+
+ context.http(http -> http.delete("/webhooks/" + outputParameters.getRequiredInteger(ID)))
+ .execute();
+ }
+
+ protected static Object webhookRequest(
+ Parameters inputParameters, Parameters connectionParameters, HttpHeaders headers, HttpParameters parameters,
+ WebhookBody body, WebhookMethod method, WebhookEnableOutput output, TriggerContext context) {
+
+ return body.getContent();
+ }
+}
diff --git a/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/util/BrevoUtils.java b/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/util/BrevoUtils.java
index d9ec01643b..74e3ab2d71 100644
--- a/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/util/BrevoUtils.java
+++ b/server/libs/modules/components/brevo/src/main/java/com/bytechef/component/brevo/util/BrevoUtils.java
@@ -41,8 +41,7 @@ public static List