This article elaborates on the steps needed to configure the Social25 package. We assume that the user that will do this has the following:
the Social25 Admin Permission Set
the necessary Salesforce permissions to:
create Salesforce users
create and assign Permission Sets
create a Connected App
assign Managed Package licenses
Create an Integration User
Always use a dedicated API user for access to Social25. This is crucial as Salesforce is rolling out 2FA.
Create a user with a Salesforce user license and Standard User profile. Make sure the user has both a First name and Last name (e.g. 'Integration Social25')
Reset the user's security token. It's easiest to do this in an anonymous browser, so you don't have to log out with your current user. You will need the security token in a later step so don't delete the email
Create an 'API user' Permission Set with the following permissions:
Api Only User (only available in Enterprise Edition)
Password Never Expires
Under Object Settings > Case
Read and Edit access on the Account Name field and Contact Name field on the Case object (if you use the OOTB Social25 trigger for Case creation)
Under OAuth Policies, make sure Admin approved users are pre-authorized
Scroll down to the Permission Sets related list and add the Social25 Access Permission Set that you created earlier
Contact the Social25 team
After setting up the connected app, please provide the Social25 team with the following information. You can send this via email to email@example.com. After getting confirmation that your tenant has been setup in Heroku, you can proceed to the next section
The 18 digit organisation ID of your Salesforce instance.
Please note that it has to be the 18 digit organisation ID, not the 15 digit id. You can use this tool to convert the id.
Yes / No
The My Domain URL of your Salesforce instance, if applicable
Integration User Salesforce Account
The username of the integration user. Make sure this user has a First and Last name
The password of the integration user (preferably this password does not expire). Please use thistool to share this and set expiration to a week
The integration user's security token. Please use thistool to share this and set expiration to a week
You don't have to provide anything here but make sure that the user has:
a Social25 license
the Social25 Admin permission set
the API user permission set you created
the Social25 Access permissions set you created
In Setup, go to AppManager. Click on the arrow next to the Connected App you created earlier and select View. The Consumer Key is located under API (Enable OAuth Settings)
In Setup, go to AppManager. Click on the arrow next to the Connected App you created earlier and select View. The Consumer Secret is located under API (Enable OAuth Settings). Please use thistool to share this and set expiration to a week
If you are using a development or acceptance environment as well make sure to provide the credentials above multiple times for every instance that needs to be connected.
** Since the Social25 API utilises the Salesforce API it's highly recommended to set the disable the password expiration for these accounts
Create a Social25 Config
Please only proceed with this step once the Social25 team has confirmed that a tenant was created with the previously provided information.
Every Social25 installation needs at least one Social25 Config record with an active configuration. In this section we will discuss all option available in the Social25 Config and what you can do with these settings
Make sure you are in the Social25 app and have selected the Social25 Configs tab
Navigate to the All list view to check for any existing configurations
Select an existing record if needed, or click New to create a new one
Edit the information according to the following table
Every Social25 installation needs at least one active configuration to work properly
This is the name of the Social25 configuration and is only used for easy identification
Specify the information as defined in the screenshot below:
The Connected App you want to use
Select the environment you use. This setting points to the 'Herokuapp_Environments' custom metadata type. This type contains three predefined environments: Production, Acceptance and Dev
The Consumer Secret of your Connnected App
Make sure you have pressed Save before proceeding
After filling in field 1, 2 and 3, hit the Get TenantId button. This will fill the Tenant Id
If your organisation uses the SalesforceSocial Persona object -which comes with Salesforce Social Customer Service-, Social25 will use this object to create Social Personas. In order to do relate these Salesforce Social Personas to Heroku Messages, create a lookup on the Social25 Heroku Message object to the Salesforce Social Persona object and specify it in this field. If you do not have the standard Salesforce Social Persona object, Social25 will use its own Social25 Persona object to capture social profiles and will hide this field from the configuration page.
If you expect to use more than 200.000 SocialPersona records, please index the ExternalId field on the SocialPersona object by raising a case with Salesforce Support
Specify which object you want to use the Social25 chat canvas on. When a new message comes in, a record of this type will be created to which the conversation will be associated. Selecting None will only insert Social25__Heroku_Message__c records for each inbound/outbound message, allowing you to build any logic around this as fit.
LEAD / CASE / OPPORTUNITY LINKING SETTINGS
Specify settings specific to Leads, Cases or Opportunities. Also set a default value for any required fields.
When Reopen Case By Incoming Message is enabled be aware that this functionality only works after 1 minute of closing the case
Specify Account and Contact specific settings and required fields
If you decide to utilise your own trigger logic, make sure to use None in the LINK OPTIONS
Assign Social25 Licenses and Permission Sets
In order for users to use Social25, they will need the correct license and permission sets. Licenses are not required in a sandbox, so skip steps 2-4 when working in a sandbox.
Go to Setup
Go to Installed Packages
Click Manage Licenses next to Social25
Assign licenses accordingly
Go to Permission Sets
Assign the Social25User and Social25Access permission set accordingly
The Heroku Message object is used for all inbound and outbound messages created on the Social25 platform. The only event on this object is the creation of new records. Records are never updated by the Social25 Heroku application. If you're developing custom triggers that trigger if a new message is received make sure to activate your trigger for this object. New incoming messages can be recognised by the Social25__Outbound__c field. A complete ERD of the Social25 package can be found on the Social25 Salesforce Sync page.
Social25 chat window
The Lightning Component is only available in Salesforce Lightning Experience
You can set up the Lightning Component as follows: