## Plugins

Continuing our metaphor, plugins are the gears in the engine.

Plugins are pieces of code that extend Ansible’s core functionality. Ansible ships with a number of handy plugins, and you can easily write your own.

These are some of the more common plugin types:

- Action plugins manage the execution on the controller and deployment of modules to hosts.
- Callback plugins enable you to hook into Ansible events for display or logging purposes.
- Connection plugins define how to communicate with inventory hosts.
- Filters plugins allow you to manipulate data inside Ansible plays and/or templates. This is a Jinja2 feature; Ansible ships extra filter plugins.

For more details see the Developing Plugins page in the Ansible documentation.