Community User Access and Permissions
Community users are external users who can access your community. You can assign the required permissions to the community users to access records. For more information, see Salesforce Help.
* 
Note: You need a Community User license to create Community Users.
The following topics are covered with respect to Community Users:
The following steps provide details to create a Community user and also the access and permissions required when using SFM Delivery, FSA, or ServiceMax Go App:
Community User Configuration
1. Go to Salesforce Setup > Search for Communities.
2. Select Community Settings.
3. Select the Enable Community Workplaces check box.
4. Enter the domain name (ex:svmxcommunity) and click Save.
5. Click Community Setup and Administration.
6. Click New Community.
7. Select a template for the community. You can select any template. For example, Customer service.
8. Click Get started.
9. Enter a Name and a URL for the community.
10. Click Create.
Activate the Community User
1. Click Community Setup and Administration.
2. Select the Community User that you created. The Workspaces page is displayed.
3. Click Administration.
4. Click Activate Community and Ok. You will receive a welcome email.
5. Create an account with the name Community in the Accounts tab.
6. On the new Accounts record, click Manage External Account.
Create Contact and Assign a Role to Account Owner
1. Create a new Contact in the Contacts tab by providing the name and title.
2. In the Account field, select the new Account in the previous step and Save.
3. On the new Contact record, click Manage External User > Enable Customer User. The New User page is displayed.
4. Ensure in the Profile field, Customer Community Profile is selected.
5. Enter your email id. You will receive an email notification.
* 
Ensure Account Owner is given a role else the error message "Account Owner should have a role assigned to it" is displayed.
Clone Profile
1. Go to Salesforce Setup > Manage Users > Profiles. The list of profiles is displayed.
2. Click Clone next to Customer Community Profile. The Cloned Profile page is displayed. Note that Standard profiles cannot be edited.
3. Enter a name for the profile. A customer community profile is created.
Assign Community User a Community Profile
1. Create a new user and select User License as Customer Community.
2. Add email, username, title, and Save.
3. Click the Community Account Owner > Edit Profile, and go to My Settings > Advanced User Details > Edit and provide a Role.
4. Click Save.
5. Go to Communities > Workspaces.
6. Assign this profile some permissions.
7. Go to Administration > Members.
8. Assign the cloned Community Profile to the Available list.
9. Go to Setting > Activate Communities.
10. Go to Builder. The Welcome to Community Builder page is displayed.
11. Click on Component and add some tab names.
12. Edit Default Navigation and Add Menu Item.
13. Select Salesforce Object and then select <objectname> and Save. Similarly, add other objects as well.
14. Click Preview to preview the layout.
15. Click the Tabs like Installed Product.
16. Go to Component and drag and drop the SFM Wizard and keep it below the tabs for the wizards to be displayed.
17. Go to ServiceMax Setup > App Administrator > Configuration Profiles > Edit global profile (Module: Common; Submodule: Global Settings) and add values in the following four global settings: GBL039, GBL40, GBL041, and GBL042.
18. Click Back to Builder > Publish to publish the changes. The "published successfully" email is sent.
19. All the global settings have been enabled and values added. This completes the steps for SFM Delivery. Perform additional steps given below for FSA and ServiceMax Go App.
Key Points to Note for Global Setting Values
1. Add JWT Token for API access for VF pages deployed in the community to GBL039.
2. Add any one value based on Sandbox or Production org as JWT Token End Point toGBL040 :
For Sandbox Org: https://test.salesforce.com/services/oauth2/token
OR
For Production Org: https://login.salesforce.com/services/oauth2/token
3. Go to Communities > Community URL, copy the URL, and add to Remote Site URL.
4. Create a Certificate > Self Sign it > Save it. Download this Certificate. Add this certificate name to GBL041.
5. Create Connected App and Enable OAuth Setting and Full Access. Ensure to give Community URL in Callback URL in connected App. Copy Consumer Key of the Connected App and add it to GBL042.
Additional Steps for FSA and ServiceMax Go App
For FSA and ServiceMax Go App, all the above steps are similar. However, there are minimum object and field-level permissions that must be given for the sync to be successful on the mobile apps as detailed in the following steps:
1. Go to the Community Profile.
2. Edit and give permissions.
3. Enable the community when you created it.
4. Enable API Enabled and Apex Rest services.
5. Give permissions for the following Objects and their respective Fields.
Objects
Document
Parts_Pricing__c
Parts_Discount__c
Labor_Pricing__c
Expense_Pricing__c
Mileage_Tiers__c
Zone_Pricing__c
Service_Contract_Services__c
Custom_Coverage__c
Service_Pricebook_Entry__c
Warranty__c
Product2
Account
Site__c
Installed_Product__c
RMA_Shipment_Order__c
Product2
Service_Order_Line__c
Service_Order__c
SM_Checklist_Attachment__c
SM_Checklist_Result__c
QB_Response_Options__c
Objects and their Fields
Object API Name: ServiceMax_Processes__c
Field API Names:
Id
Name
RecordTypeId
LastModifiedDate
ProcessID__c
Name__c
Description__c
Rule_Type__c
Page_Layout__c
Dispatch_Process_Status__c
Purpose__c
IsPrivate__c
Process2__c
Doc_Template__c
Sub_Process_Source_Field__c
Enable_Sub_Process__c
SM_Run_Targeted_Sync__c
SM_Include_Skipped_Sections__c
SM_Enable_Version_Control__c
Type__c
Process__c
Target_Object_label__c
Module__c
Submodule__c
Source_Object_Name__c
Final_Exception_Process__c
Node_Source_Object_API__c
Values__c
Node_Parent__c
Type__c
Node_Parent_API__c
Sequence__c
Parent_Object__c
Parent_Column_Name__c
Doc_Template_Details__c
Enable_Attachment__c
Process1__c
Active__c
Description__c
Parent_Error_Msg__c
Process3__c
SM_Section__c
SM_Target_Section__c
Advance_Expression__c
Message_Type__c
Purpose__c
SM_Checklist_Version__c
Target_Object_Name__c
Parent_Object_Criteria__c
Field_Name__c
Name_Field__c
Object_Key_Prefix__c
Action_Type__c
Handover__c
Mode_Of_Execution__c
Enable_Confirmation_Dialog__c
Select_Template_At_Runtime__c
Confirmation_Message__c
Submodule__c
Target_Record_Type__c
IsStandard__c
Number_of_Lookup_Records__c
Default_Lookup_Column__c
Default_On__c
Allow_Override__c
Custom_Action_Type__c
Open_As_Full_Window__c
Target_Type__c
Window_Height__c
Window_Width__c
Target_URL__c
Show_Scrollbars__c
Service_Namespace__c
Service_Class_Name__c
Service_Method_Name__c
SM_Schema_Name__c
SM_Path__c
SM_Include_Object_Data_Set__c
Action_URL__c
Object API Name: ServiceMax_Config_Data__c
Field API Names:
Id
RecordTypeId
LastModifiedDate
Configuration_Type__c
Dispatch_Process__c
Action__c
Source_Field_Name__c
Target_Field_Name__c
Display_Value__c
MapID__c
Setting_ID__c
Object_Name__c
SM_Question__c
Expression_Rule__c
Expression_Type__c
Sequence__c
Field_Name__c
Operator__c
Operand__c
Display_Type__c
Object_Name2__c
FKey_Name_Field__c
Field_Relationship_Name__c
Search_Object_Field_Type__c
Lookup_Field_API_Name__c
Is_Name_Field__c
Sort_Order__c
Wizard_Layout_Column__c
Wizard_Layout_Row__c
Preference_2__c
Preference_3__c
IsDefault__c
Parameter_Type__c
Formula__c
Action_Type__c
Description__c
Parameter_Name__c
Parameter_Type__c
Parameter_Value__c
SM_Device_Mobile_Config__c
Internal_Value__c
Access_Configuration_Profile__c
RecordType_Name__c
Ownership_Type__c
Profile_Name__c
SM_Files_Config__c
Object API Name: Page_Layout__c
Field API Names:
Id
Type__c
Page_Layout_ID__c
Name__c
Header_Page_Layout__c
Object_Name__c
Type__c
Action_On_Zero_Lines__c
Allow_Delete_Lines__c
Allow_New_Lines__c
Multi_Add_Search_Field__c
Multi_Add_Search_Object__c
Hide_Quick_Save__c
Hide_Save__c
Help_URL__c
Page_Help__c
Show_All_Sections_By_Default__c
Sequence__c
Page_Layout_ID__c
Multi_Add_Configuration__c
Action_On_Zero_Lines__c
Object API Name: Page_Layout__cField API Names:
Id
Type__c
Page_Layout_ID__c
Name__c
Header_Page_Layout__c
Object_Name__c
Type__c
Action_On_Zero_Lines__c
Allow_Delete_Lines__c
Allow_New_Lines__c
Multi_Add_Search_Field__c
Multi_Add_Search_Object__c
Hide_Quick_Save__c
Hide_Save__c
Help_URL__c
Page_Help__c
Show_All_Sections_By_Default__c
Sequence__c
Page_Layout_ID__c
Multi_Add_Configuration__c
Action_On_Zero_Lines__c
Object API Name: Page_Layout_Detail__cField API Names:
Id
Name
Page_Layout__c
Detail_Type__c
SM_Description__c
SM_Help_URL__c
Use_For_SLA_Clock__c
Page_Layout_Detail_Id__c
DataType__c
Display_Column__c
No_Of_Columns__c
Display_Row__c
Sequence__c
Title__c
Field_API_Name__c
Related_Object_Name__c
Related_Object_Name_Field__c
Show_In_Web__c
Show_In_iPad__c
Section__c
Control_Type__c
Field_Mapping__c
Lookup_Context__c
Lookup_Query_Field__c
Override_Related_Lookup__c
Named_Search__c
Related_Object_Name__c
Related_Object_Name_Field__c
Context_Source_Object__c
SM_Checklist_Source_Field_API_Name__c
Readonly__c
Required__c
Question__c
Object API Name: Doc_Template__cField API Names:
Id
Template_Id__c
Name__c
Media_Resources__c
Object API Name: Doc_Template_Details__cField API Names:
Id
Doc_Template__c
Alias__c
Doc_Template_Detail_Id__c
Header_Reference_Field__c
Object_Name__c
Fields__c
SOQL__c
Type__c
Object API Name: SFM_Event__cField API Names:
Id
Page_Layout_Detail__c
Event_Id__c
Event_Type__c
Page_Layout__c
Page_Layout_Detail__c
Event_Call_Type__c
Target_Call__c
Code_Snippet__c
Object API Name: ServiceMax_Tags__cField API Names:
Id
Tag_Key__c
Tag_Text__c
Tag_Value__c
Language__c
Object API Name: Code_Snippet__cField API Names:
Id
SnippetId__c
Object API Name: Code_Snippet_Manifest__cField API Names:
Id
Code_Snippet__c
Referenced_Code_Snippet__c
Object API Name: Question_Bank__cField API Names:
QuestionID__c
Object API Name: SM_Device_Mobile_Config__cField API Names:
Id
SM_Device_Type__c
SM_IsDefault__c
SM_Access_Configuration_Profile__c
Object API Name: Service_Group_Members__cField API Names:
Id
Salesforce_User__c
Object API Name: RecordtypeField API Names:
Id
Name
SobjectType
DeveloperName
Object API Name: EventField API Names:
Id
WhatId
StartDateTime
EndDateTime
LastModifiedDate
Object API Name: SVMX_Event__cField API Names:
Id
WhatId__c
Technician__c
StartDateTime__c
EndDateTime__c
LastModifiedDate
Object API Name: SM_SFA_Process__cField API Names:
Id
SM_Enabled__c
SM_SFA_Process_Name__c
SM_SFA_Process_Id__c
SM_Description__c
SM_Enabled__c
SM_Object_API_Name__c
SM_Expression__c
SM_Event_Type__c
SM_Action_Type__c
SM_SFM_Process_Name__c
SM_SVMX_Group_Profile__c
SM_SFA_Event_JSON__c
SM_SFA_Action_JSON__c
LastModifiedDate
Object API Name: Checklist__cField API Names:
Id
ChecklistMetaJSON__c
ChecklistJSON__c
SM_Sequence__c
SM_Checklist_Group_Id__c
Status__c
Account__c
ChecklistProcessID__c
Installed_Product__c
Location__c
SM_Parts_Order__c
SM_Product__c
What_Id__c
SM_Work_Detail__c
Work_Order__c
Object API Name: SM_Default_Checklist_Response__cField API Names:
Id
SM_Question__c
SM_Default_Response__c
SM_Is_literal_Used__c
SM_Question__c
Object API Name: Question_Bank__cField API Names:
Id
QuestionID__c
Help_URL__c
Length__c
Precision__c
Question__c
QuestionJSON__c
Response_Set__c
Scale__c
Response_Type__c
Short_Name__c
SM_Description_Required__c
SM_Show_In_Smart_Doc__c
Object API Name: QB_Response_Set__cField API Names:
Id
Response_Set_Values__c
Object API Name: Entitlement_History__cField API Names:
Id
Service_Order__c
Work_Detail__c
Inactive_Date__c
Warranty__c
Service_Contract__c
Object API: Service_Contract__cField API Names:
Default_Parts_Price_Book__c
Service_Pricebook__c
Object API Name: Pricing_Rule__cField API Names:
Id
Named_Expression__c
Object API Name: Travel_Policy__cField API Names:
Id
Named_Expression__c
Object API Name: PriceBook2Field API Names:
Id
Product2Id
IsActive
Pricebook2Id
Object API Name: PriceBookEntryField API Names:
Product2Id
Object API Name: Service_Pricebook__cField API Names:
Id
Activity_Type__c
Price_Book__c
Was this helpful?