---
title: Create a Telegraf configuration
description: Use Telegraf Controller to create Telegraf TOML configuration files. Upload existing configurations, write raw TOML in the Code Editor, or use the Telegraf Builder visual interface to manage and configure plugins.
url: https://docs.influxdata.com/telegraf/controller/configs/create/
estimated_tokens: 2084
product: Telegraf
version: v1
---

# Create a Telegraf configuration

#### Telegraf Controller is in Public Beta

Telegraf Controller is in public beta and will be part of the future Telegraf Enterprise offering. While in beta, Telegraf Controller is **not meant for production use**. The Telegraf Controller documentation is a work in progress, and we are actively working to improve it. If you have any questions or suggestions, please [submit an issue](https://github.com/influxdata/docs-v2/issues/new?labels=Telegraf%20Controller). We welcome any and all contributions.

Beta expectations

-   **No configuration or agent limits**  
    While in beta, Telegraf Controller doesn't place any limits on the number of configurations you can store or the number of Telegraf agents you can track. However, upon being generally available, the free distribution of Telegraf Controller will have limits introduced, with the option to increase limits through a Telegraf Enterprise license.
-   **Potential breaking changes**  
    While in beta, we will do our best to no longer make breaking changes to Telegraf Controller, however, they may be necessary. The majority of changes we make will be additive and non-breaking, and include any necessary migrations. When we do need to make breaking changes, we will do our best to communicate them clearly and in advance to minimize disruption.
-   **Flexible release schedule**  
    While in beta, we will continue to create new releases of Telegraf Controller, but likely at irregular intervals. We will provide [Telegraf Controller release notes](/telegraf/controller/reference/release-notes/) to make it easy to track updates.

Provide beta feedback

-   Use the **Feedback** feature in the Telegraf Controller UI.
-   [Join the InfluxDB Community Slack](https://influxdata.com/slack) and post feedback in the **#telegraf-enterprise-alpha** channel.
-   Post feedback in the [InfluxData Community](https://community.influxdata.com).

Join our public channels

-   [InfluxDB Community Slack *(Preferred)*](https://influxdata.com/slack)
-   [InfluxData Community](https://community.influxdata.com)
-   [InfluxDB Subreddit](https://reddit.com/r/influxdb)

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.

## Create a configuration

1. In the Telegraf Controller web interface, select **Configurations** in the navigation bar.
2. Click **Add Config**.
3. Enter a configuration name and optional description.
4. Use the Telegraf Controller [Code Editor](#use-the-code-editor) or [Telegraf Builder](#use-the-telegraf-builder) to provide or build the Telegraf configuration TOML.
5. Click **Create Configuration**.

### Use the Code Editor

The Telegraf Controller **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](/telegraf/controller/configs/ui/code-editor).*

![Telegraf Controller Code Editor](/img/telegraf/controller-code-editor.png)

### Use the Telegraf Builder

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](/telegraf/controller/configs/ui/telegraf-builder).*

![Telegraf Builder in Telegraf Controller](/img/telegraf/controller-telegraf-builder.png)

#### 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.

## Heartbeat output plugin

When adding a configuration, Telegraf Controller prepopulates the configuration with a [Telegraf heartbeat output plugin](/telegraf/v1/output-plugins/heartbeat/). This plugin reports agent information back to the Telegraf Controller heartbeat API and lets you monitor the health of your deployed Telegraf agents.

```toml
[[outputs.heartbeat]]
url = "http://localhost:8000/agents/heartbeat"
instance_id = "&{agent_id}"
interval = "1m"
include = ["hostname", "statistics", "configs"]
token = "${INFLUX_TOKEN}"
```

To monitor agents with Telegraf Controller, include a heartbeat plugin in your Telegraf configurations.

#### Authorize heartbeats using an API token

If Telegraf Controller requires authorization on the **Heartbeat** API, include the `token` option in your heartbeat plugin configuration. Provide a Telegraf Controller token with **write** permissions on the **Heartbeat** API.

We recommend defining the `INFLUX_TOKEN` environment variable when starting Telegraf and using that to define the token in your heartbeat plugin.

## Next steps

-   Use [dynamic values](/telegraf/controller/configs/dynamic-values/) to keep configurations portable across environments.
-   [Apply the configuration](/telegraf/controller/configs/use/) to your Telegraf agents.

#### Related

-   [Use dynamic values in configurations](/telegraf/controller/configs/dynamic-values/)
