# External integration

Monarch has the ability to integrate with external implants. As long as they communicate with the same 'language' as Monarch C2, they can all be orchestrated from one panel. This is beneficial to both operators (who can have a wide array of agents to choose from) and developers (who can integrate new and existing agents into one interface).

## Build options

Build options are defined in a configuration file in the root of a Monarch agent project named `royal.yaml`. Implant build options can be given types, descriptions, default values, or even a set of values. This allows operators to easily understand their agents and configure features accordingly.

## Commands

Monarch cleverly loads external implant commands into its interface to be used with features like autocomplete. These commands are also defined in the developer-defined configuration file. Each command can be given an argument count, description, and more.

For more information, see the [Integration](../integration) page.
