Profile/Permissions
A Salesforce user has permissions on what objects, fields and capabilities they have access to. When signing into a Salesforce org with a Profile with limited permissions (such as a user with a Mobile Only Profile and not a Power User Profile), the Profile will need at least the following Salesforce Profile Settings enabled:
Profile > Administrative Permissions >
Make sure these settings are enabled on Administrative Permissions:
- API Enabled
- Needed for using REST API and Tooling API (for field sets) through the REST API.
- When not enabled, can get error like:
API_CURRENTLY_DISABLED: API is disabled for this User
- View Roles and Role Hierarchy
- Required by View Setup and Configuration
- View Setup and Configuration
- For /limits API to see users requests used and amount available.
- When not enabled, are error like
API_DISABED_FOR_ORG: limits resource is not enabled
will happen.
Profile > Apex Class Access >
- To Enable Apex Classes for a Profile:
- Navigate to Setup > Users > Click on the Profile you are using
- Edit the "Enabled Apex Class Access" section
- Move applicable Apex Classes to the Enabled column
i360 Classic Custom Object Permissions
Most the objects the user already has access to. However, there are few that are setting in particular that may not be enabled.
Custom Object | Read | Create | Edit | Delete | View All | Modify All |
Appointment |
✅
|
✅ | ✅ | |||
Interests |
✅
|
✅ | ✅ | ✅ | ✅ | ✅ |
Marketing Opportunities | ✅ | ✅ | ||||
Products | ✅ | ✅ | ||||
Projects | ✅ | |||||
Project Activities | ✅ | ✅ | ||||
Prospects | ✅ | |||||
Quotes | ✅ | ✅ | ✅ | |||
Quote Items | ✅ | ✅ | ✅ | ✅ | ||
Quote Templates | ✅ | |||||
Quote Template Items | ✅ | |||||
Receipt / Adjustment | ✅ | ✅ | ✅ | |||
Sales | ✅ | ✅ | ✅ | |||
Sale Items | ✅ | ✅ | ✅ | |||
Staff | ✅ | ✅ |
When a user doesn't have access to a required object an error like INVALID_TYPE on query `from i360__Staff__c where i360__User__c`
may happen during synchronization process. In this case INVALID_TYPE
is i360__Staff_c
and the user's Profile will need access to that object.
Lightning Custom Object Permissions
Custom Object | Read | Create | Edit | Delete |
Addresses |
✅
|
|||
Contacts |
✅
|
✅ | ||
Products |
✅
|
|||
Projects |
✅
|
|||
Project Activities |
✅
|
✅ | ||
Quotes |
✅
|
✅ | ✅ | |
Quote Items | ✅ | ✅ | ✅ | ✅ |
Sales | ✅ | ✅ | ||
Sale Items | ✅ | ✅ | ||
Sales Appointments | ✅ | ✅ | ✅ | |
Sales Appointment Opportunities | ✅ | |||
Sales Opportunities | ✅ | |||
Staff | ✅ | |||
Time Blocks | ✅ | ✅ | ✅ |
Field Level Security
INVALID_FIELD: No such column `i360__Comments__c` on entity: `i360__Appointment__c`
, it means the user's Profile needs field level security access to the field. In this case, the user need access to the i360__Comments__c field on the i360__Appointment__c object.Enabled Custom Setting Definitions Access
- i360.Pro.i360.Mobile App
- i360.Pro.i360.Public System Settings
Enabled Apex Class Access
- In order to generate PDF's
- i360.PDFGeneratorREST or will get the following error when generating a PDF for a quote:
- You do not have access to the Apex class named: PDFGeneratorREST.
- In order to collect PaySimple Payments
- i360.PaySimpleMobileCheckoutToken
- i360.PaySimpleMobileCreatePayment
- i360.PaySimpleMobileCustomerPaymentMethods
- i360.PaySimpleMobileCustomerToken
Page Layout Fields
For each of the following objects, we recommend the following fields in the order listed. Not including the field or field level security may cause their values to not show up properly or cause errors. Not having a Related List in the page layout may cause the data to not be completely queried and resulting in partial data retrieval or temporary flickering.
Page Layouts should only have Fields and Related Lists. Anything else in Page Layout may cause synchronization to fail or yield unexpected results. Anything that renders as a Canvas App could cause a Salesforce 500 Internal Server error when access the Page Layout from the REST API.
Created By and Last Modified By fields can be added to Page Layouts buts not Created Date and Last Modified Date. Thus, Created By and Last Modified By fields are only queried when they exist in the Page Layout. Created Date and Last Modified Date are always queried and displayed for all object types. These fields are read-only and are updated by the system automatically upon updating or insertion.
Fields in a Page Layout section called Disabled - Edit will be read only and can't be edited on the standard edit screens. A use case for this is for Appointment Result fields.
Make sure the Profile also has the proper field level security for the field! For example, if the Profile does not have Edit Access to the Sale objects Sold On field, this field will not get set when they result an appointment. This is one of many examples of fields that may not get set properly if the permissions are not setup correctly.
- When a Page Layout has multiple record types, only the master/default record type is used.
- When configuring a field for a Page Layout, only the Display Section Header On values only work for the Detail Page checkbox. The Edit Page checkbox is not used. The Tab-key Order configuration is also not used.
Salesforce Standard Objects
- Tasks
- Events
- Notes & Attachments
- Documents
i360 Classic Objects
Appointments (i360__Appointment__c)
Fields
- i360__Address__c
- i360__Appointment_Status__c
- i360__City__c
- i360__Comments__c
- i360__Components__c
- i360__Components_1__c
- i360__Components_2__c
- i360__Components_3__c
- i360__Computed_Start_DateTime__c
- i360__Computed_End_DateTime__c
- i360__Duration__c (for creating an appointment when resulted as not sold)
- i360__End__c
- i360__Latitude__c
- i360__Lead_Source__c
- i360__Longitude__c
-
i360__Previous_Appointment__c (for creating a follow up appointment, subsequent appointment)
- i360__Price_Given_1__c
- i360__Price_Given_2__c
- i360__Price_Given_3__c
- i360__Prospect__c (needed or referenced Prospects fields in Document Templates will not render on Quotes)
- i360__Quoted_Amount__c (needed for when resulting as sold)
- i360__Result__c
- i360__Result_1__c
- i360__Result_2__c
- i360__Result_3__c
- i360__Result_Detail__c
- i360__Result_Detail_1__c
- i360__Result_Detail_2__c
- i360__Result_Detail_3__c
- i360__Sales_Rep_1__c
- i360__Sales_Rep_2__c
- i360__Send_Email_On_Setup__c
- Labeled as "Email Appt. Confirmation to Prospect" (for Creating an appointment when resulted as not sold)
- i360__Start__c
- i360__Start_Time__c
- i360__State__c
- i360__Type__c
- i360__Zip__c
Related Lists
- i360__Quote__c
- i360__Sale__c
- Notes & Attachments
Marketing Opportunities (i360__Marketing_Task__c)
Fields
-
i360__Comments__c
-
i360__Lead_Source__c
- i360__Type__c
-
i360__Type_Details__c
Products (i360__Product__c)
Fields
- i360__Active__c (only active products are queried)
- i360__Component__c
-
i360__Configuration__c
-
i360__Model_Number__c
-
i360__Price__c
-
i360__Product_Description__c
-
i360__Taxable__c
- i360__Unit_Of_Measure__c
-
i360__Use_Custom_Price_Formula__c
-
i360__Vendor__c
Related Lists
- Notes & Attachments
Projects (i360__Project__c)
Fields
- i360__Prospect__c
- i360__Sold_Price__c
- i360__Sale__r.i360__Appointment__c (gets all Projects for the Appointment viewing for the related Sale)
Related Lists
- None
Project Activities (i360__Project_Activities__c)
Fields
- i360__Appointment_Address__c
- i360__Appointment_City__c
- i360__Appointment_State__c
- i360__Appointment_Zip__c
- i360__Appointment_Latitude__c
- i360__Appointment_Longitude__c
- i360__Assigned_To__c
- i360__Completed__c
- i360__Due__c
- i360__End__c
- i360__IsAllDay__c
- i360__Project__c
- i360__Start__c
- i360__Step__c (Line Number)
Related Lists
- None
Prospects (i360__Prospect__c)
Fields
- i360__Correspondence_Name__c
- i360__Home_Address__c
- i360__Home_City__c
- i360__Home_State__c
- i360__Home_Zip_Postal_Code__c
- i360__Comments__c
- i360__PaySimple_Account_Id__c (for stored payment methods)
- i360__PaySimple_Customer_Id__c (for stored payment methods)
- i360__Prospect_State__c
- i360__Primary_Email__c
- i360__Phone_1__c
- i360__Phone_2__c
- i360__Phone_3__c
Related Lists
- i360__Appointment__c
- i360__Sale__c
- Notes & Attachments
Quotes (i360__Quote__c)
Fields
- i360__Appointment__c
- i360__Calculated_Sub_Total__c
- i360__Calculated_Tax__c
- i360__Calculated_Total__c
- i360__Description__c
- i360__Prospect__c (needed or referenced Prospects fields in Document Templates will not render)
- i360__Quote_Number__c
-
i360__Sales_Tax_Rate__c
-
i360__Sales_Tax__c
- i360__Status__c
- i360__Valid_Until__c
Related Lists
- i360__Quote_Item__c
- Notes & Attachments
Quote Items (i360__Quote_Item__c)
Fields
- i360__Calculated_Item_Total__c
- i360__Component__c
- i360__Configuration__c
- i360__Configuration_JSON__c
- i360__Description__c
- i360__Line__c
- i360__Model_Number__c
- i360__Product__c
- i360__Quantity__c
- i360__Quote__c
- i360__Taxable__c
- i360__Units__c
- i360__Unit_Price__c
Sales (i360__Sale__c)
Fields
- i360__Appointment__c
- i360__Balance_Due__c
- i360__Comments__c
- i360__Payment_Type__c
- i360__Prospect__c
- i360__Sale_ID__c
- i360__Sales_Rep_1__c
- i360__Sales_Rep_2__c
- i360__Sold_Price__c
Related Lists
- i360__Sale_Item__c
- Notes & Attachments
Sale Items (i360__Sale_Item__c)
Fields
- i360__Calculated_Item_Total__c
- i360__Component__c
- i360__Description__c
- i360__Line__c
- i360__Product__c
- i360__Quantity__c
- i360__Sale__c
- i360__Taxable__c
-
i360__Unit_Price__c
Staff (i360__Staff_c)
Fields
- i360__User__c
Learn More
- Salesforce Profiles: https://help.salesforce.com/articleView?id=admin_userprofiles.htm&type=5