diff --git a/docs/release-notes/version-2.9.md b/docs/release-notes/version-2.9.md
index 915d9e038..9b49cc1f3 100644
--- a/docs/release-notes/version-2.9.md
+++ b/docs/release-notes/version-2.9.md
@@ -13,6 +13,7 @@
* [#4969](https://github.com/netbox-community/netbox/issues/4969) - Replace secret role user/group assignment with object permissions
* [#4982](https://github.com/netbox-community/netbox/issues/4982) - Extended ObjectVar to allow filtering API query
* [#4994](https://github.com/netbox-community/netbox/issues/4994) - Add `cable` attribute to PowerFeed API serializer
+* [#4996](https://github.com/netbox-community/netbox/issues/4996) - Add "connect" buttons to individual device component views
### Bug Fixes
diff --git a/netbox/templates/dcim/consoleport.html b/netbox/templates/dcim/consoleport.html
index 63916bcc5..3f4d7b306 100644
--- a/netbox/templates/dcim/consoleport.html
+++ b/netbox/templates/dcim/consoleport.html
@@ -89,6 +89,18 @@
{% else %}
Not connected
+ {% if perms.dcim.add_cable %}
+
+
+
+
+ {% endif %}
{% endif %}
diff --git a/netbox/templates/dcim/consoleserverport.html b/netbox/templates/dcim/consoleserverport.html
index cdc43142e..77d17fe8a 100644
--- a/netbox/templates/dcim/consoleserverport.html
+++ b/netbox/templates/dcim/consoleserverport.html
@@ -89,6 +89,18 @@
{% else %}
Not connected
+ {% if perms.dcim.add_cable %}
+
+
+
+
+ {% endif %}
{% endif %}
diff --git a/netbox/templates/dcim/frontport.html b/netbox/templates/dcim/frontport.html
index 8ab51cb30..e3c7bcad6 100644
--- a/netbox/templates/dcim/frontport.html
+++ b/netbox/templates/dcim/frontport.html
@@ -77,6 +77,21 @@
{% else %}
Not connected
+ {% if perms.dcim.add_cable %}
+
+
+
+
+ {% endif %}
{% endif %}
diff --git a/netbox/templates/dcim/interface.html b/netbox/templates/dcim/interface.html
index e3d67eb2c..7fcf6ab0a 100644
--- a/netbox/templates/dcim/interface.html
+++ b/netbox/templates/dcim/interface.html
@@ -169,6 +169,19 @@
{% else %}
Not connected
+ {% if perms.dcim.add_cable %}
+
+
+
+
+ {% endif %}
{% endif %}
diff --git a/netbox/templates/dcim/poweroutlet.html b/netbox/templates/dcim/poweroutlet.html
index cddcffd6f..2ea70972b 100644
--- a/netbox/templates/dcim/poweroutlet.html
+++ b/netbox/templates/dcim/poweroutlet.html
@@ -97,6 +97,11 @@
{% else %}
Not connected
+ {% if perms.dcim.add_cable %}
+
+ Connect
+
+ {% endif %}
{% endif %}
diff --git a/netbox/templates/dcim/powerport.html b/netbox/templates/dcim/powerport.html
index 8642bd8fb..3f3d28899 100644
--- a/netbox/templates/dcim/powerport.html
+++ b/netbox/templates/dcim/powerport.html
@@ -97,6 +97,17 @@
{% else %}
Not connected
+ {% if perms.dcim.add_cable %}
+
+
+
+
+ {% endif %}
{% endif %}
diff --git a/netbox/templates/dcim/rearport.html b/netbox/templates/dcim/rearport.html
index 982d53eaa..23246602a 100644
--- a/netbox/templates/dcim/rearport.html
+++ b/netbox/templates/dcim/rearport.html
@@ -71,6 +71,19 @@
{% else %}
Not connected
+ {% if perms.dcim.add_cable %}
+
+
+
+
+ {% endif %}
{% endif %}