Configure Integration User permissions

Updated at:

The Integration User is the identity used by the CXG backend to sync data to the Salesforce Platform. It is also the default system user that calls the Salesforce Platform API. The Integration User needs Create, Read, Update, and Delete (CRUD) permissions for data to enable CXG features. An administrator must create this user manually. After creation, you must assign the CXG Integration User permission set and other manually created permission sets to the user.

This step is part of the CXG Quick Setup automated configuration flow. Skip this step if it is already configured. If the integration user is already added in another CXG integrated application, you can skip creating a new one and use the existing integration user.

Prerequisites

  1. The package is installed in your Salesforce organization.

  2. Go to Setup > Permission Sets and verify that the following permission set is available:

    • CXG Integration User

Create an Integration User

Procedure

  1. Log on to the Salesforce Platform and go to Setup > Users > New.

    • a. For Last Name, enter a name. We recommend `CXG Automated`.

    • b. For Alias, enter a short name. We recommend `CXG`.

    • c. For Email, enter the user's email address.

    • d. For Username, enter a unique username.

    • e. For Nickname, enter a nickname or use the default value.

    • f. For User License, select Salesforce Integration.

    • g. For Profile, select Salesforce API Only System Integrations.

  2. Save the new user.

  3. On the user details page, click Permission Set Assignment > Edit Assignment and select the CXG Integration User permission set.

  4. Save your changes.

Assign permissions for standard objects, applications, and query configurations to the Integration User

Note: Permissions for standard objects, applications, and query configurations cannot be included in the installation package. Therefore, an administrator must configure these permissions manually. The Integration User requires these permissions to perform predefined CXG functions. The administrator must create a new permission set with these permissions and assign it to the Integration User.

The permission set that you need to create is named CXG Integration User Setup Access.

Procedure

  1. Log on to the Salesforce Platform and go to Setup > Permission Sets > New.

    • a. For Label, enter a name for the Permission Set. We recommend `CXG Integration User Setup Access`.

    • b. For API Name, use the default value.

    • c. For Description, enter a description.

    • d. For License, select Salesforce API Integration.

  2. Save the settings. You are redirected to the Permission Set details page.

  3. Click App Permissions > Edit. Under Flow and Flow Orchestration, check Run Flows and click Save.

  4. Save the settings. You are redirected to the Permission Set details page.

  5. Click System Permissions > Edit. Under System, check Access Activities and Edit Events.

  6. Click System Permissions > Edit. Under System, check View Setup and Configuration. The system automatically checks View Roles and Role Hierarchy. Click Save.

  7. Save the settings. You are redirected to the Permission Set details page.

  8. Click Object Settings > Cases > Edit. Under Object Permissions, check Read, Create, Edit, and View All. Click Save.

    • a. Click Edit. Under Field Permissions, find Case Origin and check Edit Access. Click Save.

  9. Click Object Settings > Contacts > Edit. Under Object Permissions, check Read, Create, Edit, and View All. Click Save.

  10. Click Object Settings > Leads > Edit. Under Object Permissions, check Read, Create, Edit, and View All. Click Save.

  11. Click Object Settings > Quick Text > Edit. Under Object Permissions, check Read, Create, Edit, and View All. Click Save.

  12. Click Object Settings > User External Credentials > Edit. Under Object Permissions, check Read. Click Save.

  13. Click Manage Assignment > Add Assignment and check Integration User (CXG Automated).

  14. Save your changes.

Configure sharing settings

I. For standard objects

For security purposes, the permission sets designed for this product do not include the Modify All permission. This means that if you transfer the ownership of a record created by the Integration User, the product integration might lose edit permissions for that record. This behavior depends on your organization's sharing settings for that standard object and can cause errors. To prevent issues when changing record ownership, consider these solutions:

  1. Create a role hierarchy and place the Integration User in a high-level role. This ensures that the user always has permissions for records owned by users in roles below it in the hierarchy. For more information, see Salesforce Roles and Hierarchies.

  2. Create sharing rules to change the sharing settings for specific objects. For more information, see Salesforce Sharing Rules.

II. For custom objects

The default sharing settings for all custom objects in the social integration product are:

  • Default Internal Access: Public Read/Write

  • Default External Access: Private

  • Grant Access Using Hierarchies: Yes

If you change the sharing rules for a custom object, for example, by setting its Organization-Wide Default to Private to control access between users, you must also create a role hierarchy. This ensures that the Integration User always has the necessary permissions for the custom object, which prevents errors. Alternatively, you can manually create a permission set that includes the Modify All permission for a specific custom object and assign it to the Integration User. Because the Integration User creates all custom object records for this product, this method does not compromise your organization's security.

III. Granting CRM users access to records created by CXG

The social integration product creates records for several objects in your organization. If you have strict Organization-Wide Default settings, you may need to create new sharing rules to grant CRM users access to the object records created by CXG.

The social integration product creates records for the following objects:

  1. All CXG custom objects

  2. Case

  3. ContentDocument (does not require a separate sharing rule)

  4. FeedItem (does not require a separate sharing rule)

For the Case object, you must configure sharing rules according to your organization's requirements.

Configuration example:
If your organization's Organization-Wide Default (OWD) for Cases is set to Private, but WeChat integration users need to access Case records created by CXG, you can create a group. For example, you can create a group named `CXG WeChat Cases Users`. Add all users who need access to the WeChat integration Case records and the `CXG Automated` user to the `CXG WeChat Case Users` group. Then, create a group-based sharing rule for Cases. For more information, see Create Sharing Rules based on Group Membership.

This example is for reference only and shows how to use sharing rules to manage record permissions. It is not the only solution, nor is it a required configuration. The actual implementation depends on your organization's specific needs.