diff --git a/djblets/integrations/integration.py b/djblets/integrations/integration.py
index 2ad9dcddfe150f5590cdf50df1245fd8254de203..558b3dd17024b6778689bdb7288989bfbf9a91b3 100644
--- a/djblets/integrations/integration.py
+++ b/djblets/integrations/integration.py
@@ -102,6 +102,15 @@ class Integration(object):
         self.hooks = set()
         self.enabled = False
 
+    @property
+    def id(self):
+        """The ID of the integration.
+
+        This is an alias around :py:attr:`integration_id`, meant to provide
+        compatibility with an extension's ``id`` attribute.
+        """
+        return self.integration_id
+
     def enable_integration(self):
         """Enable this integration.
 
diff --git a/djblets/integrations/tests/test_integration.py b/djblets/integrations/tests/test_integration.py
index 8243f2529f94b499dd1d329d7dd7437b85748a8b..6b98a8133e466a31c15b490d183a2b201f0669c0 100644
--- a/djblets/integrations/tests/test_integration.py
+++ b/djblets/integrations/tests/test_integration.py
@@ -42,6 +42,10 @@ class IntegrationTests(IntegrationsTestCase):
         self.assertFalse(self.integration.enabled)
         self.assertFalse(hasattr(self.integration, 'dummy_initted'))
 
+    def test_id(self):
+        """Testing Integration.id"""
+        self.assertEqual(self.integration.id, self.integration.integration_id)
+
     def test_enable_integration(self):
         """Testing Integration.enable_integration"""
         self.integration.enable_integration()
