# App Reference

An app in YouTrack can contain one module or several. Each module encapsulates a specific piece of functionality. These modules may be designed to interact with each other or function independently.

Backend JavaScript files in an app package can also require modules from the YouTrack workflow API package `@jetbrains/youtrack-scripting-api`. For example, HTTP handlers can use the `@jetbrains/youtrack-scripting-api/http` module to send requests to external services. For shared scripting guidance and the complete module reference, see [YouTrack JavaScript API](Workflows-in-JavaScript.html).

This section of the documentation provides reference material you can use to build specific modules for your app.

| Topic | Description |
| --- | --- |
| [Extension Points for Widgets](apps-reference-extension-points.html) |    Browse the list of available locations for adding widgets to YouTrack.    |
| [Conditional Widgets](apps-widget-guards.html) | Learn how to use guard functions to show widgets only when specific entity conditions are met.   |
| [HTTP Handlers](apps-reference-http-handlers.html) | Learn how to make YouTrack data accessible from custom HTTP endpoints using HTTP handlers.   |
| [Host API](apps-host-api.html) | Learn about the supplementary API that supports communication between parts of an app and the YouTrack back end.   |
| [Custom MCP Tools](custom-ai-tools.html) | Learn how to add custom MCP tools to YouTrack apps and make them available through the YouTrack MCP server.   |

