content/telegraf/controller/configs/create.md
Create a configuration to define how Telegraf collects, processes, and writes metrics. Telegraf Controller stores the configuration as TOML that you can use across agents. Upload existing configurations, write raw TOML in the Code Editor, or use the Telegraf Builder visual interface to manage and configure plugins.
The {{% product-name %}} Code Editor is an in-browser TOML editor that lets you upload or manually write Telegraf configuration TOML.
For detailed information about using the Code Editor, see Use the Code Editor.
{{< img-hd src="/img/telegraf/controller-code-editor.png" alt="Telegraf Controller Code Editor" />}}
The Telegraf Builder is a visual interface for adding and configuring Telegraf plugins in a Telegraf configuration.
For detailed information about using the Telegraf Builder, see Use the Telegraf Builder.
{{< img-hd src="/img/telegraf/controller-telegraf-builder.png" alt="Telegraf Builder in Telegraf Controller" />}}
[!Warning]
The Telegraf Builder does not support all Telegraf plugins
We are in the process of adding support for more Telegraf plugins in the Telegraf Builder. You can use plugins that are not currently supported by the builder, but you must add and edit them with the Code Editor.
When adding a configuration, {{% product-name %}} prepopulates the configuration with a Telegraf heartbeat output plugin. This plugin reports agent information back to the {{% product-name %}} heartbeat API and lets you monitor the health of your deployed Telegraf agents.
[[outputs.heartbeat]]
url = "http://localhost:8000/agents/heartbeat"
instance_id = "&{agent_id}"
interval = "1m"
include = ["hostname", "statistics", "configs"]
To monitor agents with {{% product-name %}}, include a heartbeat plugin in your Telegraf configurations.