> For the complete documentation index, see [llms.txt](https://brightercommand.gitbook.io/paramore-brighter-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus.md).

# Using an External Bus

- [Using an External Bus](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/implementingexternalbus.md): Brighter provides support for an External Bus.
- [Routing](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/routing.md): A producer routes messages to subscribers by setting a Topic on the MessageHeader.
- [Message Mappers](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/messagemappers.md): A message mapper turns domain code into a Brighter Message.
- [Default Message Mappers](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/messagemappers/defaultmessagemappers.md): You do not need to implement IAmAMessageMapper for every message type.
- [Message Transforms](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/messagemappers/messagetransforms.md): A transform is middleware in the mapping pipeline, and Brighter finds it by reflecting over the attributes on your mapper's MapToMessage and MapToRequest methods.
- [Cloud Events Support](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/cloudeventssupport.md): CloudEvents is a CNCF specification for describing event data in a common, standardized way.
- [CloudEvents Reference](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/cloudeventssupport/cloudeventsreference.md): CloudEvents defines both required and optional attributes for events.
- [Claim Check](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/claimcheck.md): The Claim Check pattern helps us reduce the size of our messages, without losing information that we need to exchange.
- [S3 Luggage Store](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/claimcheck/s3luggagestore.md): The S3LuggageStore is an implementation of IAmAStorageProviderAsync for AWS S3 Object Storage.
- [Compression](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/compression.md): The Compression transform helps us reduce the size of a message using a compression algorithm.
- [Dynamic Message Deserialization](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/dynamicmessagedeserialization.md): Brighter supports dynamic type resolution, allowing you to route multiple message types through a single channel.
- [Routing Multiple Message Types](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/dynamicmessagedeserialization/routingmultiplemessagetypes.md): The most common approach for dynamic deserialization is using the CloudEvents type attribute.
- [AsyncAPI Document Generation](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/asyncapisupport.md): Brighter can automatically generate AsyncAPI 3.0 documents from your service's runtime configuration.
- [Error Handling](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/handlerfailure.md): When your handler throws an exception on the External Bus, Brighter's message pump catches it and decides what to do with the message.
- [Error Handling Options](https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus/handlerfailure/errorhandlingoptions.md): Brighter's message pump uses Subscription properties to control how it handles errors.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://brightercommand.gitbook.io/paramore-brighter-documentation/using-an-external-bus.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
