diff --git a/docs/release-notes/version-2.9.md b/docs/release-notes/version-2.9.md
index 915d9e0388f..9b49cc1f302 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 63916bcc571..3f4d7b3069f 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 cdc43142e88..77d17fe8a77 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 8ab51cb303f..e3c7bcad68e 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 e3d67eb2c28..7fcf6ab0a95 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 cddcffd6f10..2ea70972b4b 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 8642bd8fb16..3f3d2889948 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 982d53eaa13..23246602a35 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 %}