diff --git a/homeassistant/components/control4/config_flow.py b/homeassistant/components/control4/config_flow.py
index d13fe31601feb3f1dd672850ccdf189c0e7e43d4..660d265758f2606748d1b74a77816d6c9c4a5356 100644
--- a/homeassistant/components/control4/config_flow.py
+++ b/homeassistant/components/control4/config_flow.py
@@ -16,6 +16,7 @@ from homeassistant.const import (
     CONF_USERNAME,
 )
 from homeassistant.core import callback
+from homeassistant.data_entry_flow import STEP_ID_INIT, STEP_ID_USER
 from homeassistant.helpers import aiohttp_client, config_validation as cv
 from homeassistant.helpers.device_registry import format_mac
 
@@ -96,9 +97,9 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
         if user_input is not None:
 
             hub = Control4Validator(
-                user_input["host"],
-                user_input["username"],
-                user_input["password"],
+                user_input[CONF_HOST],
+                user_input[CONF_USERNAME],
+                user_input[CONF_PASSWORD],
                 self.hass,
             )
             try:
@@ -123,15 +124,15 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
                 return self.async_create_entry(
                     title=controller_unique_id,
                     data={
-                        CONF_HOST: user_input["host"],
-                        CONF_USERNAME: user_input["username"],
-                        CONF_PASSWORD: user_input["password"],
+                        CONF_HOST: user_input[CONF_HOST],
+                        CONF_USERNAME: user_input[CONF_USERNAME],
+                        CONF_PASSWORD: user_input[CONF_PASSWORD],
                         CONF_CONTROLLER_UNIQUE_ID: controller_unique_id,
                     },
                 )
 
         return self.async_show_form(
-            step_id="user", data_schema=DATA_SCHEMA, errors=errors
+            step_id=STEP_ID_USER, data_schema=DATA_SCHEMA, errors=errors
         )
 
     @staticmethod
@@ -163,7 +164,7 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
                 ): vol.All(cv.positive_int, vol.Clamp(min=MIN_SCAN_INTERVAL)),
             }
         )
-        return self.async_show_form(step_id="init", data_schema=data_schema)
+        return self.async_show_form(step_id=STEP_ID_INIT, data_schema=data_schema)
 
 
 class CannotConnect(exceptions.HomeAssistantError):
diff --git a/homeassistant/data_entry_flow.py b/homeassistant/data_entry_flow.py
index b5a35929459f29991fced2c04fbf3309364a7544..83135373b9b31f70d15b31b5408e17480fd37592 100644
--- a/homeassistant/data_entry_flow.py
+++ b/homeassistant/data_entry_flow.py
@@ -21,6 +21,7 @@ RESULT_TYPE_EXTERNAL_STEP_DONE = "external_done"
 RESULT_TYPE_SHOW_PROGRESS = "progress"
 RESULT_TYPE_SHOW_PROGRESS_DONE = "progress_done"
 
+STEP_ID_INIT: Final = "init"
 STEP_ID_USER: Final = "user"
 
 # Event that is fired when a flow is progressed via external or progress source.
diff --git a/tests/components/control4/test_config_flow.py b/tests/components/control4/test_config_flow.py
index 8a4791ab5791a0e68f92db3344a3a9a3dcc87b38..1ae69dbe36d7bb4d6eb8e5c198770d3964802b13 100644
--- a/tests/components/control4/test_config_flow.py
+++ b/tests/components/control4/test_config_flow.py
@@ -14,6 +14,7 @@ from homeassistant.const import (
     CONF_SCAN_INTERVAL,
     CONF_USERNAME,
 )
+from homeassistant.data_entry_flow import STEP_ID_INIT
 
 from tests.common import MockConfigEntry
 
@@ -166,7 +167,7 @@ async def test_option_flow(hass):
     result = await hass.config_entries.options.async_init(entry.entry_id)
 
     assert result["type"] == "form"
-    assert result["step_id"] == "init"
+    assert result["step_id"] == STEP_ID_INIT
 
     result = await hass.config_entries.options.async_configure(
         result["flow_id"],
@@ -186,7 +187,7 @@ async def test_option_flow_defaults(hass):
     result = await hass.config_entries.options.async_init(entry.entry_id)
 
     assert result["type"] == "form"
-    assert result["step_id"] == "init"
+    assert result["step_id"] == STEP_ID_INIT
 
     result = await hass.config_entries.options.async_configure(
         result["flow_id"], user_input={}