# Message lifecycle triggers

Message lifecycle triggers are events that occur during the lifetime of a message in MessageBird.

These triggers allow you to scan, filter, and configure message payloads for better deliverability rates and for content redaction. By using message lifecycle triggers, you can automate message processing tasks and reduce the amount of manual intervention required.

### Message lifecycle trigger events

There are seven types of message lifecycle trigger events:

* [New message received](#new-message-received)
* [Before outgoing message processing](#before-outgoing-message-processing)
* [Before incoming message processing](#before-incoming-message-processing)
* [Message successfully sent](#message-successfully-sent)
* [Message sending failed](#message-sending-failed)
* [Message delivered](#message-delivered)
* [Message delivery failed](#message-delivery-failed)

### New message received

Run a flow when a new message is received by MessageBird.&#x20;

You can use this trigger to apply content filters.&#x20;

### Before outgoing message processing

Run a flow before an outgoing message is processed.

You can use this trigger to modify the message payload, apply encryption, or send a copy to another system for archiving.

### Before incoming message processing&#x20;

Run a flow before an incoming message is processed by the system.&#x20;

You can use this trigger to scan incoming messages for profanity or apply content filters.

### Message successfully sent

Run a flow when a message has been successfully sent to a recipient.&#x20;

### Message sending failed

Run a flow when a message fails to be sent to a recipient.

You can use this trigger to retry sending the message, notify the sender of the failure, or escalate the issue to a support team.

### Message delivered&#x20;

Run a flow when a message has been successfully delivered to a recipient.

### Message delivery failed

Run a flow when a message has been sent but fails to be delivered to a recipient.

You can use this trigger to retry delivering the message, notify the sender of the failure, or escalate the issue to a support team.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/applications/automation/flows/concepts/triggers/message-lifecycle-triggers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
