> For the complete documentation index, see [llms.txt](https://help.bots.business/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.bots.business/build-bot-behavior/recipes.md).

# Find a recipe for your bot

Find Bots.Business recipes for buttons, user input, properties, referrals, channel membership, HTTP, payments, and scheduled work.

For a guided sequence with checkpoints, choose a [Tutorial](/tutorials/tutorials.md). Use the recipes below when you need one specific task.

{% hint style="info" %}
Choose the result you want, then follow the complete guide. Each linked guide explains its required commands, context, and limitations.
{% endhint %}

## Messages and menus

| Task                                                     | Guide                                                                                                 |
| -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Reply to `/start` without code                           | [Create your first bot](/start-here/first-bot.md)                                                     |
| Show a menu of text buttons                              | [Reply keyboard](/build-bot-behavior/reply-keyboard.md)                                               |
| Put a changing balance on a reply button                 | [Dynamic balance keyboard](/build-bot-behavior/reply-keyboard.md#show-a-changing-balance-on-a-button) |
| Build a menu in two languages                            | [SmartBot menu](/build-bot-behavior/smartbot-menu.md)                                                 |
| Put buttons under a message or edit a sent message       | [Bot methods](/bjs-reference/bot.md)                                                                  |
| Receive and send back a photo or document, with a button | [Send photos and documents](/build-bot-behavior/send-media.md)                                        |
| Call another Telegram method                             | [Telegram API](/bjs-reference/telegram-api.md)                                                        |
| Put a saved value in an ordinary Answer                  | [Answer placeholders](/build-bot-behavior/commands.md#put-a-saved-property-in-an-answer)              |
| Receive contacts, locations, photos or group events      | [Telegram updates](/build-bot-behavior/telegram-updates.md)                                           |
| Reply to a particular incoming message                   | [Reply with Telegram API](/bjs-reference/telegram-api.md#reply-to-the-users-message)                  |
| Delete a bot message after a delay                       | [Temporary messages](/bjs-reference/telegram-api.md#delete-a-bot-message-after-a-delay)               |
| Answer an inline query                                   | [Inline bots](/bjs-reference/inline.md)                                                               |
| Open a form inside Telegram and receive its result       | [Telegram Mini App form](/build-bot-behavior/mini-app.md)                                             |

## User data and access

| Task                                                    | Guide                                                                             |
| ------------------------------------------------------- | --------------------------------------------------------------------------------- |
| Ask a question and save the reply                       | [Collect input](/build-bot-behavior/collect-input.md)                             |
| Accept a whole-number quantity and repeat invalid input | [Quantity dialog](/build-bot-behavior/quantity-dialog.md)                         |
| Keep a personal learning checklist between visits       | [Task progress](/build-bot-behavior/task-checklist.md)                            |
| Keep a counter or setting between commands              | [User and bot properties](/bjs-reference/user-properties.md)                      |
| Read a collection of stored entries in pages            | [Lists](/bjs-reference/lists.md)                                                  |
| Move a JSON array into individual List entries          | [Array migration](/bjs-reference/lists.md#migrate-a-json-array-into-a-list)       |
| Read or update another known user or owned bot          | [Property scopes](/bjs-reference/user-properties.md#object-form-and-another-user) |
| Check channel membership                                | [MembershipChecker](/libraries-and-examples/membership.md)                        |
| Track referral links                                    | [Referrals](/libraries-and-examples/referrals.md)                                 |
| Manage a balance or resource                            | [Resources](/libraries-and-examples/resources.md)                                 |
| Expose settings to a bot owner                          | [Create an Admin Panel](/bjs-reference/admin-panel.md)                            |

## Automation and services

| Task                                                       | Guide                                                                                     |
| ---------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Run a command after a delay                                | [Scheduled reminder and cancellation](/bjs-reference/background.md#a-complete-reminder)   |
| Remind a user after they stop interacting                  | [Inactivity reminder](/build-bot-behavior/inactivity-reminder.md)                         |
| Run a command periodically                                 | [Auto Retry setup and stopping](/bjs-reference/background.md#auto-retry-run-periodically) |
| Send to many known chats                                   | [BJS broadcasts](/bjs-reference/broadcasts.md)                                            |
| Request data from another service                          | [HTTP requests](/bjs-reference/http.md)                                                   |
| Receive a webhook                                          | [Webhook library](/libraries-and-examples/webhooks.md)                                    |
| Create an OxaPay test invoice                              | [OxaPay](/import-and-integrations/oxapay.md)                                              |
| Use OxaPay white-label, payout or swap operations          | [OxaPay V1 operations](/import-and-integrations/oxapay-operations.md)                     |
| Migrate an existing GoogleApp or GoogleTableSync connector | [Google Sheets integration](/import-and-integrations/google-apps-script.md)               |
| Import commands from a spreadsheet                         | [Google Sheets or CSV import](/import-and-integrations/google-table-import.md)            |
| Pass a campaign value in a start link                      | [Deep links](/build-bot-behavior/deep-links.md)                                           |

If an example is not working, start with its stated context and required libraries. For an error message, use [Errors and debugging](/troubleshooting/errors.md); for generated code, check [using an AI assistant](/start-here/ai-assistants.md).
