diff --git a/src/UwPermissions/UwPermissions.php b/src/UwPermissions/UwPermissions.php
index 40237b8098e433eebb6c810fd3675848149b6860..9272218b3e0554687a26fa314190c41227c3d16a 100644
--- a/src/UwPermissions/UwPermissions.php
+++ b/src/UwPermissions/UwPermissions.php
@@ -177,6 +177,14 @@ class UwPermissions {
         ),
       ],
 
+      // Opportunity permissions.
+      'Opportunity' => [
+        'Use content type' =>
+        UwPermissions::buildRolePermissionsListContentType(
+          'uw_ct_opportunity'
+        ),
+      ],
+
       // Profile permissions.
       'Profile' => [
         'Use content type' =>
diff --git a/src/UwRoles/user.role.uw_role_content_author.yml b/src/UwRoles/user.role.uw_role_content_author.yml
index c1009b4bc235ab97666e822a0054f8ae001ffb4f..a6746f2286744693f126602f6dc27d96f0a50a04 100644
--- a/src/UwRoles/user.role.uw_role_content_author.yml
+++ b/src/UwRoles/user.role.uw_role_content_author.yml
@@ -48,6 +48,7 @@ permissions:
   - 'clone uw_ct_contact content'
   - 'clone uw_ct_event content'
   - 'clone uw_ct_news_item content'
+  - 'clone uw_ct_opportunity content'
   - 'clone uw_ct_profile content'
   - 'clone uw_ct_service content'
   - 'clone uw_ct_sidebar content'
@@ -57,6 +58,7 @@ permissions:
   - 'configure editable uw_ct_contact node layout overrides'
   - 'configure editable uw_ct_event node layout overrides'
   - 'configure editable uw_ct_news_item node layout overrides'
+  - 'configure editable uw_ct_opportunity node layout overrides'
   - 'configure editable uw_ct_profile node layout overrides'
   - 'configure editable uw_ct_service node layout overrides'
   - 'configure editable uw_ct_sidebar node layout overrides'
@@ -94,6 +96,7 @@ permissions:
   - 'enter uw_ct_contact revision log entry'
   - 'enter uw_ct_event revision log entry'
   - 'enter uw_ct_news_item revision log entry'
+  - 'enter uw_ct_opportunity revision log entry'
   - 'enter uw_ct_profile revision log entry'
   - 'enter uw_ct_service revision log entry'
   - 'enter uw_ct_web_page revision log entry'
@@ -114,6 +117,8 @@ permissions:
   - 'override uw_ct_news_item published option'
   - 'override uw_ct_news_item revision option'
   - 'override uw_ct_news_item sticky option'
+  - 'override uw_ct_opportunity published option'
+  - 'override uw_ct_opportunity revision option'
   - 'override uw_ct_profile published option'
   - 'override uw_ct_profile revision option'
   - 'override uw_ct_service published option'
diff --git a/src/UwRoles/user.role.uw_role_content_editor.yml b/src/UwRoles/user.role.uw_role_content_editor.yml
index 4226291f5a643e3a733bf8623f066aaf5f3cffc6..a71f4d5f842ef8c8e17f23ffaa29af7de994a35b 100644
--- a/src/UwRoles/user.role.uw_role_content_editor.yml
+++ b/src/UwRoles/user.role.uw_role_content_editor.yml
@@ -49,6 +49,7 @@ permissions:
   - 'clone uw_ct_contact content'
   - 'clone uw_ct_event content'
   - 'clone uw_ct_news_item content'
+  - 'clone uw_ct_opportunity content'
   - 'clone uw_ct_profile content'
   - 'clone uw_ct_service content'
   - 'clone uw_ct_sidebar content'
@@ -58,6 +59,7 @@ permissions:
   - 'configure editable uw_ct_contact node layout overrides'
   - 'configure editable uw_ct_event node layout overrides'
   - 'configure editable uw_ct_news_item node layout overrides'
+  - 'configure editable uw_ct_opportunity node layout overrides'
   - 'configure editable uw_ct_profile node layout overrides'
   - 'configure editable uw_ct_service node layout overrides'
   - 'configure editable uw_ct_sidebar node layout overrides'
@@ -83,6 +85,7 @@ permissions:
   - 'enter uw_ct_contact revision log entry'
   - 'enter uw_ct_event revision log entry'
   - 'enter uw_ct_news_item revision log entry'
+  - 'enter uw_ct_opportunity revision log entry'
   - 'enter uw_ct_profile revision log entry'
   - 'enter uw_ct_service revision log entry'
   - 'enter uw_ct_web_page revision log entry'
@@ -103,6 +106,8 @@ permissions:
   - 'override uw_ct_news_item published option'
   - 'override uw_ct_news_item revision option'
   - 'override uw_ct_news_item sticky option'
+  - 'override uw_ct_opportunity published option'
+  - 'override uw_ct_opportunity revision option'
   - 'override uw_ct_profile published option'
   - 'override uw_ct_profile revision option'
   - 'override uw_ct_service published option'
diff --git a/src/UwRoles/user.role.uw_role_site_manager.yml b/src/UwRoles/user.role.uw_role_site_manager.yml
index b0e18b099f3428e8366338cf4462f79f44c86d0f..7b1ba97dfa4901d3ded4dd330c01c136a5d5775a 100644
--- a/src/UwRoles/user.role.uw_role_site_manager.yml
+++ b/src/UwRoles/user.role.uw_role_site_manager.yml
@@ -53,6 +53,7 @@ permissions:
   - 'clone uw_ct_contact content'
   - 'clone uw_ct_event content'
   - 'clone uw_ct_news_item content'
+  - 'clone uw_ct_opportunity content'
   - 'clone uw_ct_profile content'
   - 'clone uw_ct_service content'
   - 'clone uw_ct_sidebar content'
@@ -62,6 +63,7 @@ permissions:
   - 'configure editable uw_ct_contact node layout overrides'
   - 'configure editable uw_ct_event node layout overrides'
   - 'configure editable uw_ct_news_item node layout overrides'
+  - 'configure editable uw_ct_opportunity node layout overrides'
   - 'configure editable uw_ct_profile node layout overrides'
   - 'configure editable uw_ct_service node layout overrides'
   - 'configure editable uw_ct_sidebar node layout overrides'
@@ -101,6 +103,7 @@ permissions:
   - 'enter uw_ct_contact revision log entry'
   - 'enter uw_ct_event revision log entry'
   - 'enter uw_ct_news_item revision log entry'
+  - 'enter uw_ct_opportunity revision log entry'
   - 'enter uw_ct_profile revision log entry'
   - 'enter uw_ct_service revision log entry'
   - 'enter uw_ct_web_page revision log entry'
@@ -121,6 +124,8 @@ permissions:
   - 'override uw_ct_news_item published option'
   - 'override uw_ct_news_item revision option'
   - 'override uw_ct_news_item sticky option'
+  - 'override uw_ct_opportunity published option'
+  - 'override uw_ct_opportunity revision option'
   - 'override uw_ct_profile published option'
   - 'override uw_ct_profile revision option'
   - 'override uw_ct_service published option'
diff --git a/uw_cfg_common.install b/uw_cfg_common.install
index dc67811b4370a58835939a2289fc91f02a0628da..d91d7e79cd09156384922a8a4036c3b3e57c040c 100644
--- a/uw_cfg_common.install
+++ b/uw_cfg_common.install
@@ -154,6 +154,13 @@ function uw_cfg_common_install() {
         'Site manager',
       ],
     ],
+    'Opportunity' => [
+      'Use content type' => [
+        'Site manager',
+        'Content author',
+        'Content editor',
+      ],
+    ],
     'Profile' => [
       'Use content type' => [
         'Site manager',