> For the complete documentation index, see [llms.txt](https://docs.propellerheads.xyz/integrations/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.propellerheads.xyz/integrations/indexing/common-problems-and-patterns/custom-protobuf-models.md).

# Custom protobuf models

Custom intermediate message types.

In some cases, you may need to create custom intermediate protobuf messages, especially when facilitating communication between Substreams handler modules or storing additional data in stores.

Place these protobuf files within your Substreams package, such as `./substreams/ethereum-template/proto/custom-messages.proto`. Be sure to link them in the `substreams.yaml` file. For more details, refer to the [manifest documentation](https://docs.substreams.dev/documentation/develop/manifest-modules) or review the official Substreams [UniswapV2](https://github.com/messari/substreams/blob/master/uniswap-v2/substreams.yaml#L20-L22) example integration.
