Create a Community | MuleSoft Documentation
# Create a Community
Creating and configuring a Salesforce Experience Cloud site for your API community includes setting branding, forums and moderation rules, Salesforce CMS, Salesforce CRM content, Chatter tracking for APIs, profiles and permissions, sharing, member registration and approval, and user impersonation.
You can create any number of sites. All sites are in the same Salesforce organization. The default Anypoint API Community Manager license covers up to 100 sites.
Installing, updating, or configuring API Community Manager must be done by a user account with the **System Administrator** profile in the API Community Manager Salesforce organization.
If you are not familiar with Experience Cloud, refer to the Experience Cloud Overview.
## Create a New Community
  1. Navigate to **Setup**.
  2. In the **Quick Find** box, enter **`Digital Experiences`**and then click**All Sites**.
  3. Click **New**.
All site templates are listed.
  4. If you want to get started from an example, choose any of the **API Community Manager Templates** or any of the other available templates.
  5. If you want to design your site from scratch with full control of the structure and look and feel, choose **Build your own**.
  6. Click **Get Started**.
  7. Enter values for **Name** and **optional URL suffix** for your site.
  8. Click **Create**.
The configuration process will take a few minutes.
  9. When the configuration process finishes and you see your new site workspace, click **Install AppExchange Package** in the top banner and follow the installation wizard instructions to install the pre-defined metrics and dashboards.
Be sure to install this package in your production organization when prompted by the wizard.
  10. In **Application Launcher** , navigate to **ACM Administrator** , click **Community Administration** , go to the **Settings** section, and click **Activate Community**.


To enable the admin panels, publish your community for the first time:
  1. In the API Community Manager control panel, click **Community Builder**.
  2. Click **Publish** in the top right corner.
  3. In the **Publish Your Community** dialog, click **Publish**.
In a few minutes, your community is published.
  4. Look for an email notification including your community’s public URL.
  5. You can also always find your community’s live URL by opening the API Community Manager control panel and clicking **Open Community**.


To use a custom domain name, also known as a vanity domain, refer to the Salesforce knowledge article Run your Salesforce Digital Experience under a custom domain.
To customize the look, feel, and branding of your community, refer to Brand and Customize Your API Community.
## Configure Content
Your community’s content configuration controls the forums, moderation rules, Chatter tracking for APIs, Salesforce CMS, and Salesforce CRM content.
### Configure Forums
  1. In the **Application Launcher** navigate to **ACM Administrator** , click **Community Administration** , and click **Preferences** in the left panel.
  2. Click **Show all settings in Workspaces**.
  3. Click **Save** so this setting is reflected.
  4. Click **Allow discussion threads**.
  5. Click **Save**.
  6. Return to the API Community Manager control panel, and click **Manage CMS Content**.
  7. Click the **Topics** tab.
  8. Click **Navigational Topics**.
  9. Create as many topics as you need for your community forums and click **Save**.


By default, discussion forums are not moderated, so any member can create posts with any content and the posts become visible for other members immediately. If you want to define a basic "review/approve-all" moderation model, follow these steps:
  1. In the API Community Manager control panel, click **Manage Forums** > **Rules**.
  2. Click **New** and create a **Content Rule**.
  3. Enter a **Name** and a **Unique Name** in the **Details** section and click **Activate Rule**.
  4. In the **Rule Conditions** section, select **Post** and **Comment** , and in **Moderation Action** select **Review**.
  5. In the **Criteria** section, move all items in **Member Criteria** from the **Available Criteria** box to the **Selected Criteria** box.
  6. Click **Save**.


Verify the **Activate Rule** check box is active when saving your changes.   
---  
You can define much more advanced moderation and review rules. You can find more information in the Salesforce Experience Cloud documentation about forum moderation rules.
Chatter tracking enables your community to create discussions about specific objects such as APIs. To enable Chatter tracking:
  1. In **Setup** , search for **Chatter** using the **Quick Find** box and click **Feed Tracking**.
  2. Click **CommunityAPI**.
  3. Without selecting any fields, click **Enable feed tracking**.
  4. Click **Save**.


### Organize CMS Content Using Topics
If you want to organize CMS content using Topics, follow these steps:
  1. Go to the API Community Manager control panel, click **Manage CMS Content** , and click **Topics**.
  2. Select the topics you want to enable to organize CMS content and click **Enable for content** in the top right.


### Enable Salesforce CRM Content
To verify that Salesforce CRM Content is enabled:
  1. In **Setup** , search for **Salesforce CRM** using the **Quick Find** box and click **Salesforce CRM Content**.
  2. Ensure that **Enable Salesforce CRM Content** is selected.
  3. Click **Save**.


## Configure Profiles and Permissions
After you create a community, you must create different user profiles for your community _members_ (signed in) and _guests_ , so that you can control access to and visibility of APIs and content.
Configure the settings with one of these options:
  * Configure the member and guest user settings automatically using the default settings specified by the **Fix** buttons in the API Community Manager diagnostics user access tab.
  * Configure the member and guest user settings manually using custom settings applied in the following steps.


API Community Manager uses the following permission sets to define the visibility of external objects and Apex classes and access to these entities.
  * ACM Admin User
  * ACM Guest User
  * ACM Member User


For more information about using permission sets, see Permission Sets.
### Configure Member User Permission Sets
The permission for the member user must be assigned to the **ACM Member User** permission set so your members can access APIs, create client applications, and manage their details.
As part of the API Community Manager package, the member user is assigned automatically. After the package is installed, a trigger searches for users with a Customer Community Profile and assigns the member users to the **ACM Member User** permission set.
To manually assign a new user to the permission set for access to the external objects and Apex classes:
  1. Go to the member profile and search for the assigned user.
  2. Assign the **ACM Member User Permission Set** to the User.


### Configure Guest User Permission Sets
The permission for the guest user must be assigned to the **ACM Guest User** permission set so your guests can access API information.
You can use the API Community Diagnostics or manually set the guest user profile to the **ACM Guest User** permission set.
To manually assign the guest user to the permission set for access to the external objects and Apex classes:
  1. Go to the guest profile and search for the assigned user.
  2. Assign the **ACM Guest User** to the **Community Guest User**.


## Configure Sharing Settings
Configure the settings with one of these options:
  * Configure sharing settings for members and guests automatically using the default settings specified by the **Fix** buttons in the API Community Manager diagnostics user access tab.
  * Configure sharing settings for members and guests manually using custom settings applied in the following steps.
### Configure Guest User Permission Sets
The permission for the guest user must be assigned to the **ACM Guest User** permission set so your guests can access API information.
You can use the API Community Diagnostics or manually set the guest user profile to the **ACM Guest User** permission set.
To manually assign the guest user to the permission set for access to the external objects and Apex classes:
  1. Go to the guest profile and search for the assigned user.
  2. Assign the **ACM Guest User** to the **Community Guest User**.


## Configure Sharing Settings
Configure the settings with one of these options:
  * Configure sharing settings for members and guests automatically using the default settings specified by the **Fix** buttons in the API Community Manager diagnostics user access tab.
  * Configure sharing settings for members and guests manually using custom settings applied in the following steps.


Configure sharing settings for members:
  1. In **Setup** , search for **`Digital Experiences`**using the**Quick Find** box and click **Settings**.
  2. Scroll to **Sharing Sets** and click **New**.
  3. In the **Sharing Set Edit** section, update **Label** with `_Site Name_ Sharing Set`.
  4. In the **Select Profiles** section, select **_Site Name_ Member User** from **Available Profiles** and add it to **Selected Profiles**.
  5. In the **Select Objects** section, select **CommunityApi** and **CommunityAssetVersion** from **Available Objects** and add them to **Selected Objects**.
  6. In the **Configure Access** section, under the **Action** column, select **Set Up** next to **CommunityApi**.
  7. In the **Access Mapping for CommunityApi** page enter these values.
    1. **Account** in the **User** list.
    2. **acm_pkg__Account_c** in the **Target CommunityApi** list.
    3. **Read Only** in the **Access Level** list.
  8. Click **Update**.
  9. In the **Configure Access** section, under the **Action** column, select **Set Up** next to **CommunityAssetVersion**.
  10. In the **Access Mapping for CommunityAssetVersion** page enter these values.
    1. **Account** in the **User** list.
    2. **acm_pkg__Account_c** in the **Target CommunityAssetVersion** list.
    3. **Read Only** in the **Access Level** list.
  11. Click **Update**.
  12. Click **Save**.


Configure sharing settings for guests:
  1. In **Setup** , search for **Security** using the **Quick Find** box and click **Sharing Settings**.
  2. Scroll to the **CommunityApi Sharing Rules** section near the bottom of the page and click **New**.
  3. In the **Rule Name** section, update **Label** with `_Site Name_ Guest`.
  4. In the **Select your rule type** section, select `Guest user access, based on criteria`.
  5. In the **Select which records to be shared** section, add these criteria.
    1. **Field** : `Community Name` **Operator** : `equals` **Value** : `_Site Name_`
    2. **Field** : `Visibility` **Operator** : `equals` **Value** : `Public`
  6. In **Select the users to share with** , select `_Site Name_ Site Guest User`.
  7. In **Select the level of access for the users** , select **Read Only**.
  8. Save.
  9. In **Setup** , search for **Security** using the **Quick Find** box and click **Sharing Settings**.
  10. Scroll to the **CommunityAssetVersions Sharing Rules** section near the bottom of the page and click **New**.
  11. In the **Rule Name** section, update **Label** with `_Site Name_ Guest`.
  12. In the **Select your rule type** section, select `Guest user access, based on criteria`.
    1. **Field** : `Community Name` **Operator** : `equals` **Value** : `_Site Name_`
    2. **Field** : `Visibility` **Operator** : `equals` **Value** : `Public`
  13. In **Select the users to share with** , select `_Site Name_ Site Guest User`.
  14. In **Select the level of access for the users** , select **Read Only**.
  15. Save.


If you ever change the name of your site, be sure to update this setting.   
---  
## Enable Guest User Registration as Members
These steps enable guests to register as members in your API Community Manager portal.
Configure the settings with one of these options:
  * Configure user registration automatically using the default settings specified by the **Fix** buttons in the API Community Manager diagnostics user access tab.
  * Configure user registration manually using custom settings applied in the following steps.


Assign a profile for your community members:
  1. In the API Community Manager control panel, open **Community Administration** and navigate to the **Members** section in the left panel.
  2. In the **Select Profiles** section, in the **Search** list, click **All**.
  3. Use the **Add** button to add **_Site Name_ Member User** to the **Selected Profiles** box.
  4. Click **Save**.


Do not **Remove** the **System Administrator** profile from the **Selected Profiles** section. If you remove the **System Administrator** profile you will lose all access to your community.   
---  
Create an account for your community members:
  1. Navigate to **App Launcher** and click **Accounts**.
  2. Click **New** to create a new account.
  3. Select the record type **Company** and click **Next**.
  4. Enter `ACM Registered Users` in **Account Name**.
  5. Click **Save**.


Configure a registration page for your community members. The self-registration Lightning component enables guest users to register themselves as members of your community. If you’re not using any of the templates supplied with API Community Manager, use these steps to add the self-registration Lightning component specific to API Community Manager:
  1. In the API Community Manager control panel, open **Community Builder**.
  2. In the **Pages** list in the top left, navigate to the **Register** page.
  3. Remove the standard **Self Registration** Lightning component by clicking the delete icon next to it.
  4. Navigate to **Components** , search for **Self Register** and add the Lightning component to the page.


Configure a login page:
  1. In the API Community Manager control panel, open **Community Administration** and navigate to the **Login & Registration** section in the left panel.
  2. Scroll down to the **Registration Page Configuration** section near the bottom of the page.
    1. Select **Allow customers and partners to self-register**.
    2. Select **Experience Builder Page** for **Registration Page Type** and click **Register**.
    3. Select **_Site Name_ Member User** in **Profile**.
    4. Select **ACM Registered Users Account** in **Account**.
  3. Click **Save**.
Configure a registration page for your community members. The self-registration Lightning component enables guest users to register themselves as members of your community. If you’re not using any of the templates supplied with API Community Manager, use these steps to add the self-registration Lightning component specific to API Community Manager:
  1. In the API Community Manager control panel, open **Community Builder**.
  2. In the **Pages** list in the top left, navigate to the **Register** page.
  3. Remove the standard **Self Registration** Lightning component by clicking the delete icon next to it.
  4. Navigate to **Components** , search for **Self Register** and add the Lightning component to the page.


Configure a login page:
  1. In the API Community Manager control panel, open **Community Administration** and navigate to the **Login & Registration** section in the left panel.
  2. Scroll down to the **Registration Page Configuration** section near the bottom of the page.
    1. Select **Allow customers and partners to self-register**.
    2. Select **Experience Builder Page** for **Registration Page Type** and click **Register**.
    3. Select **_Site Name_ Member User** in **Profile**.
    4. Select **ACM Registered Users Account** in **Account**.
  3. Click **Save**.


Refer to Brand and Customize Your API Community to understand how to configure the look and feel of your login and registration pages.   
---  
## Optionally Set Up an Admin Approval Process for Creating New Users
Use these steps to set an optional approval process for self-registered users. The system will then require administrator approval before creating member accounts. If the request is approved, the new user account is created, a welcome email is sent to the new user, and the user sets a password and logs in to the community.
If you don’t configure an approval process, self-registered users will become members automatically when they register.
Create the approval process:
  1. In **Setup** , search for **Approval Processes** in the **Quick Find** box and click **Approval Processes**.
  2. In the **Manage Approval Processes For** list, select **Self Register User Request**.
  3. In the **Create New Approval Process** list, select **Use Standard Setup Wizard**.
  4. In the wizard, enter this information.
    1. In **Step 1. Enter Name and Description** , set **Process Name** to `Approve Registration`.
    2. Click **Next**.
    3. In **Step 2. Specify Entry Criteria** , enter this information.
      1. **Field** : `SelfRegisterUserRequest: Approved`
      2. **Operator** : `equals`
      3. **Value** : `False`
    4. Click **Next**.
    5. In **Step 3. Specify Approver Field and Record Editability Properties** , in the **Record Editability Properties** section, select **Administrators ONLY can edit records during the approval process**.
    6. Click **Next**.
    7. In **Step 4. Select Notification Templates** , in the **Approval Assignment Email Template** section, in the look-up dialog, under the **ACM** category, select **Registration Request**.
    8. Click **Next**.
    9. In **Step 5. Select Fields to Display on Approval Page Layout** :
      1. Add **Self Register User Request Name** and **Owner** to **Selected Fields**.
      2. Select the **Display approval history information in addition to the fields selected above** check box.
    10. Click **Next**.
    11. In **Step 6. Specify Initial Submitters** , add **Self Register User Request Owner** to the **Allowed Submitters** column.
    12. Click **Save** and continue to the next section.


Create an approval step:
  1. If you are prompted to add an approval step, click **Yes, I’d like to create an approval step now** and click **Go!**.
  2. If you are not prompted to add an approval step:
    1. In **Setup** , search for **Approval Processes** in the **Quick Find** box and click **Approval Processes**.
    2. Click **Approve Registration** (the approval that you created in the previous section).
    3. In the **Approval Steps** section, click **New Approval Step**.
  3. In the **Step 1. Enter Name and Description** section, enter `Step 1` in **Name**.
  4. Click **Next**.
  5. In the **Step 2. Specify Step Criteria** section, click **Next**.
  6. In the **Step 3. Select Assigned Approver** section, select **Let the submitter choose the approver manually**.
  7. Click **Save**.


Create a final approval action:
  1. If you are prompted to add an Approval Action, click **Yes, I’d like to create an approval action for this step now** , select **Field Update** in the list, and click **Go!**.
  2. If you are not prompted to add an Approval Action:
    1. In **Setup** , search for **Approval Processes** in the **Quick Find** box and click **Approval Processes**.
    2. On the **Self Register User Request: Approve Registration** page, navigate to **Final Approval Actions** and click **Add New**.
    3. Click **Field Update**.
  3. In the **Field Update Edit** section, enter these values.
    1. **Name** : `Create User`
    2. **Field to update** : `Approved`
    3. **Re-evaluate Workflow Rules after Field Change** : Select the check box.
    4. **Checkbox Options** : `True`.
  4. Click **Save**.


Activate the approval process:
  1. On the **Approve Registration** page, click **Activate** and confirm.
  2. In the API Community Manager control panel, open **Community Builder** and click **Settings** > **General**.
  3. In Community Builder, navigate to the **Register** page in the **Pages** list and select the API Community Manager **Self Register** Lightning component.
  4. Ensure that **Approved Registration** is enabled.


## Require Admin Approval for Guest Registration
To prevent the self-registration approval process from automatically approving new users, configure the guest registration to require an admin’s approval.
You must have API Community Manager package 2.24 or later installed to enable this approval process.
To require an admin’s approval for guest registration:
  1. Configure the Builder:
    1. Go to Salesforce > **Setup**.
    2. In the **Quick Find** box enter `All Sites` and select **All Sites**.
    3. On the **Digital Experience** page, click **Builder**.
    4. Click the **Page Properties** drop-down, enter `register` in the **Pages** search box, and select **Register**.
    5. Click the **Self Register** component and select the **Registrations Require Approval** checkbox.
  2. Add the metadata in Salesforce:
    1. Go to Salesforce.
    2. In the **Quick Find** box, enter `custom metadata types` and select **Custom Metadata Types**.
    3. On the **All Custom Metadata Types** page, select **ACM Community Configuration Metadata**.
    4. On the **ACM Community Configuration Metadata** page, click **Manage ACM Configuration Metadata**.
    5. Select a metadata record from the list and click **Edit**.
    6. Select the **RegistrationRequireApproval** checkbox and click **Save**.


If there’s no metadata record listed on the **Manage ACM Configuration Metadata** page:
  1. Click **New** and enter these fields:
     * Label
     * ACM Community Configuration Metadata Name
  2. To get the NetworkID:
    1. Go to the **Builder** > **Settings** and select **Developer** and click **< />Developer Console**.
    2. In the **Query Editor** , enter `Select Name, Id from Network` and click **Execute**.
    3. In **Query Results** , copy the number from the **Id** column and paste it into the **NetworkId** field on the **ACM Community Configuration Metadata** page.
  3. Select the **RegistrationRequireApproval** checkbox and click **Save**.