## On this page

Medplum bots are functions that execute when triggered. They are similar to AWS Lambda functions, and in Medplum we make them easy to write and deploy and trigger with [FHIR Subscriptions](/content/docs/subscriptions/index.html). For the purpose of the tutorials found in this section, it's important to understand that **Bots drive many of the major integrations that you see in Medplum**.

If you are new to Medplum Bots, we encourage you to read the intro material in the [**Bot Guide**](/content/docs/bots/bot-basics/index.html).

The following tutorials will walk through some of the use cases for Bots, to give you a sense of how they can work for you.

## Enabling Bots

Bots are a [project level setting](/content/docs/access/projects#settings/index.html) that must be enabled by a Super Admin user.

For users on the [Medplum Hosted Service](/content/pricing/index.html), bots are a paid features. Contact [info@medplum.com](mailto:info@medplum.com) or reach out in our [Discord channel](https://discord.gg/medplum) to have Bots enabled on your project.

Super administrators can enable bots via the Medplum App:

- Navigate to [https://app.your-medplum-domain.com/Project/:projectId](https://app.your-medplum-domain.com/Project/:projectId)
- Click on the "Edit" tab
- In the "Features" section, add an entry with the value "bots"

## Getting Started

Learn the fundamentals of building and testing bots before deploying them to production.

- [Bot Basics](/content/docs/bots/bot-basics/index.html)
- [Unit Testing Bots](/content/docs/bots/unit-testing-bots/index.html)
- [Running Bots Locally](/content/docs/bots/running-bots-locally/index.html)

## Bot Triggers & Invocation

Configure how and when your bots execute, from scheduled tasks to real-time event responses.

- [Cron Jobs for Bots](/content/docs/bots/bot-cron-job/index.html)
- [Consuming Webhooks](/content/docs/bots/consuming-webhooks/index.html)
- [Bot for QuestionnaireResponse](/content/docs/bots/bot-for-questionnaire-response/index.html)
- [Custom FHIR Operations](/content/docs/bots/custom-fhir-operations/index.html)

## Common Use Cases & Patterns

Implement frequently-needed functionality like file handling, document generation, and data transformation.

- [Uploading Files](/content/docs/bots/file-uploads/index.html)
- [Create a PDF](/content/docs/bots/creating-a-pdf/index.html)
- [HL7 to FHIR](/content/docs/bots/hl7-into-fhir/index.html)

## Deployment & Infrastructure

Deploy your bots to Medplum's cloud infrastructure or integrate with your existing AWS environment.

- [Bots in Production](/content/docs/bots/bots-in-production/index.html)
- [Bot Code Organization and Build Setup](/content/docs/bots/bot-code-organization/index.html)
- [Running Bots on Fission](/content/docs/bots/running-bots-on-fission/index.html)
- [External Lambda Functions](/content/docs/bots/external-function/index.html)
- [Medplum Bot Layers](/content/docs/bots/bot-lambda-layer/index.html)

## Security & Permissions

Manage sensitive credentials and control what actions your bots can perform.

- [Bot Secrets](/content/docs/bots/bot-secrets/index.html)
- [Run as User](/content/docs/bots/bot-run-as-user/index.html)

## Monitoring & Operations

Track bot performance and troubleshoot issues in production environments.

- [Monitoring Bots](/content/docs/bots/monitoring-bots/index.html)

## Reference

- [Demo Bots Repository](https://github.com/medplum/medplum-demo-bots) on Github
- [Bot Features and Fixes](https://github.com/medplum/medplum/pulls?q=is%3Apr+label%3Abots) on Github

- [Getting Started](/content/docs/bots#getting-started/index.html)
- [Bot Triggers & Invocation](/content/docs/bots#bot-triggers--invocation/index.html)
- [Common Use Cases & Patterns](/content/docs/bots#common-use-cases--patterns/index.html)
- [Deployment & Infrastructure](/content/docs/bots#deployment--infrastructure/index.html)
- [Security & Permissions](/content/docs/bots#security--permissions/index.html)
- [Monitoring & Operations](/content/docs/bots#monitoring--operations/index.html)
- [Reference](/content/docs/bots#reference/index.html)
