# How to write Mattermost recipes

## Mattermost recipes

Mattermost recipes are technical posts that show how to use Mattermost alongside other services or demonstrate Mattermost features. They consist of four main parts and one optional part.

## Components of a recipe

> * **Problem that's solved by this recipe:** This is a concise description of a specific task the solution section will cover. For example, “You have an LDAP server and want to use it for Mattermost authentication” or “You want to use Mattermost with Google Calendar to send meeting reminders to certain channels.”
> * **Pre-installation/pre-configuration notes:** Note any specific requirements needed for users to be successful when following this recipe.
> * **Solution:** The solution details the steps required to solve the problem. Be sure to focus on the “how” and not the “why”. Use code and configuration examples, and screenshots where necessary to be as clear as possible. These are the ingredients needed to use the recipe.
> * **Discussion:** This section discusses the strategy used in the solution, and also points out opportunities for extending the solution. If there are any tools or techniques used in the solution, this is the place you can elaborate on them.
> * **See also:** The final section is optional, and is for links to other documentation about the tools mentioned in the recipe.
> * **Categorization of recipe:** Provide some keywords for easy search and retrieval.

For an example Mattermost recipe, [please read this blog post](https://about.mattermost.com/learn/connect-irc-to-mattermost/).

## Publish your recipe

You can write and publish your recipe using any channel you're comfortable with. For example, you can publish a recipe in your own GitHub repo. This option allows users to interact with your recipe and collaborate with you if they have a contribution to make.

Another option is to publish your recipe in the Mattermost Forum. While it's not possible for other users to edit your post, they can comment and provide feedback.

Both options offer a platform for collaboration.


---

# 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://handbook.mattermost.com/operations/messaging-and-math/how-to-guides-for-m-and-m/how-to-write-mattermost-recipes.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.
