Salesforce gives organizations the ability to open Chatter to an external audience too. Chatter Customer Group represent a group of users (internal plus customers). It’s a great way to collaborate with your customers and has all the posts and files contained in your Salesforce org. You can have multiple Chatter groups based on Customer Type, geography or a single Chatter group to collaborate with your customers. Customers have limited Chatter access and can only see the groups they’re invited to and interact with members of those groups. In this blog, I would like to explain step-by-step instructions to auto invite your customers to collaborate using Chatter. Let’s start with a business use case.
Business Use Case
Pamela Kline is working as System administrator at Universal Containers (UC). She has received a requirement to auto invite new contacts to Private Chatter Group Universal Container Customers.
Solution for the above business requirement
There are a few possible solutions for the above business scenario, but I’ll use Process Builder and Flow to solve it. Before proceeding you have to understand CollaborationInvitation objects in Salesforce.
CollaborationInvitation: – This object represents an invitation to join Chatter, either directly or through a group.
|InvitedUserEmail||The email address for the user invited to join Chatter.|
|SharedEntityId||ID of the user or group associated with this invitation. To invite a customer, set SharedEntityId to the ID of the private CollaborationGroup with Allow Customers turned on.
Follow the below instructions to solve the above business requirement
1. First of all, create a Chatter Group Universal Container Customers, set the group access to Private and also enable Allow Customers.
2. Now grant Invite Customers To Chatter system permissions on the profiles.
3. The next step is to create a Flow. To do this click on Name | Setup | App Setup | Create | Workflows & Approvals | Flows
4. Click on New Flow, it will open the Flow canvas for you. Now create a Text variable VarT_EmailAddress to store the customer’s email address (we will pass the email address through Process Builder).
5. The next step is to invite customers to Chatter, for this we will use Record Create element. To do this drag-and-drop Record Create element (Enter the name Invite Customers to Chatter) onto the canvas and map the fields according to the following screenshot
Finally, your Flow will look like the following screenshot
6. Save your flow with name Invite Customers to Chatter and close the canvas. Don’t forget to Activate the Flow.
Launch a Flow from Process Builder
Our next task is to create a Process Builder on the Contact object to launch a Flow. To create a Process Builder on the Contact object follow the below instructions
1. Click on Name | Setup | App Setup | Create | Workflows & Approvals | Process Builder and click on the New button, Enter Name, API Name and then click on the Save button.
2. The next step is to add entry criteria. For this click on Add Object, select Contact object and for the entry criteria, Select only when a record is created, as shown in the below screenshot, once you are done click on the Save button.
3. The next task is to add Process Criteria, To do this click on Add Criteria, enter Name, Type of action and set filter conditions (In this case set [Contact].Email Is null False, as shown in the following screenshot.
4. The next step is to add an Immediate action to Process. Click on Add Action (Under Immediate actions), Select the type of action to create (In our case Flows), and then fill out the fields to define the action, as shown in the following screenshot
5. Once you are done, click on the Save button, it will redirect you to Process canvas. Finally, the Process will look like the following screenshot
Don’t forget to active the Process by clicking on the Activate button.
It’s time to test this feature
1) First of all login from another user account. Currently, I logged-In as user Tushar Gupta’s (Profile: – Sales Reps EMEA) account. Now create a new contact as shown in the following screenshot
Note: – I will suggest you to implement this first on your developer org, test it and then move it to production.